|  | 
| #define | concept(NAME)   concept NAME CPP_CONCEPT_EQUALS_ | 
|  | 
| #define | CPP_and   && | 
|  | 
| #define | CPP_and_sfinae       && CPP_BOOL(CPP_true), int> = 0, std::enable_if_t< | 
|  | INTERNAL ONLY. 
 | 
|  | 
| #define | CPP_and_sfinae_def       && CPP_BOOL(CPP_true), int>, std::enable_if_t< | 
|  | INTERNAL ONLY. 
 | 
|  | 
| #define | CPP_assert(...) | 
|  | 
| #define | CPP_assert_msg   static_assert | 
|  | 
| #define | CPP_auto_fun(X)   X CPP_AUTO_FUN_IMPL_ | 
|  | 
| #define | CPP_AUTO_FUN_DECLTYPE_NOEXCEPT_(...) | 
|  | INTERNAL ONLY.  More... 
 | 
|  | 
| #define | CPP_AUTO_FUN_IMPL_(...)   (__VA_ARGS__) CPP_AUTO_FUN_RETURNS_ | 
|  | INTERNAL ONLY. 
 | 
|  | 
| #define | CPP_AUTO_FUN_RETURNS_(...) | 
|  | INTERNAL ONLY.  More... 
 | 
|  | 
| #define | CPP_AUTO_FUN_RETURNS_CONST_0(...) | 
|  | INTERNAL ONLY.  More... 
 | 
|  | 
| #define | CPP_AUTO_FUN_RETURNS_CONST_1(...)       __VA_ARGS__ CPP_AUTO_FUN_RETURNS_CONST_0 | 
|  | INTERNAL ONLY. 
 | 
|  | 
| #define | CPP_AUTO_FUN_RETURNS_CONST_2(...)       CPP_PP_CAT(CPP_PP_EAT_MUTABLE_, __VA_ARGS__) CPP_AUTO_FUN_RETURNS_CONST_0 | 
|  | INTERNAL ONLY. 
 | 
|  | 
| #define | CPP_AUTO_FUN_RETURNS_return | 
|  | INTERNAL ONLY. 
 | 
|  | 
| #define | CPP_AUTO_FUN_SELECT_RETURNS_(MAYBE_CONST, ...) | 
|  | INTERNAL ONLY.  More... 
 | 
|  | 
| #define | CPP_auto_member | 
|  | 
| #define | CPP_BOOL(...)   __VA_ARGS__ | 
|  | 
| #define | CPP_broken_friend_ret(...)       __VA_ARGS__ CPP_PP_EXPAND | 
|  | INTERNAL ONLY. 
 | 
|  | 
| #define | CPP_concept   META_CONCEPT | 
|  | 
| #define | CPP_CONCEPT_EQUALS_(...)   = | 
|  | 
| #define | CPP_CONCEPT_NAME_(DECL) | 
|  | INTERNAL ONLY.  More... 
 | 
|  | 
| #define | CPP_CONCEPT_PARAMS_(DECL)       CPP_PP_EVAL(CPP_PP_SECOND, CPP_EAT_CONCEPT_(DECL)) | 
|  | INTERNAL ONLY. 
 | 
|  | 
| #define | CPP_concept_ref(NAME, ...)       NAME<__VA_ARGS__> | 
|  | 
| #define | CPP_ctor(TYPE)   TYPE CPP_CTOR_IMPL_1_ | 
|  | 
| #define | CPP_CTOR_IMPL_1_(...)   (__VA_ARGS__) CPP_PP_EXPAND | 
|  | INTERNAL ONLY. 
 | 
|  | 
| #define | CPP_ctor_sfinae(TYPE) | 
|  | INTERNAL ONLY.  More... 
 | 
|  | 
| #define | CPP_CTOR_SFINAE_EAT_NOEXCEPT_noexcept(...) | 
|  | INTERNAL ONLY. 
 | 
|  | 
| #define | CPP_CTOR_SFINAE_IMPL_1_(...) | 
|  | INTERNAL ONLY.  More... 
 | 
