|
|
#define | CPP_PP_IGNORE_CXX2A_COMPAT_BEGIN |
|
#define | CPP_PP_IGNORE_CXX2A_COMPAT_END |
|
#define | CPP_CXX_CONCEPTS 0L |
| #define | CPP_PP_CAT_(X, ...) |
| #define | CPP_PP_CAT(X, ...) |
| #define | CPP_PP_EVAL_(X, ARGS) |
| #define | CPP_PP_EVAL(X, ...) |
| #define | CPP_PP_EVAL2_(X, ARGS) |
| #define | CPP_PP_EVAL2(X, ...) |
| #define | CPP_PP_EXPAND(...) |
|
#define | CPP_PP_EAT(...) |
| #define | CPP_PP_FIRST(LIST) |
| #define | CPP_PP_FIRST_(...) |
| #define | CPP_PP_SECOND(LIST) |
| #define | CPP_PP_SECOND_(...) |
| #define | CPP_PP_CHECK(...) |
| #define | CPP_PP_CHECK_N(x, n, ...) |
| #define | CPP_PP_PROBE(x) |
| #define | CPP_PP_PROBE_N(x, n) |
| #define | CPP_PP_IS_PAREN(x) |
| #define | CPP_PP_IS_PAREN_PROBE(...) |
|
#define | CPP_CXX_VA_OPT 0 |
| #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, ...) |
| #define | CPP_PP_IIF(BIT) |
| #define | CPP_PP_IIF_0(TRUE, ...) |
| #define | CPP_PP_IIF_1(TRUE, ...) |
|
#define | CPP_PP_LPAREN ( |
|
#define | CPP_PP_RPAREN ) |
| #define | CPP_PP_NOT(BIT) |
|
#define | CPP_PP_NOT_0 1 |
|
#define | CPP_PP_NOT_1 0 |
|
#define | CPP_PP_EMPTY() |
| #define | CPP_PP_COMMA() |
| #define | CPP_PP_LBRACE() |
| #define | CPP_PP_RBRACE() |
| #define | CPP_PP_COMMA_IIF(X) |
| #define | CPP_PP_FOR_EACH(M, ...) |
| #define | CPP_PP_FOR_EACH_N(N, M, ...) |
| #define | CPP_PP_FOR_EACH_1(M, _1) |
| #define | CPP_PP_FOR_EACH_2(M, _1, _2) |
| #define | CPP_PP_FOR_EACH_3(M, _1, _2, _3) |
| #define | CPP_PP_FOR_EACH_4(M, _1, _2, _3, _4) |
| #define | CPP_PP_FOR_EACH_5(M, _1, _2, _3, _4, _5) |
| #define | CPP_PP_FOR_EACH_6(M, _1, _2, _3, _4, _5, _6) |
| #define | CPP_PP_FOR_EACH_7(M, _1, _2, _3, _4, _5, _6, _7) |
| #define | CPP_PP_FOR_EACH_8(M, _1, _2, _3, _4, _5, _6, _7, _8) |
|
#define | CPP_PP_PROBE_EMPTY_PROBE_CPP_PP_PROBE_EMPTY CPP_PP_PROBE(~) |
|
#define | CPP_PP_PROBE_EMPTY() |
| #define | CPP_PP_IS_NOT_EMPTY(...) |
| #define | CPP_BOOL(...) |
|
#define | CPP_TRUE_FN CPP_true_fn(::concepts::detail::xNil{}) |
| #define | CPP_NOT(...) |
| #define | CPP_assert(...) |
|
#define | CPP_assert_msg static_assert |
|
#define | CPP_concept CPP_INLINE_VAR constexpr bool |
|
#define | CPP_and CPP_and_sfinae |
|
#define | CPP_template CPP_template_sfinae |
|
#define | CPP_template_def CPP_template_def_sfinae |
|
#define | CPP_member CPP_member_sfinae |
|
#define | CPP_auto_member CPP_member_sfinae |
|
#define | CPP_ctor CPP_ctor_sfinae |
| #define | CPP_concept_ref(NAME, ...) |
|
#define | CPP_TEMPLATE_AUX_ CPP_TEMPLATE_SFINAE_AUX_ |
| | INTERNAL ONLY.
|
| #define | CPP_template_sfinae(...) |
|
#define | CPP_TEMPLATE_SFINAE_PROBE_CONCEPT_concept CPP_PP_PROBE(~) |
| | INTERNAL ONLY.
|
| #define | CPP_TEMPLATE_SFINAE_AUX_WHICH_(FIRST, ...) |
| | INTERNAL ONLY.
|
| #define | CPP_TEMPLATE_SFINAE_AUX_(...) |
| | INTERNAL ONLY.
|
| #define | CPP_TEMPLATE_SFINAE_AUX_0(...) |
| | INTERNAL ONLY.
|
| #define | CPP_TEMPLATE_SFINAE_AUX_1(DECL, ...) |
| | INTERNAL ONLY.
|
| #define | CPP_CONCEPT_NAME_(DECL) |
| | INTERNAL ONLY.
|
| #define | CPP_CONCEPT_PARAMS_(DECL) |
| | INTERNAL ONLY.
|
| #define | CPP_EAT_CONCEPT_(DECL) |
| | INTERNAL ONLY.
|
|
#define | CPP_EAT_CONCEPT_concept |
| | INTERNAL ONLY.
|
|
#define | CPP_and_sfinae && CPP_BOOL(CPP_true), int> = 0, std::enable_if_t< |
| | INTERNAL ONLY.
|
| #define | CPP_template_def_sfinae(...) |
| | INTERNAL ONLY.
|
| #define | CPP_TEMPLATE_DEF_SFINAE_AUX_(...) |
| | INTERNAL ONLY.
|
|
#define | CPP_and_sfinae_def && CPP_BOOL(CPP_true), int>, std::enable_if_t< |
| | INTERNAL ONLY.
|
|
#define | CPP_TEMPLATE_SFINAE_AUX_3_requires |
| | INTERNAL ONLY.
|
|
#define | CPP_member_sfinae CPP_broken_friend_member |
| | INTERNAL ONLY.
|
| #define | CPP_ctor_sfinae(TYPE) |
| | INTERNAL ONLY.
|
| #define | CPP_CTOR_SFINAE_IMPL_1_(...) |
| | INTERNAL ONLY.
|
|
#define | CPP_CTOR_SFINAE_PROBE_NOEXCEPT_noexcept CPP_PP_PROBE(~) |
| | INTERNAL ONLY.
|
| #define | CPP_CTOR_SFINAE_MAKE_PROBE(FIRST, ...) |
| | INTERNAL ONLY.
|
| #define | CPP_CTOR_SFINAE_REQUIRES(...) |
| | INTERNAL ONLY.
|
| #define | CPP_CTOR_SFINAE_REQUIRES_0(...) |
| | INTERNAL ONLY.
|
| #define | CPP_CTOR_SFINAE_REQUIRES_1(...) |
| | INTERNAL ONLY.
|
|
#define | CPP_CTOR_SFINAE_EAT_NOEXCEPT_noexcept(...) |
| | INTERNAL ONLY.
|
| #define | CPP_CTOR_SFINAE_SHOW_NOEXCEPT_noexcept(...) |
| | INTERNAL ONLY.
|
| #define | CPP_broken_friend_ret(...) |
| #define | CPP_BROKEN_FRIEND_RETURN_TYPE_AUX_(...) |
| | INTERNAL ONLY.
|
|
#define | CPP_TEMPLATE_AUX_2_requires |
| | INTERNAL ONLY.
|
| #define | CPP_BROKEN_FRIEND_RETURN_TYPE_AUX_3_(...) |
| | INTERNAL ONLY.
|
| #define | CPP_broken_friend_member |
| | INTERNAL ONLY.
|
| #define | CPP_requires(NAME, REQS) |
| #define | CPP_requires_ref(NAME, ...) |
| #define | CPP_REQUIRES_requires(...) |
| | INTERNAL ONLY.
|
| #define | CPP_REQUIRES_RETURN_(...) |
| | INTERNAL ONLY.
|
| #define | CPP_REQUIRES_AUX_(NAME, ...) |
| | INTERNAL ONLY.
|
|
#define | CPP_ret CPP_broken_friend_ret |
| #define | CPP_FUN_IMPL_1_(...) |
| | INTERNAL ONLY.
|
| #define | CPP_FUN_IMPL_REQUIRES(...) |
| | INTERNAL ONLY.
|
| #define | CPP_FUN_IMPL_SELECT_CONST_(MAYBE_CONST, ...) |
| | INTERNAL ONLY.
|
|
#define | CPP_PP_PROBE_CONST_PROBE_const CPP_PP_PROBE(~) |
| | INTERNAL ONLY.
|
| #define | CPP_FUN_IMPL_SELECT_CONST_1(...) |
| | INTERNAL ONLY.
|
| #define | CPP_FUN_IMPL_SELECT_CONST_NOEXCEPT_(MAYBE_NOEXCEPT, ...) |
| | INTERNAL ONLY.
|
|
#define | CPP_PP_PROBE_NOEXCEPT_PROBE_noexcept CPP_PP_PROBE(~) |
| | INTERNAL ONLY.
|
| #define | CPP_FUN_IMPL_SELECT_CONST_NOEXCEPT_0(...) |
| | INTERNAL ONLY.
|
| #define | CPP_FUN_IMPL_SELECT_CONST_NOEXCEPT_1(...) |
| | INTERNAL ONLY.
|
|
#define | CPP_FUN_IMPL_EAT_NOEXCEPT_noexcept(...) |
| | INTERNAL ONLY.
|
| #define | CPP_FUN_IMPL_SHOW_NOEXCEPT_noexcept(...) |
| | INTERNAL ONLY.
|
| #define | CPP_FUN_IMPL_SELECT_CONST_0(...) |
| | INTERNAL ONLY.
|
| #define | CPP_FUN_IMPL_SELECT_NONCONST_NOEXCEPT_(MAYBE_NOEXCEPT, ...) |
| | INTERNAL ONLY.
|
| #define | CPP_FUN_IMPL_SELECT_NONCONST_NOEXCEPT_0(...) |
| | INTERNAL ONLY.
|
| #define | CPP_FUN_IMPL_SELECT_NONCONST_NOEXCEPT_1(...) |
| | INTERNAL ONLY.
|
|
#define | CPP_FUN_IMPL_EAT_CONST_const |
| | INTERNAL ONLY.
|
|
#define | CPP_FUN_IMPL_EAT_REQUIRES_requires |
| | INTERNAL ONLY.
|
| #define | CPP_fun(X) |
| #define | CPP_auto_fun(X) |
| #define | CPP_AUTO_FUN_IMPL_(...) |
| | INTERNAL ONLY.
|
| #define | CPP_AUTO_FUN_RETURNS_(...) |
| | INTERNAL ONLY.
|
| #define | CPP_AUTO_FUN_SELECT_RETURNS_(MAYBE_CONST, ...) |
| | INTERNAL ONLY.
|
|
#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_EAT_MUTABLE_mutable |
| | INTERNAL ONLY.
|
| #define | CPP_AUTO_FUN_RETURNS_CONST_2(...) |
| | INTERNAL ONLY.
|
| #define | CPP_AUTO_FUN_RETURNS_CONST_1(...) |
| | INTERNAL ONLY.
|
| #define | CPP_AUTO_FUN_RETURNS_CONST_0(...) |
| | INTERNAL ONLY.
|
|
#define | CPP_AUTO_FUN_RETURNS_return |
| | INTERNAL ONLY.
|
| #define | CPP_AUTO_FUN_DECLTYPE_NOEXCEPT_(...) |
| | INTERNAL ONLY.
|
|
|
template<typename From, typename To> |
| | concepts::CPP_requires (explicitly_convertible_to_, requires(From(*from)())(static_cast< To >(from()))) |
|
| concepts::CPP_template (typename T, typename U)(concept(derived_from_)(T |
|
| concepts::CPP_template (typename T, typename U)(concept(common_reference_with_)(T |
|
| concepts::CPP_template (typename T, typename U)(concept(common_with_)(T |
|
template<typename T, typename U> |
| | concepts::CPP_requires (assignable_from_, requires(T t, U &&u)(t=(U &&) u, requires_< same_as< T, decltype(t=(U &&) u)> >)) |
|
template<typename T> |
| | concepts::CPP_requires (swappable_, requires(T &t, T &u)(concepts::swap(t, u))) |
|
template<typename T, typename U> |
| | concepts::CPP_requires (swappable_with_, requires(T &&t, U &&u)(concepts::swap((T &&) t,(T &&) t), concepts::swap((U &&) u,(U &&) u), concepts::swap((U &&) u,(T &&) t), concepts::swap((T &&) t,(U &&) u))) |
|
template<typename T> |
| | concepts::detail::CPP_requires (boolean_testable_frag_, requires(T &&t)(!(T &&) t, concepts::requires_< boolean_testable_impl_< decltype(!(T &&) t)> >)) |
|
template<typename T, typename U> |
| | concepts::detail::CPP_requires (weakly_equality_comparable_with_frag_, requires(detail::as_cref_t< T > t, detail::as_cref_t< U > u)(concepts::requires_< boolean_testable_< decltype(t==u)> >, concepts::requires_< boolean_testable_< decltype(t !=u)> >, concepts::requires_< boolean_testable_< decltype(u==t)> >, concepts::requires_< boolean_testable_< decltype(u !=t)> >)) |
|
template<typename T, typename U> |
| | concepts::detail::CPP_requires (partially_ordered_with_frag_, requires(detail::as_cref_t< T > &t, detail::as_cref_t< U > &u)(concepts::requires_< boolean_testable_< decltype(t< u)> >, concepts::requires_< boolean_testable_< decltype(t > u)> >, concepts::requires_< boolean_testable_< decltype(t<=u)> >, concepts::requires_< boolean_testable_< decltype(t >=u)> >, concepts::requires_< boolean_testable_< decltype(u< t)> >, concepts::requires_< boolean_testable_< decltype(u > t)> >, concepts::requires_< boolean_testable_< decltype(u<=t)> >, concepts::requires_< boolean_testable_< decltype(u >=t)> >)) |
|
| concepts::CPP_template (typename T, typename U)(concept(equality_comparable_with_)(T |
|
| concepts::CPP_template (typename T, typename U)(concept(totally_ordered_with_)(T |
|
| concepts::CPP_template (typename T)(concept(copy_constructible_)(T) |
|
| concepts::CPP_template (typename T)(concept(move_assignable_)(T) |
|
| concepts::CPP_template (typename T)(concept(copy_assignable_)(T) |
|
| template<bool... Bs> |
| CPP_INLINE_VAR constexpr bool | concepts::and_v |
| template<bool... Bs> |
| CPP_INLINE_VAR constexpr bool | concepts::or_v |
|
template<bool B> |
| CPP_INLINE_VAR constexpr std::enable_if_t< B, int > | concepts::requires_ = 0 |
|
template<bool B> |
| CPP_concept | concepts::is_true = B |
|
template<typename... Args> |
| CPP_concept | concepts::type = true |
| template<class T, template< typename... > class Trait, typename... Args> |
| CPP_concept | concepts::satisfies |
| template<typename A, typename B> |
| CPP_concept | concepts::same_as |
| template<typename From, typename To> |
| CPP_concept | concepts::implicitly_convertible_to |
| template<typename From, typename To> |
| CPP_concept | concepts::explicitly_convertible_to |
| template<typename From, typename To> |
| CPP_concept | concepts::convertible_to |
|
| concepts::U |
|
convertible_to< T const volatile *, U const volatile * > | concepts::convertible_to< T const volatile *, U const volatile * > |
| template<typename T, typename U> |
| CPP_concept | concepts::derived_from |
|
| concepts::U |
|
same_as< common_reference_t< T, U >, common_reference_t< U, T > > CPP_and convertible_to< T, common_reference_t< T, U > > CPP_and | concepts::convertible_to< U, common_reference_t< T, U > > |
| template<typename T, typename U> |
| CPP_concept | concepts::common_reference_with |
|
| concepts::U |
|
same_as< common_type_t< T, U >, common_type_t< U, T > > CPP_and convertible_to< T, common_type_t< T, U > > CPP_and convertible_to< U, common_type_t< T, U > > CPP_and common_reference_with< std::add_lvalue_reference_t< T const >, std::add_lvalue_reference_t< U const > > CPP_and | concepts::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 U> |
| CPP_concept | concepts::common_with |
| template<typename T> |
| CPP_concept | concepts::integral |
| template<typename T> |
| CPP_concept | concepts::signed_integral |
| template<typename T> |
| CPP_concept | concepts::unsigned_integral |
| template<typename T, typename U> |
| CPP_concept | concepts::assignable_from |
| template<typename T> |
| CPP_concept | concepts::swappable |
| template<typename T, typename U> |
| CPP_concept | concepts::swappable_with |
|
template<typename T> |
| CPP_concept | concepts::detail::boolean_testable_impl_ = convertible_to<T, bool> |
| template<typename T> |
| CPP_concept | concepts::detail::boolean_testable_ |
| template<typename T, typename U> |
| CPP_concept | concepts::detail::weakly_equality_comparable_with_ |
| template<typename T, typename U> |
| CPP_concept | concepts::detail::partially_ordered_with_ |
| template<typename T> |
| CPP_concept | concepts::equality_comparable |
|
| concepts::U |
|
| concepts::equality_comparable< common_reference_t< detail::as_cref_t< T >, detail::as_cref_t< U > > > |
| template<typename T, typename U> |
| CPP_concept | concepts::equality_comparable_with |
| template<typename T> |
| CPP_concept | concepts::totally_ordered |
|
| concepts::U |
| template<typename T, typename U> |
| CPP_concept | concepts::totally_ordered_with |
| template<typename T> |
| CPP_concept | concepts::destructible |
| template<typename T, typename... Args> |
| CPP_concept | concepts::constructible_from |
| template<typename T> |
| CPP_concept | concepts::default_constructible |
| template<typename T> |
| CPP_concept | concepts::move_constructible |
|
constructible_from< T, T & > &&constructible_from< T, T const & > &&constructible_from< T, T const > &&convertible_to< T &, T > &&convertible_to< T const &, T > && | concepts::convertible_to< T const, T > |
| template<typename T> |
| CPP_concept | concepts::copy_constructible |
|
assignable_from< T &, T > | concepts::assignable_from< T &, T > |
| template<typename T> |
| CPP_concept | concepts::movable |
|
assignable_from< T &, T const & > | concepts::assignable_from< T &, T const & > |
| template<typename T> |
| CPP_concept | concepts::copyable |
| template<typename T> |
| CPP_concept | concepts::semiregular |
| template<typename T> |
| CPP_concept | concepts::regular |