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