2009/8/21 Hicham Mouline <hicham@mouline.org>
Thanks very much.
How about generating
const int elts[] = { other_array[0], .... other_array[N-1] };
Basically I wished to initialize at compile time 1 const array based on
another,
I don't see any metaprogramming that allows this.
#include <iostream>
#include <iterator>
#include <boost/preprocessor.hpp>
#define N 10
int main() {
const int other_array[N] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
const int elts[] = {
#define BOOST_PP_LOCAL_MACRO(I) BOOST_PP_COMMA_IF(I) other_array[I]
#define BOOST_PP_LOCAL_LIMITS (0, N)
#include BOOST_PP_LOCAL_ITERATE()
};
std::copy(elts, elts + N, std::ostream_iterator<int>(std::cout, "\n"));
}
Roman Perepelitsa.