Existe-t-il un moyen de mapper des valeurs enum à des types en C++, y compris C++ 11.
J'ai le type ENUM suivant:Mappage d'une valeur enum à un type en C++
enum ATTRIBUTE{AGE=0, MENOPAUSE, TUMOR_SIZE, INV_NODES, NODE_CAPS,
DEG_MALIG, BREAST, BREAST_QUAD, IRRADIAT, CLASS};
Je veux associer chaque valeur de cette ENUM à un certain type. Je veux mapper AGE
à int
, MENOPAUSE
à un autre type enum, BREAST
à bool et ainsi de suite.
Donc est-il possible de créer une fonction qui renvoie une valeur de type qui dépend de la valeur de la variable attr?
//Like that:
auto value = map_attr(ATTRIBUTE attr);
//Here the type of the value variable should be int if the attr variable is AGE, bool for BREAST and so on.
Je sens un (http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem) [XY problème]. Qu'est-ce que vous essayez de résoudre avec ça? – StoryTeller
Essayez 'boost :: mpl :: map' – Nim
Cette réponse se fait dans l'autre sens: http://stackoverflow.com/questions/4995378/c-template-for-mapping-struct-type-to-enum – Nim