22 #include <boost/fusion/mpl.hpp> 35 template<
class T,
long int N,
size_t orig_N,
template<
size_t,
size_t>
class F,
int... args>
42 template<
class T,
size_t orig_N,
template<
size_t,
size_t>
class F,
int... args>
49 template<
class T,
size_t orig_N,
template<
size_t,
size_t>
class F,
int... args>
68 template<
class T,
long int N,
template<
size_t,
size_t>
class F>
81 constexpr
static T
data[
sizeof...(args)] = { args... };
86 template<
class T,
size_t N,
size_t orig_N,
template<
size_t,
size_t>
class F,
unsigned... args>
93 template<
class T,
size_t orig_N,
template<
size_t,
size_t>
class F,
unsigned... args>
119 template<
class T,
size_t N,
template<
size_t,
size_t>
class F>
131 static const T
data[
sizeof...(args)];
135 template<
class T,
unsigned long... args>
136 const T
ArrayHolder<T,args...>::data[
sizeof...(args)] = { args... };
139 template<
class T,
size_t N,
size_t orig_N,
template<
size_t,
size_t>
class F,
unsigned... args>
146 template<
class T,
size_t orig_N,
template<
size_t,
size_t>
class F,
unsigned... args>
170 template<
class T,
size_t N,
template<
size_t,
size_t>
class F>
178 template<
class T,
size_t N ,
class F,
unsigned... args>
185 template<
class T,
class F,
unsigned... args>
207 template<
class T,
class F>
Generate the array specializing ArrayHolder.
recursive meta-function to generate compile-time array
ArrayHolder< T, F< 0, orig_N >::value, args... > result
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
static constexpr T data[sizeof...(args)]
compile-time array
ArrayHolder_constexpr< T, F< 0, orig_N >::value, args... > result
Compile-time array.
generate_array_vector_impl< T, boost::mpl::size< F >::value-1, F >::result result
generate compile-time array vector
ArrayHolder_indexes< T, F< 0, orig_N >::value, args... >::type result
generate the compile-time array
These set of classes generate an array definition at compile-time.
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
ArrayHolder< T, boost::mpl::at< F, boost::mpl::int_< 0 > >::type::value, args... > result
compile-time array generation
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
index_tuple result
empty 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]