Classes | |
struct | concepts::return_t_< typename > |
Concepts | |
concept | concepts::defs::is_true |
The is_true concept. | |
concept | concepts::defs::type |
The type concept. | |
concept | concepts::defs::satisfies |
The satisfies concept. | |
concept | concepts::defs::same_as |
The same_as concept. | |
concept | concepts::defs::implicitly_convertible_to |
The implicitly_convertible_to concept. | |
concept | concepts::defs::explicitly_convertible_to_ |
The explicitly_convertible_to_ concept. | |
concept | concepts::defs::explicitly_convertible_to |
The explicitly_convertible_to concept. | |
concept | concepts::defs::convertible_to |
The convertible_to concept. | |
concept | concepts::defs::derived_from_ |
The derived_from_ concept. | |
concept | concepts::defs::derived_from |
The derived_from concept. | |
concept | concepts::defs::common_reference_with_ |
The common_reference_with_ concept. | |
concept | concepts::defs::common_reference_with |
The common_reference_with concept. | |
concept | concepts::defs::common_with_ |
The common_with_ concept. | |
concept | concepts::defs::common_with |
The common_with concept. | |
concept | concepts::defs::integral |
The integral concept. | |
concept | concepts::defs::signed_integral |
The signed_integral concept. | |
concept | concepts::defs::unsigned_integral |
The unsigned_integral concept. | |
concept | concepts::defs::assignable_from_ |
The assignable_from_ concept. | |
concept | concepts::defs::assignable_from |
The assignable_from concept. | |
concept | concepts::defs::swappable_ |
The swappable_ concept. | |
concept | concepts::defs::swappable |
The swappable concept. | |
concept | concepts::defs::swappable_with_ |
The swappable_with_ concept. | |
concept | concepts::defs::swappable_with |
The swappable_with concept. | |
concept | concepts::detail::boolean_testable_impl_ |
The boolean_testable_impl_ concept. | |
concept | concepts::detail::boolean_testable_frag_ |
The boolean_testable_frag_ concept. | |
concept | concepts::detail::boolean_testable_ |
The boolean_testable_ concept. | |
concept | concepts::detail::weakly_equality_comparable_with_frag_ |
The weakly_equality_comparable_with_frag_ concept. | |
concept | concepts::detail::weakly_equality_comparable_with_ |
The weakly_equality_comparable_with_ concept. | |
concept | concepts::detail::partially_ordered_with_frag_ |
The partially_ordered_with_frag_ concept. | |
concept | concepts::detail::partially_ordered_with_ |
The partially_ordered_with_ concept. | |
concept | concepts::defs::equality_comparable |
The equality_comparable concept. | |
concept | concepts::defs::equality_comparable_with_ |
The equality_comparable_with_ concept. | |
concept | concepts::defs::equality_comparable_with |
The equality_comparable_with concept. | |
concept | concepts::defs::totally_ordered |
The totally_ordered concept. | |
concept | concepts::defs::totally_ordered_with_ |
The totally_ordered_with_ concept. | |
concept | concepts::defs::totally_ordered_with |
The totally_ordered_with concept. | |
concept | concepts::defs::destructible |
The destructible concept. | |
concept | concepts::defs::constructible_from |
The constructible_from concept. | |
concept | concepts::defs::default_constructible |
The default_constructible concept. | |
concept | concepts::defs::move_constructible |
The move_constructible concept. | |
concept | concepts::defs::copy_constructible_ |
The copy_constructible_ concept. | |
concept | concepts::defs::copy_constructible |
The copy_constructible concept. | |
concept | concepts::defs::move_assignable_ |
The move_assignable_ concept. | |
concept | concepts::defs::movable |
The movable concept. | |
concept | concepts::defs::copy_assignable_ |
The copy_assignable_ concept. | |
concept | concepts::defs::copyable |
The copyable concept. | |
concept | concepts::defs::semiregular |
The semiregular concept. | |
concept | concepts::defs::regular |
The regular concept. | |
Macros | |
#define | concept(NAME) |
#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) |
#define | CPP_AUTO_FUN_DECLTYPE_NOEXCEPT_(...) |
INTERNAL ONLY. | |
#define | CPP_AUTO_FUN_IMPL_(...) |
INTERNAL ONLY. | |
#define | CPP_AUTO_FUN_RETURNS_(...) |
INTERNAL ONLY. | |
#define | CPP_AUTO_FUN_RETURNS_CONST_0(...) |
INTERNAL ONLY. | |
#define | CPP_AUTO_FUN_RETURNS_CONST_1(...) |
INTERNAL ONLY. | |
#define | CPP_AUTO_FUN_RETURNS_CONST_2(...) |
INTERNAL ONLY. | |
#define | CPP_AUTO_FUN_RETURNS_return |
INTERNAL ONLY. | |
#define | CPP_AUTO_FUN_SELECT_RETURNS_(MAYBE_CONST, ...) |
INTERNAL ONLY. | |
#define | CPP_auto_member |
#define | CPP_BOOL(...) |
#define | CPP_broken_friend_ret(...) |
INTERNAL ONLY. | |
#define | CPP_concept META_CONCEPT |
#define | CPP_CONCEPT_EQUALS_(...) |
#define | CPP_CONCEPT_NAME_(DECL) |
INTERNAL ONLY. | |
#define | CPP_CONCEPT_PARAMS_(DECL) |
INTERNAL ONLY. | |
#define | CPP_concept_ref(NAME, ...) |
#define | CPP_ctor(TYPE) |
#define | CPP_CTOR_IMPL_1_(...) |
INTERNAL ONLY. | |
#define | CPP_ctor_sfinae(TYPE) |
INTERNAL ONLY. | |
#define | CPP_CTOR_SFINAE_EAT_NOEXCEPT_noexcept(...) |
INTERNAL ONLY. | |
#define | CPP_CTOR_SFINAE_IMPL_1_(...) |
INTERNAL ONLY. | |
#define | CPP_CTOR_SFINAE_MAKE_PROBE(FIRST, ...) |
INTERNAL ONLY. | |
#define | CPP_CTOR_SFINAE_PROBE_NOEXCEPT_noexcept CPP_PP_PROBE(~) |
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_SHOW_NOEXCEPT_noexcept(...) |
INTERNAL ONLY. | |
#define | CPP_CXX_CONCEPTS 201800L |
#define | CPP_CXX_VA_OPT 0 |
#define | CPP_EAT_CONCEPT_(DECL) |
INTERNAL ONLY. | |
#define | CPP_EAT_CONCEPT_concept |
INTERNAL ONLY. | |
#define | CPP_fun(X) |
#define | CPP_FUN_IMPL_1_(...) |
INTERNAL ONLY. | |
#define | CPP_member |
#define | CPP_member_sfinae CPP_broken_friend_member |
INTERNAL ONLY. | |
#define | CPP_NOT(...) |
#define | CPP_PP_CAT(X, ...) |
#define | CPP_PP_CAT_(X, ...) |
#define | CPP_PP_CHECK(...) |
#define | CPP_PP_CHECK_N(x, n, ...) |
#define | CPP_PP_COMMA() |
#define | CPP_PP_COMMA_IIF(X) |
#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_EAT(...) |
#define | CPP_PP_EAT_MUTABLE_mutable |
INTERNAL ONLY. | |
#define | CPP_PP_EMPTY() |
#define | CPP_PP_EVAL(X, ...) |
#define | CPP_PP_EVAL2(X, ...) |
#define | CPP_PP_EVAL2_(X, ARGS) |
#define | CPP_PP_EVAL_(X, ARGS) |
#define | CPP_PP_EXPAND(...) |
#define | CPP_PP_FIRST(LIST) |
#define | CPP_PP_FIRST_(...) |
#define | CPP_PP_FOR_EACH(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_FOR_EACH_N(N, M, ...) |
#define | CPP_PP_IGNORE_CXX2A_COMPAT_BEGIN |
#define | CPP_PP_IGNORE_CXX2A_COMPAT_END |
#define | CPP_PP_IIF(BIT) |
#define | CPP_PP_IIF_0(TRUE, ...) |
#define | CPP_PP_IIF_1(TRUE, ...) |
#define | CPP_PP_IS_NOT_EMPTY(...) |
#define | CPP_PP_IS_PAREN(x) |
#define | CPP_PP_IS_PAREN_PROBE(...) |
#define | CPP_PP_LBRACE() |
#define | CPP_PP_LPAREN ( |
#define | CPP_PP_NOT(BIT) |
#define | CPP_PP_NOT_0 1 |
#define | CPP_PP_NOT_1 0 |
#define | CPP_PP_PROBE(x) |
#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) |
#define | CPP_PP_RBRACE() |
#define | CPP_PP_RPAREN ) |
#define | CPP_PP_SECOND(LIST) |
#define | CPP_PP_SECOND_(...) |
#define | CPP_requires(NAME, REQS) |
#define | CPP_REQUIRES_AUX_(...) |
INTERNAL ONLY. | |
#define | CPP_requires_ref(NAME, ...) |
#define | CPP_REQUIRES_requires(...) |
INTERNAL ONLY. | |
#define | CPP_ret(...) |
#define | CPP_template(...) |
#define | CPP_TEMPLATE_AUX_(...) |
INTERNAL ONLY. | |
#define | CPP_TEMPLATE_AUX_0(...) |
INTERNAL ONLY. | |
#define | CPP_TEMPLATE_AUX_1(DECL, ...) |
INTERNAL ONLY. | |
#define | CPP_TEMPLATE_AUX_WHICH_(FIRST, ...) |
INTERNAL ONLY. | |
#define | CPP_template_def CPP_template |
#define | CPP_template_def_sfinae(...) |
INTERNAL ONLY. | |
#define | CPP_TEMPLATE_DEF_SFINAE_AUX_(...) |
INTERNAL ONLY. | |
#define | CPP_TEMPLATE_EXPAND_(X, Y) |
#define | CPP_TEMPLATE_PROBE_CONCEPT_concept CPP_PP_PROBE(~) |
INTERNAL ONLY. | |
#define | CPP_template_sfinae(...) |
#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_TEMPLATE_SFINAE_AUX_3_requires |
INTERNAL ONLY. | |
#define | CPP_TEMPLATE_SFINAE_AUX_WHICH_(FIRST, ...) |
INTERNAL ONLY. | |
#define | CPP_TEMPLATE_SFINAE_PROBE_CONCEPT_concept CPP_PP_PROBE(~) |
INTERNAL ONLY. | |
#define | CPP_TRUE_FN CPP_true_fn(::concepts::detail::xNil{}) |
Typedefs | |
template<bool B> | |
using | concepts::bool_ = std::integral_constant<bool, B> |
template<typename T , typename EnableIf > | |
using | concepts::return_t = meta::invoke<return_t_<EnableIf>, T> |
Variables | |
template<bool... Bs> | |
constexpr bool | concepts::and_v |
template<bool... Bs> | |
constexpr bool | concepts::or_v |
template<bool B> | |
constexpr std::enable_if_t< B, int > | concepts::requires_ = 0 |
#define concept | ( | NAME | ) |
#define CPP_assert | ( | ... | ) |
#define CPP_auto_fun | ( | X | ) |
#define CPP_AUTO_FUN_DECLTYPE_NOEXCEPT_ | ( | ... | ) |
INTERNAL ONLY.
#define CPP_AUTO_FUN_IMPL_ | ( | ... | ) |
INTERNAL ONLY.
#define CPP_AUTO_FUN_RETURNS_ | ( | ... | ) |
INTERNAL ONLY.
#define CPP_AUTO_FUN_RETURNS_CONST_0 | ( | ... | ) |
INTERNAL ONLY.
#define CPP_AUTO_FUN_RETURNS_CONST_1 | ( | ... | ) |
INTERNAL ONLY.
#define CPP_AUTO_FUN_RETURNS_CONST_2 | ( | ... | ) |
INTERNAL ONLY.
#define CPP_AUTO_FUN_SELECT_RETURNS_ | ( | MAYBE_CONST, | |
... ) |
INTERNAL ONLY.
#define CPP_BOOL | ( | ... | ) |
#define CPP_broken_friend_ret | ( | ... | ) |
INTERNAL ONLY.
#define CPP_CONCEPT_EQUALS_ | ( | ... | ) |
#define CPP_CONCEPT_NAME_ | ( | DECL | ) |
INTERNAL ONLY.
#define CPP_CONCEPT_PARAMS_ | ( | DECL | ) |
INTERNAL ONLY.
#define CPP_concept_ref | ( | NAME, | |
... ) |
#define CPP_ctor | ( | TYPE | ) |
#define CPP_CTOR_IMPL_1_ | ( | ... | ) |
INTERNAL ONLY.
#define CPP_ctor_sfinae | ( | TYPE | ) |
INTERNAL ONLY.
#define CPP_CTOR_SFINAE_IMPL_1_ | ( | ... | ) |
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_SHOW_NOEXCEPT_noexcept | ( | ... | ) |
INTERNAL ONLY.
#define CPP_EAT_CONCEPT_ | ( | DECL | ) |
INTERNAL ONLY.
#define CPP_fun | ( | X | ) |
#define CPP_FUN_IMPL_1_ | ( | ... | ) |
INTERNAL ONLY.
#define CPP_NOT | ( | ... | ) |
#define CPP_PP_CAT | ( | X, | |
... ) |
#define CPP_PP_CAT_ | ( | X, | |
... ) |
#define CPP_PP_CHECK | ( | ... | ) |
#define CPP_PP_CHECK_N | ( | x, | |
n, | |||
... ) |
#define CPP_PP_COMMA | ( | ) |
#define CPP_PP_COMMA_IIF | ( | X | ) |
#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_EVAL | ( | X, | |
... ) |
#define CPP_PP_EVAL2 | ( | X, | |
... ) |
#define CPP_PP_EVAL2_ | ( | X, | |
ARGS ) |
#define CPP_PP_EVAL_ | ( | X, | |
ARGS ) |
#define CPP_PP_EXPAND | ( | ... | ) |
#define CPP_PP_FIRST | ( | LIST | ) |
#define CPP_PP_FIRST_ | ( | ... | ) |
#define CPP_PP_FOR_EACH | ( | 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_FOR_EACH_N | ( | N, | |
M, | |||
... ) |
#define CPP_PP_IIF | ( | BIT | ) |
#define CPP_PP_IIF_0 | ( | TRUE, | |
... ) |
#define CPP_PP_IIF_1 | ( | TRUE, | |
... ) |
#define CPP_PP_IS_NOT_EMPTY | ( | ... | ) |
#define CPP_PP_IS_PAREN | ( | x | ) |
#define CPP_PP_IS_PAREN_PROBE | ( | ... | ) |
#define CPP_PP_LBRACE | ( | ) |
#define CPP_PP_NOT | ( | BIT | ) |
#define CPP_PP_PROBE | ( | x | ) |
#define CPP_PP_PROBE_N | ( | x, | |
n ) |
#define CPP_PP_RBRACE | ( | ) |
#define CPP_PP_SECOND | ( | LIST | ) |
#define CPP_PP_SECOND_ | ( | ... | ) |
#define CPP_requires | ( | NAME, | |
REQS ) |
#define CPP_REQUIRES_AUX_ | ( | ... | ) |
INTERNAL ONLY.
#define CPP_requires_ref | ( | NAME, | |
... ) |
#define CPP_REQUIRES_requires | ( | ... | ) |
INTERNAL ONLY.
#define CPP_ret | ( | ... | ) |
#define CPP_template | ( | ... | ) |
#define CPP_TEMPLATE_AUX_ | ( | ... | ) |
INTERNAL ONLY.
#define CPP_TEMPLATE_AUX_0 | ( | ... | ) |
INTERNAL ONLY.
#define CPP_TEMPLATE_AUX_1 | ( | DECL, | |
... ) |
INTERNAL ONLY.
#define CPP_TEMPLATE_AUX_WHICH_ | ( | FIRST, | |
... ) |
INTERNAL ONLY.
#define CPP_template_def_sfinae | ( | ... | ) |
INTERNAL ONLY.
#define CPP_TEMPLATE_DEF_SFINAE_AUX_ | ( | ... | ) |
INTERNAL ONLY.
#define CPP_TEMPLATE_EXPAND_ | ( | X, | |
Y ) |
#define CPP_template_sfinae | ( | ... | ) |
#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_TEMPLATE_SFINAE_AUX_WHICH_ | ( | FIRST, | |
... ) |
INTERNAL ONLY.
|
constexpr |
|
constexpr |