J'ai deux programmes C++ qui doivent avoir une carte type -> int
connue au moment de la compilation et égale entre les deux programmes. De plus, je voudrais m'assurer automatiquement au moment de la compilation que la carte est en tête-à-tête. Comment résoudriez-vous cela? (Les extensions C++ 0x sont autorisées). La première partie est facile: Partager untype de mappage int
template < typename T > struct map;
template <> struct map <...> { enum { val = ...; }; };
entre les programmes. (La deuxième partie signifie que je ne veux pas définir accidentellement le même val
pour deux types différents quelque part dans mes programmes.)
Puis-je demander à quoi sert cette cartographie? – sellibitze
duplication possible de [Type de conversion du métaprogramme modèle en numéro unique] (http://stackoverflow.com/questions/1708458/template-metaprogram-converting-type-to-unique-number) – kennytm
La carte sera utilisée pour communiquer des données arbitraires entre un expéditeur et un programme récepteur (c'est aussi pourquoi cette question n'est pas un doublon - cela implique deux programmes qui doivent partager la même carte). – Thomas