|  | 
| #define | CPP_CTOR_SFINAE_MAKE_PROBE(FIRST, ...)       CPP_PP_CAT(CPP_CTOR_SFINAE_PROBE_NOEXCEPT_, FIRST) | 
|  | INTERNAL ONLY. 
 | 
|  | 
| #define | CPP_CTOR_SFINAE_PROBE_NOEXCEPT_noexcept       CPP_PP_PROBE(~) | 
|  | INTERNAL ONLY. 
 | 
|  | 
| #define | CPP_CTOR_SFINAE_REQUIRES(...) | 
|  | INTERNAL ONLY.  More... 
 | 
|  | 
| #define | CPP_CTOR_SFINAE_REQUIRES_0(...) | 
|  | INTERNAL ONLY.  More... 
 | 
|  | 
| #define | CPP_CTOR_SFINAE_REQUIRES_1(...) | 
|  | INTERNAL ONLY.  More... 
 | 
|  | 
| #define | CPP_CTOR_SFINAE_SHOW_NOEXCEPT_noexcept(...) | 
|  | INTERNAL ONLY.  More... 
 | 
|  | 
| #define | CPP_CXX_CONCEPTS   201800L | 
|  | 
| #define | CPP_CXX_VA_OPT   0 | 
|  | 
| #define | CPP_EAT_CONCEPT_(DECL)       CPP_PP_CAT(CPP_EAT_CONCEPT_, DECL) | 
|  | INTERNAL ONLY. 
 | 
|  | 
| #define | CPP_EAT_CONCEPT_concept | 
|  | INTERNAL ONLY. 
 | 
|  | 
| #define | CPP_fun(X)   X CPP_FUN_IMPL_1_ | 
|  | 
| #define | CPP_FUN_IMPL_1_(...) | 
|  | INTERNAL ONLY.  More... 
 | 
|  | 
| #define | CPP_member | 
|  | 
| #define | CPP_member_sfinae       CPP_broken_friend_member | 
|  | INTERNAL ONLY. 
 | 
|  | 
| #define | CPP_NOT(...)   (!(__VA_ARGS__)) | 
|  | 
| #define | CPP_PP_CAT(X, ...)   CPP_PP_CAT_(X, __VA_ARGS__) | 
|  | 
| #define | CPP_PP_CAT_(X, ...)   X ## __VA_ARGS__ | 
|  | 
| #define | CPP_PP_CHECK(...)   CPP_PP_EXPAND(CPP_PP_CHECK_N(__VA_ARGS__, 0,)) | 
|  | 
| #define | CPP_PP_CHECK_N(x,  n, ...)   n | 
|  | 
| #define | CPP_PP_COMMA()   , | 
|  | 
| #define | CPP_PP_COMMA_IIF(X)       CPP_PP_IIF(X)(CPP_PP_EMPTY, CPP_PP_COMMA)() | 
|  | 
| #define | CPP_PP_COUNT(...) | 
|  | 
| #define | CPP_PP_COUNT_( _01,  _02,  _03,  _04,  _05,  _06,  _07,  _08,  _09,  _10,  _11,  _12,  _13,  _14,  _15,  _16,  _17,  _18,  _19,  _20,  _21,  _22,  _23,  _24,  _25,  _26,  _27,  _28,  _29,  _30,  _31,  _32,  _33,  _34,  _35,  _36,  _37,  _38,  _39,  _40,  _41,  _42,  _43,  _44,  _45,  _46,  _47,  _48,  _49,  _50,  N, ...)       N | 
|  | 
| #define | CPP_PP_EAT(...) | 
|  | 
| #define | CPP_PP_EAT_MUTABLE_mutable | 
|  | INTERNAL ONLY. 
 | 
