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.