How do we have a list/array of constant pair values at compile time so it would be passed as two arguments of function invoked repeatedly as many times as the array size ?
the problem arises from restricted enum can have only one value for each member
I think what abdul wants is an associative data structure that is forced to be computed (or at least generated?) at compile-time, in a meta-programming-esque way.
e.g. you could have my_map[3] and it would be determined to be "apple" at compile-time.
I assume something like this is possible, but might require template metaprogramming.