21 #include <boost/fusion/mpl.hpp>
29 static constexpr T data[
sizeof...(args)] = { args... };
33 template<
class T,
size_t N,
size_t orig_N,
template<
size_t,
size_t>
class F,
unsigned... args>
39 template<
class T,
size_t orig_N,
template<
size_t,
size_t>
class F,
unsigned... args>
64 template<
class T,
size_t N,
template<
size_t,
size_t>
class F>
75 static const T
data[
sizeof...(args)];
79 template<
class T,
unsigned long... args>
80 const T
ArrayHolder<T,args...>::data[
sizeof...(args)] = { args... };
83 template<
class T,
size_t N,
size_t orig_N,
template<
size_t,
size_t>
class F,
unsigned... args>
89 template<
class T,
size_t orig_N,
template<
size_t,
size_t>
class F,
unsigned... args>
112 template<
class T,
size_t N,
template<
size_t,
size_t>
class F>
120 template<
class T,
size_t N ,
class F,
unsigned... args>
122 typedef typename generate_array_vector_impl<T,N-1,
F, boost::mpl::at<F,boost::mpl::int_<N> >::type::value , args...>::result result;
126 template<
class T,
class F,
unsigned... args>
147 template<
class T,
class F>
Generate the array specializing ArrayHolder.
These set of classes generate an array definition at compile-time.
Main class to generate compile-time 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.
static const T data[sizeof...(args)]
initialize the array from variadic template
[v_transform metafunction]