|
#define | CPP_arg(ARG) CPP_arg_2 ARG |
|
#define | CPP_arg_2(...) __VA_ARGS__ |
|
#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_(...) |
|
#define | CPP_AUTO_FUN_IMPL_(...) (__VA_ARGS__) CPP_AUTO_FUN_RETURNS_ |
|
#define | CPP_AUTO_FUN_RETURNS_(...) CPP_AUTO_FUN_SELECT_RETURNS_(__VA_ARGS__,)(__VA_ARGS__) \ |
|
#define | CPP_AUTO_FUN_RETURNS_CONST_0(...) |
|
#define | CPP_AUTO_FUN_RETURNS_CONST_1(...) __VA_ARGS__ CPP_AUTO_FUN_RETURNS_CONST_0 \ |
|
#define | CPP_AUTO_FUN_RETURNS_CONST_2(...) CPP_PP_CAT(CPP_PP_EAT_MUTABLE_, __VA_ARGS__) CPP_AUTO_FUN_RETURNS_CONST_0 |
|
#define | CPP_AUTO_FUN_RETURNS_return |
|
#define | CPP_AUTO_FUN_SELECT_RETURNS_(MAYBE_CONST, ...) |
|
#define | CPP_broken_friend_ret(...) __VA_ARGS__ CPP_PP_EXPAND \ |
|
#define | CPP_concept META_CONCEPT |
|
#define | CPP_concept_bool META_CONCEPT |
|
#define | CPP_concept_fragment(NAME, ARGS, ...) META_CONCEPT NAME = __VA_ARGS__ |
|
#define | CPP_ctor(TYPE) TYPE CPP_CTOR_IMPL_1_ |
|
#define | CPP_CTOR_IMPL_1_(...) (__VA_ARGS__) CPP_PP_EXPAND \ |
|
#define | CPP_ctor_sfinae(TYPE) |
|
#define | CPP_CTOR_SFINAE_EAT_NOEXCEPT_noexcept(...) |
|
#define | CPP_CTOR_SFINAE_IMPL_1_(...) |
|
#define | CPP_CTOR_SFINAE_MAKE_PROBE(FIRST, ...) CPP_PP_CAT(CPP_CTOR_SFINAE_PROBE_NOEXCEPT_, FIRST) \ |
|
#define | CPP_CTOR_SFINAE_PROBE_NOEXCEPT_noexcept CPP_PP_PROBE(~) \ |
|
#define | CPP_CTOR_SFINAE_REQUIRES(...) |
|
#define | CPP_CTOR_SFINAE_REQUIRES_0(...) |
|
#define | CPP_CTOR_SFINAE_REQUIRES_1(...) |
|
#define | CPP_CTOR_SFINAE_SHOW_NOEXCEPT_noexcept(...) |
|
#define | CPP_CXX_CONCEPTS 201800L |
|
#define | CPP_CXX_VA_OPT 0 |
|
#define | CPP_defer(CONCEPT, ...) CONCEPT<__VA_ARGS__> |
|
#define | CPP_defer_(CONCEPT, ...) CONCEPT<__VA_ARGS__> |
|
#define | CPP_FORCE_TO_BOOL |
|
#define | CPP_fragment(NAME, ...) NAME<__VA_ARGS__> |
|
#define | CPP_fun(X) X CPP_FUN_IMPL_1_ |
|
#define | CPP_FUN_IMPL_1_(...) |
|
#define | CPP_fwd(ARG) ((decltype(ARG)&&) ARG) |
|
#define | CPP_INSTANCE(...) __VA_ARGS__ |
|
#define | CPP_literal(...) __VA_ARGS__ |
|
#define | CPP_member |
|
#define | CPP_member_sfinae CPP_broken_friend_member \ |
|
#define | CPP_name_of(...) CPP_PP_EAT __VA_ARGS__ |
|
#define | CPP_param(...) auto&& CPP_name_of(__VA_ARGS__) |
|
#define | CPP_PP_CAT(X, ...) CPP_PP_CAT_(X, __VA_ARGS__) |
|
#define | CPP_PP_CAT2(X, ...) CPP_PP_CAT2_(X, __VA_ARGS__) |
|
#define | CPP_PP_CAT2_(X, ...) X ## __VA_ARGS__ |
|
#define | CPP_PP_CAT_(X, ...) X ## __VA_ARGS__ |
|
#define | CPP_PP_CHECK(...) 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_( _1, _2, _3, _4, _5, _6, _7, _8, _9, _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 |
|
#define | CPP_PP_EMPTY() |
|
#define | CPP_PP_EVAL(X, ...) X(__VA_ARGS__) |
|
#define | CPP_PP_EVAL2(X, ...) X(__VA_ARGS__) |
|
#define | CPP_PP_EXPAND(...) __VA_ARGS__ |
|
#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) |
|
#define | CPP_PP_PROBE_CONST_MUTABLE_PROBE_mutable CPP_PP_PROBE_N(~, 2) |
|
#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_requires(...) CPP_requires_n(CPP_PP_COUNT(__VA_ARGS__), __VA_ARGS__) |
|
#define | CPP_requires_(...) CPP_requires_n_(CPP_PP_COUNT(__VA_ARGS__), __VA_ARGS__) |
|
#define | CPP_requires_n(N, ...) |
|
#define | CPP_requires_n_ CPP_requires_n |
|
#define | CPP_ret(...) __VA_ARGS__ CPP_PP_EXPAND \ |
|
#define | CPP_template(...) template<__VA_ARGS__> CPP_PP_EXPAND \ |
|
#define | CPP_template_def CPP_template \ |
|
#define | CPP_template_def_sfinae(...) template<__VA_ARGS__ CPP_TEMPLATE_DEF_SFINAE_AUX_ \ |
|
#define | CPP_TEMPLATE_DEF_SFINAE_AUX_(...) |
|
#define | CPP_template_sfinae(...) template<__VA_ARGS__ CPP_TEMPLATE_SFINAE_AUX_ \ |
|
#define | CPP_TEMPLATE_SFINAE_AUX_(...) |
|
#define | CPP_TEMPLATE_SFINAE_AUX_3_requires |
|
#define | CPP_type(...) __VA_ARGS__ |
|
#define | CPP_type_of(...) CPP_PP_EXPAND(CPP_type_of_2 __VA_ARGS__)) |
|
#define | CPP_type_of_2(...) __VA_ARGS__ CPP_PP_EAT CPP_PP_LPAREN |
|
#define | CPP_valid_expressions |
|
|
template<bool... Bs> |
constexpr bool | concepts::and_v |
|
template<typename T , typename U > |
concept | concepts::defs::assignable_from |
|
template<typename T , typename U > |
concept | concepts::defs::defer::assignable_from |
|
template<typename T , typename U > |
concept | concepts::defs::common_reference_with |
|
template<typename T , typename U > |
concept | concepts::defs::defer::common_reference_with |
|
template<typename T , typename U > |
concept | concepts::defs::common_reference_with_ = same_as<common_reference_t<T, U>, common_reference_t<U, T>> && convertible_to<T, common_reference_t<T, U>> && convertible_to<U, common_reference_t<T, U>> |
|
template<typename T , typename U > |
concept | concepts::defs::common_with |
|
template<typename T , typename U > |
concept | concepts::defs::defer::common_with |
|
template<typename T , typename U > |
concept | concepts::defs::common_with_ = same_as<common_type_t<T, U>, common_type_t<U, T>> && convertible_to<T, common_type_t<T, U>> && convertible_to<U, common_type_t<T, U>> && common_reference_with< std::add_lvalue_reference_t<T const>, std::add_lvalue_reference_t<U const>> && common_reference_with< std::add_lvalue_reference_t<common_type_t<T, U>>, common_reference_t< std::add_lvalue_reference_t<T const>, std::add_lvalue_reference_t<U const>>> |
|
template<typename T , typename... Args> |
concept | concepts::defs::constructible_from |
|
template<typename T , typename... Args> |
concept | concepts::defs::defer::constructible_from |
|
template<typename From , typename To > |
concept | concepts::defs::convertible_to |
|
template<typename From , typename To > |
concept | concepts::defs::defer::convertible_to |
|
template<typename T > |
concept | concepts::defs::copy_constructible |
|
template<typename T > |
concept | concepts::defs::defer::copy_constructible |
|
template<typename T > |
concept | concepts::defs::copyable |
|
template<typename T > |
concept | concepts::defs::defer::copyable |
|
template<typename T > |
concept | concepts::defs::default_constructible |
|
template<typename T > |
concept | concepts::defs::defer::default_constructible |
|
template<typename T , typename U > |
concept | concepts::defs::derived_from |
|
template<typename T , typename U > |
concept | concepts::defs::defer::derived_from |
|
template<typename T , typename U > |
concept | concepts::defs::derived_from_ = convertible_to<T const volatile *, U const volatile *> |
|
template<typename T > |
concept | concepts::defs::destructible |
|
template<typename T > |
concept | concepts::defs::defer::destructible |
|
template<typename T > |
concept | concepts::defs::equality_comparable |
|
template<typename T > |
concept | concepts::defs::defer::equality_comparable |
|
template<typename T , typename U > |
concept | concepts::defs::equality_comparable_with |
|
template<typename T , typename U > |
concept | concepts::defs::defer::equality_comparable_with |
|
template<typename T , typename U > |
concept | concepts::defs::equality_comparable_with_ = equality_comparable< common_reference_t<detail::as_cref_t<T>, detail::as_cref_t<U>>> |
|
template<typename T > |
constexpr T | concepts::detail::instance_ = T{} |
|
template<typename T > |
concept | concepts::defs::integral |
|
template<typename T > |
concept | concepts::defs::defer::integral |
|
template<bool B> |
concept | concepts::defs::is_true = B |
|
template<bool B> |
concept | concepts::defs::defer::is_true |
|
template<typename T > |
concept | concepts::defs::movable |
|
template<typename T > |
concept | concepts::defs::defer::movable |
|
template<typename T > |
concept | concepts::defs::move_constructible |
|
template<typename T > |
concept | concepts::defs::defer::move_constructible |
|
template<bool... Bs> |
constexpr bool | concepts::or_v |
|
template<typename T > |
concept | concepts::defs::regular |
|
template<typename T > |
concept | concepts::defs::defer::regular |
|
template<bool B> |
constexpr std::enable_if_t< B, int > | concepts::requires_ = 0 |
|
template<typename A , typename B > |
concept | concepts::defs::same_as |
|
template<typename A , typename B > |
concept | concepts::defs::defer::same_as |
|
template<class T , template< typename... > class Trait, typename... Args> |
concept | concepts::defs::satisfies |
|
template<class T , template< typename... > class Trait, typename... Args> |
concept | concepts::defs::defer::satisfies |
|
template<typename T > |
concept | concepts::defs::semiregular |
|
template<typename T > |
concept | concepts::defs::defer::semiregular |
|
template<typename T > |
concept | concepts::defs::signed_integral |
|
template<typename T > |
concept | concepts::defs::defer::signed_integral |
|
template<typename T > |
concept | concepts::defs::swappable |
|
template<typename T > |
concept | concepts::defs::defer::swappable |
|
template<typename T , typename U > |
concept | concepts::defs::swappable_with |
|
template<typename T , typename U > |
concept | concepts::defs::defer::swappable_with |
|
template<typename T > |
concept | concepts::defs::totally_ordered |
|
template<typename T > |
concept | concepts::defs::defer::totally_ordered |
|
template<typename T , typename U > |
concept | concepts::defs::totally_ordered_with |
|
template<typename T , typename U > |
concept | concepts::defs::defer::totally_ordered_with |
|
template<typename T , typename U > |
concept | concepts::defs::totally_ordered_with_ = totally_ordered< common_reference_t<detail::as_cref_t<T>, detail::as_cref_t<U>>> |
|
template<typename... Args> |
concept | concepts::defs::type = true |
|
template<typename... Ts> |
concept | concepts::defs::defer::type |
|
template<typename T > |
concept | concepts::defs::unsigned_integral |
|
template<typename T > |
concept | concepts::defs::defer::unsigned_integral |
|
template<typename T , typename U > |
concept | concepts::detail::weakly_equality_comparable_with_ |
|