fork download
  1. #include <iostream>
  2. #include <string>
  3. #include <vector>
  4.  
  5.  
  6. struct in
  7. {
  8. std::vector<std::string> vec_str;
  9. void add_strings(){}
  10.  
  11. template<typename T, typename... Args>
  12. void add_strings(T value, Args... args) {
  13. vec_str.push_back(value);
  14. add_strings(args...);
  15. }
  16.  
  17. template<typename... Args>
  18. in(Args... args) {
  19. add_strings(args...);
  20. }
  21. };
  22.  
  23. bool operator==(std::string const& str, in const& val) {
  24. for(auto &i : val.vec_str) {
  25. if(i == str)
  26. return true;
  27. }
  28. return false;
  29. }
  30. // -----------------------------------------------------
  31.  
  32. int main(void)
  33. {
  34. std::string lang, country = "GB";
  35.  
  36. if (country == in ("US","GB","AU")) {
  37. lang="en";
  38. }
  39.  
  40. std::cout << "lang = " << lang << std::endl;
  41.  
  42. return 0;
  43. }
  44.  
Success #stdin #stdout 0s 3460KB
stdin
Standard input is empty
stdout
lang = en