25 #define C90_KEYWORDS \
26 "auto", "break", "case", "char", "const", "continue", "default", \
27 "do", "double", "else", "enum", "extern", "float", "for", "goto", "if", "int", "long", \
28 "register", "return", "short", "signed", "sizeof", "static", "struct", "switch", "typedef", \
29 "union", "unsigned", "void", "volatile", "while"
31 #define C99_KEYWORDS \
32 "inline", "restrict", "_Bool", "_Complex", "_Imaginary"
34 #define C11_KEYWORDS \
35 "_Alignas", "_Alignof", "_Atomic", "_Generic", "_Noreturn", "_Static_assert", "_Thread_local"
38 #pragma clang diagnostic push
39 #pragma clang diagnostic ignored "-Wunused-macros"
42 #define C23_KEYWORDS \
43 "alignas", "alignof", "bool", "constexpr", "false", "nullptr", "static_assert", "thread_local", "true", "typeof", "typeof_unqual", \
44 "_BitInt", "_Decimal128", "_Decimal32", "_Decimal64"
47 #pragma clang diagnostic pop
82 #define CPP03_KEYWORDS \
83 "and", "and_eq", "asm", "auto", "bitand", "bitor", "bool", "break", "case", "catch", "char", \
84 "class", "compl", "const", "const_cast", "continue", "default", \
85 "delete", "do", "double", "dynamic_cast", "else", "enum", "explicit", "export", "extern", "false", \
86 "float", "for", "friend", "goto", "if", "inline", "int", "long", \
87 "mutable", "namespace", "new", "not", "not_eq", "operator", \
88 "or", "or_eq", "private", "protected", "public", "register", "reinterpret_cast", \
89 "return", "short", "signed", "sizeof", "static", \
90 "static_cast", "struct", "switch", "template", "this", "throw", \
91 "true", "try", "typedef", "typeid", "typename", "union", "unsigned", "using", \
92 "virtual", "void", "volatile", "wchar_t", "while", "xor", "xor_eq"
94 #define CPP11_KEYWORDS \
95 "alignas", "alignof", "char16_t", "char32_t", "constexpr", "decltype", \
96 "noexcept", "nullptr", "static_assert", "thread_local"
98 #define CPP20_KEYWORDS \
99 "char8_t", "concept", "consteval", "constinit", "co_await", \
100 "co_return", "co_yield", "requires"
103 #pragma clang diagnostic push
104 #pragma clang diagnostic ignored "-Wunused-macros"
107 #define CPP_TMTS_KEYWORDS \
108 "atomic_cancel", "atomic_commit", "atomic_noexcept", "synchronized"
110 #define CPP_REFL_TS_KEYWORDS \
114 #pragma clang diagnostic pop
156 case Standards::cstd_t::C89:
158 case Standards::cstd_t::C99:
160 case Standards::cstd_t::C11:
161 case Standards::cstd_t::C17:
163 case Standards::cstd_t::C23:
173 case Standards::cppstd_t::CPP03:
175 case Standards::cppstd_t::CPP11:
177 case Standards::cppstd_t::CPP14:
179 case Standards::cppstd_t::CPP17:
181 case Standards::cppstd_t::CPP20:
183 case Standards::cppstd_t::CPP23:
194 case Standards::cstd_t::C89:
196 case Standards::cstd_t::C99:
198 case Standards::cstd_t::C11:
199 case Standards::cstd_t::C17:
201 case Standards::cstd_t::C23:
212 case Standards::cppstd_t::CPP03:
214 case Standards::cppstd_t::CPP11:
216 case Standards::cppstd_t::CPP14:
218 case Standards::cppstd_t::CPP17:
220 case Standards::cppstd_t::CPP20:
222 case Standards::cppstd_t::CPP23:
static const std::unordered_set< std::string > & getAll(Standards::cstd_t cStd)
static const std::unordered_set< std::string > & getOnly(Standards::cstd_t cStd)
static const std::unordered_set< std::string > c99_keywords_all
static const std::unordered_set< std::string > cpp20_keywords_all
static const std::unordered_set< std::string > cpp03_keywords
static const std::unordered_set< std::string > c23_keywords_all
static const std::unordered_set< std::string > cpp20_keywords
static const std::unordered_set< std::string > cpp03_keywords_all
static const std::unordered_set< std::string > cpp14_keywords_all
static const std::unordered_set< std::string > c23_keywords
static const std::unordered_set< std::string > c89_keywords
static const std::unordered_set< std::string > cpp11_keywords
static const std::unordered_set< std::string > cpp23_keywords_all
static const std::unordered_set< std::string > cpp17_keywords_all
static const std::unordered_set< std::string > cpp11_keywords_all
static const std::unordered_set< std::string > cpp23_keywords
static const std::unordered_set< std::string > cpp14_keywords
static const std::unordered_set< std::string > c99_keywords
static const std::unordered_set< std::string > c11_keywords
static const std::unordered_set< std::string > c11_keywords_all
static const std::unordered_set< std::string > c89_keywords_all
static const std::unordered_set< std::string > cpp17_keywords
NORETURN void unreachable()
cppstd_t
C++ code standard.