fork(3) download
  1.  
  2. #include <iostream>
  3.  
  4. #define X_STATE_LIST \
  5.   X(Connected)\
  6.   X(Disconnected)\
  7.   X(Error)
  8.  
  9. #define X(name) name,
  10. enum State {
  11. X_STATE_LIST
  12. };
  13. #undef X
  14.  
  15.  
  16. const char* str(State s) {
  17. #define X(name) case(name): return #name;
  18. switch(s) {
  19. X_STATE_LIST
  20. default: return "Unknown";
  21. }
  22. #undef X
  23. }
  24.  
  25. int main() {
  26. State s = Error;
  27. std::cout << str(s) << "\n";
  28. }
  29.  
Success #stdin #stdout 0s 16064KB
stdin
Standard input is empty
stdout
Error