One can define a static array at compile time as follows:
const std::size_t size = 5;
unsigned int list[size] = { 1, 2, 3, 4, 5 };
Question 1 - Is it possible by using various kinds of metaprogramming techniques to assign these values "programmatically" at compile time?
Question 2 - Assuming all the values in the array are to be the same barr a few, is it possible to selectively assign values at compile time in a programmatic manner?
eg:
const std::size_t size = 7;
unsigned int list[size] = { 0, 0, 2, 3, 0, 0, 0 };
Solutions using C++0x are welcome
The array may be quite large, few
hundred elements long
The array for now will only consist of
POD types
It can also be assumed the size of
the array will be known beforehand,
in a static compile-time compliant
manner.
Solutions must be in C++ (no script
or codegen based solutions)