сопоставление типа с int

У меня есть две программы на C ++, которые должны иметь карту type -> int , которая известна во время компиляции и одинакова для двух программ. Кроме того, я хотел бы автоматически убедиться во время компиляции, что карта взаимно однозначна. Как бы вы это решили? (c ++ 0x-расширения разрешены). Первая часть проста: разделите

template < typename T > struct map;
template <> struct map <...> { enum { val = ...; }; };

между программами. (Вторая часть означает, что я не хочу случайно определять один и тот же val для двух разных типов где-нибудь в моих программах.)

5
задан Johannes Schaub - litb 2 October 2011 в 10:28
поделиться