1 #include <set> 2 3 static const std::set<std::string> reserved_names = { 4 // c++ keywords taken from https://en.cppreference.com/w/cpp/keyword 5 "alignas", 6 "alignof", 7 "and", 8 "and_eq", 9 "asm", 10 "atomic_cancel", 11 "atomic_commit", 12 "atomic_noexcept", 13 "auto", 14 "bitand", 15 "bitor", 16 "bool", 17 "break", 18 "case", 19 "catch", 20 "char", 21 "char8_t", 22 "char16_t", 23 "char32_t", 24 "class", 25 "compl", 26 "concept", 27 "const", 28 "consteval", 29 "constexpr", 30 "constinit", 31 "const_cast", 32 "continue", 33 "co_await", 34 "co_return", 35 "co_yield", 36 "decltype", 37 "default", 38 "delete", 39 "do", 40 "double", 41 "dynamic_cast", 42 "else", 43 "enum", 44 "explicit", 45 "export", 46 "extern", 47 "false", 48 "float", 49 "for", 50 "friend", 51 "goto", 52 "if", 53 "inline", 54 "int", 55 "long", 56 "mutable", 57 "namespace", 58 "new", 59 "noexcept", 60 "not", 61 "not_eq", 62 "nullptr", 63 "operator", 64 "or", 65 "or_eq", 66 "private", 67 "protected", 68 "public", 69 "reflexpr", 70 "register", 71 "reinterpret_cast", 72 "requires", 73 "return", 74 "short", 75 "signed", 76 "sizeof", 77 "static", 78 "static_assert", 79 "static_cast", 80 "struct", 81 "switch", 82 "synchronized", 83 "template", 84 "this", 85 "thread_local", 86 "throw", 87 "true", 88 "try", 89 "typedef", 90 "typeid", 91 "typename", 92 "union", 93 "unsigned", 94 "using", 95 "virtual", 96 "void", 97 "volatile", 98 "wchar_t", 99 "while", 100 "xor", 101 "xor_eq", 102 // common defines 103 "NULL" 104 }; 105