|  | 
| #define | CPP_PP_EMPTY() | 
|  | 
| #define | CPP_PP_EVAL(X, ...)   CPP_PP_EVAL_(X, (__VA_ARGS__)) | 
|  | 
| #define | CPP_PP_EVAL2(X, ...)   CPP_PP_EVAL2_(X, (__VA_ARGS__)) | 
|  | 
| #define | CPP_PP_EVAL2_(X,  ARGS)   X ARGS | 
|  | 
| #define | CPP_PP_EVAL_(X,  ARGS)   X ARGS | 
|  | 
| #define | CPP_PP_EXPAND(...)   __VA_ARGS__ | 
|  | 
| #define | CPP_PP_FIRST(LIST)   CPP_PP_FIRST_ LIST | 
|  | 
| #define | CPP_PP_FIRST_(...)   __VA_ARGS__ CPP_PP_EAT | 
|  | 
| #define | CPP_PP_FOR_EACH(M, ...)       CPP_PP_FOR_EACH_N(CPP_PP_COUNT(__VA_ARGS__), M, __VA_ARGS__) | 
|  | 
| #define | CPP_PP_FOR_EACH_1(M,  _1)       M(_1) | 
|  | 
| #define | CPP_PP_FOR_EACH_2(M,  _1,  _2)       M(_1), M(_2) | 
|  | 
| #define | CPP_PP_FOR_EACH_3(M,  _1,  _2,  _3)       M(_1), M(_2), M(_3) | 
|  | 
| #define | CPP_PP_FOR_EACH_4(M,  _1,  _2,  _3,  _4)       M(_1), M(_2), M(_3), M(_4) | 
|  | 
| #define | CPP_PP_FOR_EACH_5(M,  _1,  _2,  _3,  _4,  _5)       M(_1), M(_2), M(_3), M(_4), M(_5) | 
|  | 
| #define | CPP_PP_FOR_EACH_6(M,  _1,  _2,  _3,  _4,  _5,  _6)       M(_1), M(_2), M(_3), M(_4), M(_5), M(_6) | 
|  | 
| #define | CPP_PP_FOR_EACH_7(M,  _1,  _2,  _3,  _4,  _5,  _6,  _7)       M(_1), M(_2), M(_3), M(_4), M(_5), M(_6), M(_7) | 
|  | 
| #define | CPP_PP_FOR_EACH_8(M,  _1,  _2,  _3,  _4,  _5,  _6,  _7,  _8)       M(_1), M(_2), M(_3), M(_4), M(_5), M(_6), M(_7), M(_8) | 
|  | 
| #define | CPP_PP_FOR_EACH_N(N,  M, ...)       CPP_PP_CAT(CPP_PP_FOR_EACH_, N)(M, __VA_ARGS__) | 
|  | 
| #define | CPP_PP_IGNORE_CXX2A_COMPAT_BEGIN | 
|  | 
| #define | CPP_PP_IGNORE_CXX2A_COMPAT_END | 
|  | 
| #define | CPP_PP_IIF(BIT)   CPP_PP_CAT_(CPP_PP_IIF_, BIT) | 
|  | 
| #define | CPP_PP_IIF_0(TRUE, ...)   __VA_ARGS__ | 
|  | 
| #define | CPP_PP_IIF_1(TRUE, ...)   TRUE | 
|  | 
| #define | CPP_PP_IS_NOT_EMPTY(...) | 
|  | 
| #define | CPP_PP_IS_PAREN(x)   CPP_PP_CHECK(CPP_PP_IS_PAREN_PROBE x) | 
|  | 
| #define | CPP_PP_IS_PAREN_PROBE(...)   CPP_PP_PROBE(~) | 
|  | 
| #define | CPP_PP_LBRACE()   { | 
|  | 
| #define | CPP_PP_LPAREN   ( | 
|  | 
| #define | CPP_PP_NOT(BIT)   CPP_PP_CAT_(CPP_PP_NOT_, BIT) | 
|  | 
| #define | CPP_PP_NOT_0   1 | 
|  | 
| #define | CPP_PP_NOT_1   0 | 
|  | 
| #define | CPP_PP_PROBE(x)   x, 1, | 
|  | 
| #define | CPP_PP_PROBE_CONST_MUTABLE_PROBE_const   CPP_PP_PROBE_N(~, 1) | 
|  | INTERNAL ONLY. 
 | 
|  | 
| #define | CPP_PP_PROBE_CONST_MUTABLE_PROBE_mutable   CPP_PP_PROBE_N(~, 2) | 
|  | INTERNAL ONLY. 
 | 
