fork download
  1. #include <iostream>
  2. #include <string>
  3. #include <map>
  4. using namespace std;
  5.  
  6. #define ADD_ENUM_TO_MAP(m,x) m[#x]=x
  7.  
  8. enum MyEnumType {
  9. quick, brown, fox, jumps, over, the, lazy, dog
  10. };
  11.  
  12. int main() {
  13. map<string,MyEnumType> nameToEnum;
  14. ADD_ENUM_TO_MAP(nameToEnum, quick);
  15. ADD_ENUM_TO_MAP(nameToEnum, brown);
  16. ADD_ENUM_TO_MAP(nameToEnum, fox);
  17. ADD_ENUM_TO_MAP(nameToEnum, jumps);
  18. ADD_ENUM_TO_MAP(nameToEnum, over);
  19. ADD_ENUM_TO_MAP(nameToEnum, the);
  20. ADD_ENUM_TO_MAP(nameToEnum, lazy);
  21. ADD_ENUM_TO_MAP(nameToEnum, dog);
  22. cout << nameToEnum["fox"] << endl;
  23. return 0;
  24. }
Success #stdin #stdout 0s 3432KB
stdin
Standard input is empty
stdout
2