8 #ifndef T_TO_MEMORY_C_HPP_
9 #define T_TO_MEMORY_C_HPP_
11 #include <boost/mpl/int.hpp>
12 #include <memory_ly/memory_c.hpp>
32 #include <boost/type_traits/remove_reference.hpp>
33 #include <boost/type_traits/remove_const.hpp>
40 typedef typename boost::remove_const <typename boost::remove_reference< T >::type >::type type;
51 template<
typename T,
size_t N1>
58 template<
typename T,
size_t N1,
size_t N2>
62 boost::mpl::int_<N2>>>>
type;
67 template<
typename T,
size_t N1,
size_t N2,
size_t N3>
72 boost::mpl::int_<N3>>>>
type;
76 template<
typename T,
size_t N1,
size_t N2,
size_t N3,
size_t N4>
82 boost::mpl::int_<N4>>>>
type;
86 template<
typename T,
size_t N1,
size_t N2,
size_t N3,
size_t N4,
size_t N5>
93 boost::mpl::int_<N5>>>>
type;
97 template<
typename T,
size_t N1,
size_t N2,
size_t N3,
size_t N4,
size_t N5,
size_t N6>
101 boost::mpl::int_<N2>,
102 boost::mpl::int_<N3>,
103 boost::mpl::int_<N4>,
104 boost::mpl::int_<N5>,
105 boost::mpl::int_<N6>>>>
type;
109 template<
typename T,
size_t N1,
size_t N2,
size_t N3,
size_t N4,
size_t N5,
size_t N6,
size_t N7>
113 boost::mpl::int_<N2>,
114 boost::mpl::int_<N3>,
115 boost::mpl::int_<N4>,
116 boost::mpl::int_<N5>,
117 boost::mpl::int_<N6>,
118 boost::mpl::int_<N7>>>>
type;
122 template<
typename T,
size_t N1,
size_t N2,
size_t N3,
size_t N4,
size_t N5,
size_t N6,
size_t N7,
size_t N8>
126 boost::mpl::int_<N2>,
127 boost::mpl::int_<N3>,
128 boost::mpl::int_<N4>,
129 boost::mpl::int_<N5>,
130 boost::mpl::int_<N6>,
131 boost::mpl::int_<N7>,
132 boost::mpl::int_<N8>>>>
type;
136 template<
typename T,
size_t N1,
size_t N2,
size_t N3,
size_t N4,
size_t N5,
size_t N6,
size_t N7,
size_t N8,
size_t N9>
140 boost::mpl::int_<N2>,
141 boost::mpl::int_<N3>,
142 boost::mpl::int_<N4>,
143 boost::mpl::int_<N5>,
144 boost::mpl::int_<N6>,
145 boost::mpl::int_<N7>,
146 boost::mpl::int_<N8>,
147 boost::mpl::int_<N9>>>>
type;
151 template<
typename T,
size_t N1,
size_t N2,
size_t N3,
size_t N4,
size_t N5,
size_t N6,
size_t N7,
size_t N8,
size_t N9,
size_t N10>
155 boost::mpl::int_<N2>,
156 boost::mpl::int_<N3>,
157 boost::mpl::int_<N4>,
158 boost::mpl::int_<N5>,
159 boost::mpl::int_<N6>,
160 boost::mpl::int_<N7>,
161 boost::mpl::int_<N8>,
162 boost::mpl::int_<N9>,
163 boost::mpl::int_<N10>>>>
type;
t_to_memory_c is a metafunction that given T it convert it into
Meta-function t_to_memory_c.
This class is a container for the memory interface like HeapMemory CudaMemory.
Partial specialization for scalar N=0.