|  | 
| #define | CPP_PP_PROBE_EMPTY() | 
|  | 
| #define | CPP_PP_PROBE_EMPTY_PROBE_CPP_PP_PROBE_EMPTY       CPP_PP_PROBE(~) | 
|  | 
| #define | CPP_PP_PROBE_N(x,  n)   x, n, | 
|  | 
| #define | CPP_PP_RBRACE()   } | 
|  | 
| #define | CPP_PP_RPAREN   ) | 
|  | 
| #define | CPP_PP_SECOND(LIST)   CPP_PP_SECOND_ LIST | 
|  | 
| #define | CPP_PP_SECOND_(...)   CPP_PP_EXPAND | 
|  | 
| #define | CPP_requires(NAME,  REQS) | 
|  | 
| #define | CPP_REQUIRES_AUX_(...)       { __VA_ARGS__; } | 
|  | INTERNAL ONLY. 
 | 
|  | 
| #define | CPP_requires_ref(NAME, ...)       NAME<__VA_ARGS__> | 
|  | 
| #define | CPP_REQUIRES_requires(...)       requires(__VA_ARGS__) CPP_REQUIRES_AUX_ | 
|  | INTERNAL ONLY. 
 | 
|  | 
| #define | CPP_ret(...)       __VA_ARGS__ CPP_PP_EXPAND | 
|  | 
| #define | CPP_template(...)   template<__VA_ARGS__> CPP_TEMPLATE_EXPAND_ | 
|  | 
| #define | CPP_TEMPLATE_AUX_(...) | 
|  | INTERNAL ONLY.  More... 
 | 
|  | 
| #define | CPP_TEMPLATE_AUX_0(...)   __VA_ARGS__ | 
|  | INTERNAL ONLY. 
 | 
|  | 
| #define | CPP_TEMPLATE_AUX_1(DECL, ...)       CPP_concept CPP_CONCEPT_NAME_(DECL) = __VA_ARGS__ | 
|  | INTERNAL ONLY. 
 | 
|  | 
| #define | CPP_TEMPLATE_AUX_WHICH_(FIRST, ...) | 
|  | INTERNAL ONLY.  More... 
 | 
|  | 
| #define | CPP_template_def   CPP_template | 
|  | 
| #define | CPP_template_def_sfinae(...)       template<__VA_ARGS__ CPP_TEMPLATE_DEF_SFINAE_AUX_ | 
|  | INTERNAL ONLY. 
 | 
|  | 
| #define | CPP_TEMPLATE_DEF_SFINAE_AUX_(...) | 
|  | INTERNAL ONLY.  More... 
 | 
|  | 
| #define | CPP_TEMPLATE_EXPAND_(X,  Y)   X Y | 
|  | 
| #define | CPP_TEMPLATE_PROBE_CONCEPT_concept       CPP_PP_PROBE(~) | 
|  | INTERNAL ONLY. 
 | 
|  | 
| #define | CPP_template_sfinae(...) | 
|  | 
| #define | CPP_TEMPLATE_SFINAE_AUX_(...) | 
|  | INTERNAL ONLY.  More... 
 | 
|  | 
| #define | CPP_TEMPLATE_SFINAE_AUX_0(...) | 
|  | INTERNAL ONLY.  More... 
 | 
|  | 
| #define | CPP_TEMPLATE_SFINAE_AUX_1(DECL, ...) | 
|  | INTERNAL ONLY.  More... 
 | 
|  | 
| #define | CPP_TEMPLATE_SFINAE_AUX_3_requires | 
|  | INTERNAL ONLY. 
 | 
|  | 
| #define | CPP_TEMPLATE_SFINAE_AUX_WHICH_(FIRST, ...) | 
|  | INTERNAL ONLY.  More... 
 | 
|  | 
| #define | CPP_TEMPLATE_SFINAE_PROBE_CONCEPT_concept       CPP_PP_PROBE(~) | 
|  | INTERNAL ONLY. 
 | 
|  | 
| #define | CPP_TRUE_FN   CPP_true_fn(::concepts::detail::xNil{}) | 
|  |