|
| VEG_DEF_CONCEPT (typename T, index, VEG_CONCEPT(same< T, Dyn >)||_detail::_meta::is_fix< T >::value) |
|
| VEG_DEF_CONCEPT (typename... Ts, all_same, _detail::_meta::all_same_impl< meta::make_index_sequence< sizeof...(Ts)>, Ts... >::value) |
|
| VEG_DEF_CONCEPT_BUILTIN_OR_INTERNAL ((typename T, typename U), same, T, U) |
|
| VEG_DEF_CONCEPT_FROM_BUILTIN_OR_STD ((typename T, typename U), assignable, T, U) |
|
| VEG_DEF_CONCEPT_FROM_BUILTIN_OR_STD ((typename T, typename U), nothrow_assignable, T &&, U &&) |
|
| VEG_DEF_CONCEPT_FROM_BUILTIN_OR_TRAIT (typename T, trivially_copy_assignable, is_trivially_assignable, T &, T const &) |
|
| VEG_DEF_CONCEPT_FROM_BUILTIN_OR_TRAIT (typename T, trivially_move_assignable, is_trivially_assignable, T &, T &&) |
|
| VEG_DEF_CONCEPT (typename T, move_assignable, VEG_CONCEPT(assignable< T &, T && >)) |
|
| VEG_DEF_CONCEPT (typename T, nothrow_move_assignable, VEG_CONCEPT(nothrow_assignable< T &, T && >)) |
|
| VEG_DEF_CONCEPT (typename T, copy_assignable, VEG_CONCEPT(assignable< T &, T const & >)) |
|
| VEG_DEF_CONCEPT (typename T, nothrow_copy_assignable, VEG_CONCEPT(nothrow_assignable< T &, T const & >)) |
|
| VEG_DEF_CONCEPT (typename T, final,(sizeof(T)< 0)) |
|
| VEG_DEF_CONCEPT_FROM_BUILTIN_OR_STD (typename T, empty, T) |
|
| VEG_DEF_CONCEPT (typename T, nothrow_destructible, noexcept(static_cast< T * >(nullptr) ->~T())) |
|
| VEG_DEF_CONCEPT (typename T, trivially_destructible, std::is_trivially_destructible< T >::value) |
|
| VEG_DEF_CONCEPT_FROM_BUILTIN_OR_STD (typename T, trivially_copyable, T) |
|
| VEG_DEF_CONCEPT_FROM_BUILTIN_OR_TRAIT (typename T, trivially_default_constructible, is_trivially_constructible, T) |
|
| VEG_DEF_CONCEPT_FROM_BUILTIN_OR_TRAIT (typename T, trivially_copy_constructible, is_trivially_constructible, T, T const &) |
|
| VEG_DEF_CONCEPT_FROM_BUILTIN_OR_TRAIT (typename T, trivially_move_constructible, is_trivially_constructible, T, T &&) |
|
| VEG_CONCEPT_EXPR ((typename T, typename... Ts),(T, Ts...), inplace_constructible, new(static_cast< void * >(nullptr)) T(VEG_DECLVAL(Ts &&)...), true) |
|
| VEG_DEF_CONCEPT_FROM_BUILTIN_OR_STD ((typename T, typename... Ts), constructible, T, Ts &&...) |
|
| VEG_DEF_CONCEPT_FROM_BUILTIN_OR_STD ((typename T, typename... Ts), nothrow_constructible, T, Ts &&...) |
|
| VEG_DEF_CONCEPT_FROM_BUILTIN_OR_STD ((typename From, typename To), convertible, From &&, To) |
|
| VEG_DEF_CONCEPT ((typename T, typename U), implicitly_constructible, VEG_CONCEPT(convertible< U &&, T >)) |
|
| VEG_DEF_CONCEPT (typename T, movable, VEG_HAS_BUILTIN_OR(__is_constructiblex, __is_constructible(T, T &&),(VEG_CONCEPT(constructible< T, T && >)))) |
|
| VEG_DEF_CONCEPT (typename T, nothrow_movable, VEG_HAS_BUILTIN_OR(__is_nothrow_constructiblex, __is_nothrow_constructible(T, T &&),(VEG_CONCEPT(nothrow_constructible< T, T && >)))) |
|
| VEG_DEF_CONCEPT (typename T, copyable, VEG_CONCEPT(constructible< T, T const & >)) |
|
| VEG_DEF_CONCEPT (typename T, nothrow_copyable, VEG_CONCEPT(nothrow_constructible< T, T const & >)) |
|
| VEG_DEF_CONCEPT ((template< typename... > class Op, typename... Args), detected, _detail::_meta::is_detected< Op, Args... >::value) |
|
| VEG_DEF_CONCEPT_BUILTIN_OR_INTERNAL ((typename T, typename U), base_of, T, U) |
|
| VEG_DEF_CONCEPT (typename T, const_type, VEG_HAS_BUILTIN_OR(__is_const, __is_const(T),(_detail::_meta::is_const< T >::value))) |
|
| VEG_DEF_CONCEPT (typename T, void_type, VEG_CONCEPT(same< void const volatile, T const volatile >)) |
|
| VEG_DEF_CONCEPT (typename T, pointer, _detail::_meta::is_pointer< T >::value) |
|
| VEG_DEF_CONCEPT_BUILTIN_OR_INTERNAL (typename T, lvalue_reference, T) |
|
| VEG_DEF_CONCEPT_BUILTIN_OR_INTERNAL (typename T, rvalue_reference, T) |
|
| VEG_DEF_CONCEPT (typename T, reference,(VEG_CONCEPT(lvalue_reference< T >)||VEG_CONCEPT(rvalue_reference< T >))) |
|
| VEG_DEF_CONCEPT (typename T, complete, _detail::_meta::is_complete< T >::value) |
|
| VEG_CONCEPT_EXPR ((typename Fn, typename Ret, typename... Args),(Fn, Ret, Args...), fn_once, VEG_DECLVAL(Fn &&)(VEG_DECLVAL(Args &&)...), VEG_CONCEPT(same< ExprType, Ret >)) |
|
| VEG_CONCEPT_EXPR ((typename Fn, typename Ret, typename... Args),(Fn, Ret, Args...), fn_mut, VEG_DECLVAL(Fn &)(VEG_DECLVAL(Args &&)...), VEG_CONCEPT(same< ExprType, Ret >)) |
|
| VEG_CONCEPT_EXPR ((typename Fn, typename Ret, typename... Args),(Fn, Ret, Args...), fn, VEG_DECLVAL(Fn const &)(VEG_DECLVAL(Args &&)...), VEG_CONCEPT(same< ExprType, Ret >)) |
|
| VEG_DEF_CONCEPT (typename T, enum_type, VEG_HAS_BUILTIN_OR(__is_enum, __is_enum(T), std::is_enum< T >::value)) |
|
| VEG_DEF_CONCEPT_FROM_BUILTIN_OR_STD (typename T, integral, T) |
|
| VEG_DEF_CONCEPT_FROM_BUILTIN_OR_STD (typename T, floating_point, T) |
|
| VEG_DEF_CONCEPT_DISJUNCTION (typename T, arithmetic,((, integral< T >),(, floating_point< T >))) |
|
| VEG_DEF_CONCEPT_CONJUNCTION (typename T, signed_integral,((, integral< T >),(aux::, no_wraps_around< T >))) |
|
| VEG_DEF_CONCEPT_CONJUNCTION (typename T, unsigned_integral,((, integral< T >),(aux::, wraps_around< T >))) |
|
| VEG_DEF_CONCEPT_CONJUNCTION ((usize I, typename T), array_gettable,((aux::, bounded_array< uncvref_t< T > >),(aux::, less_than< I, meta::array_extent< uncvref_t< T > >::value >))) |
|
| VEG_DEF_CONCEPT ((usize I, typename T), member_gettable, VEG_CONCEPT(detected< _detail::_meta::member_get_expr, meta::constant< usize, I >, T >)) |
|
| VEG_DEF_CONCEPT ((usize I, typename T), adl_gettable, VEG_CONCEPT(detected< _detail::_meta::adl_get_expr, meta::constant< usize, I >, T >)) |
|
| VEG_DEF_CONCEPT_DISJUNCTION ((usize I, typename T), gettable,((, array_gettable< I, T >),(, member_gettable< I, T >),(, adl_gettable< I, T >))) |
|