21 #include <boost/fusion/mpl.hpp>
34 template<
class T,
long int N,
size_t orig_N,
template<
size_t,
size_t>
class F,
int... args>
41 template<
class T,
size_t orig_N,
template<
size_t,
size_t>
class F,
int... args>
48 template<
class T,
size_t orig_N,
template<
size_t,
size_t>
class F,
int... args>
67 template<
class T,
long int N,
template<
size_t,
size_t>
class F>
80 static constexpr T
data[
sizeof...(args)] = { args... };
84 template<
class T,
size_t N,
size_t orig_N,
template<
size_t,
size_t>
class F,
unsigned... args>
91 template<
class T,
size_t orig_N,
template<
size_t,
size_t>
class F,
unsigned... args>
117 template<
class T,
size_t N,
template<
size_t,
size_t>
class F>
129 static const T
data[
sizeof...(args)];
133 template<
class T,
unsigned long... args>
134 const T
ArrayHolder<T,args...>::data[
sizeof...(args)] = { args... };
137 template<
class T,
size_t N,
size_t orig_N,
template<
size_t,
size_t>
class F,
unsigned... args>
144 template<
class T,
size_t orig_N,
template<
size_t,
size_t>
class F,
unsigned... args>
168 template<
class T,
size_t N,
template<
size_t,
size_t>
class F>
176 template<
class T,
size_t N ,
class F,
unsigned... args>
183 template<
class T,
class F,
unsigned... args>
205 template<
class T,
class F>
Generate the array specializing ArrayHolder.
recursive meta-function to generate compile-time array
Main class to generate compile-time array.
generate_array_constexpr_impl< T, N-1, N, F >::result result
meta-function to generate compile time array
index_tuple< args... > type
convert variadic into a tuple struct containing the list
generate_indexes_impl< T, N-1, N, F >::result result
generate compile time array
generate compile time index array
Main class to generate an array from a boost::mpl::vector of numbers.
Generate the array specializing ArrayHolder.
Main class to generate constexpr compile-time array.
generate_indexes_impl< T, N-1, orig_N, F, F< N, orig_N >::value, args...>::result result
Metafunction to generate indexes.
static const T data[sizeof...(args)]
initialize the array from variadic template
ArrayHolder< T, F< 0, orig_N >::value, args...> result
compile-time array
static constexpr T data[sizeof...(args)]
compile-time array
index_tuple result
empty array
generate_array_vector_impl< T, boost::mpl::size< F >::value-1, F >::result result
generate compile-time array vector
These set of classes generate an array definition at compile-time.
ArrayHolder< T, boost::mpl::at< F, boost::mpl::int_< 1 > >::type::value, args...> result
compile-time array generation
generate_array_impl< T, N-1, orig_N, F, F< N, orig_N >::value, args...>::result result
recursive meta-function to generate compile-time array
generate_array_vector_impl< T, N-1, F, boost::mpl::at< F, boost::mpl::int_< N > >::type::value, args...>::result result
recursive meta-function to generate compile-time array
ArrayHolder_indexes< T, F< 0, orig_N >::value, args...>::type result
generate the compile-time array
ArrayHolder_constexpr< T, F< 0, orig_N >::value, args...> result
Compile-time array.
Main class to generate indexes data structure.
generate_array_constexpr_impl< T, N-1, orig_N, F, F< N, orig_N >::value, args...>::result result
recursive meta-function to generate compile-time array
[v_transform metafunction]