Classes
class any
A type-safe container of any type.
class bad_any_cast
Exception class thrown by a failed any_cast.
class bad_optional_access
Exception class thrown when a disengaged optional object is dereferenced.
class basic_string_view
A non-owning reference to a string.
struct in_place_t
Tag type for in-place construction.
struct nullopt_t
Tag type to disengage optional objects.
class optional
Class template for optional values.
class ostream_joiner
Output iterator that inserts a delimiter between elements.
struct owner_less<shared_ptr<_Tp>>
Partial specialization of owner_less for shared_ptr.
struct owner_less<weak_ptr<_Tp>>
Partial specialization of owner_less for weak_ptr.
class propagate_const
Const-propagating wrapper.
Typedefs
template<typename _RAIter , typename_Hash , typename_Pred , typename _Val = typename
iterator_traits<_RAIter>::value_type, typename _Diff = typename
iterator_traits<_RAIter>::difference_type> using__boyer_moore_base_t = std::__conditional_t<
std::__is_byte_like< _Val, _Pred >::value, __boyer_moore_array_base< _Diff, 256, _Pred >,
__boyer_moore_map_base< _Val, _Diff, _Hash, _Pred > >
template<typename _Tp > using__propagate_const_elem_type = remove_reference_t< decltype(*std::declval<
_Tp & >())>
usingerased_type = std::__erased_typeusingstring_view = basic_string_view< char >
usingu16string_view = basic_string_view< char16_t >
usingu32string_view = basic_string_view< char32_t >
usingwstring_view = basic_string_view< wchar_t >
Functions
template<typename _Fn , typename _Tuple , std::size_t... _Idx> constexpr decltype(auto) __apply_impl (_Fn
&&__f, _Tuple &&__t, std::index_sequence< _Idx... >)
template<typename _Tp , size_t _Nm, size_t... _Idx> constexpr array< remove_cv_t< _Tp >, _Nm > __to_array
(_Tp(&__a)[_Nm], index_sequence< _Idx... >)
std::default_random_engine & _S_randint_engine ()
template<typename _ValueType > _ValueType any_cast (const any &__any)
Access the contained object.
template<typename _Fn , typename _Tuple > constexpr decltype(auto) apply (_Fn &&__f, _Tuple &&__t)
template<typename _Tp > bool atomic_compare_exchange_strong (shared_ptr< _Tp > *__p, shared_ptr< _Tp >
*__v, shared_ptr< _Tp > __w)
template<typename _Tp > bool atomic_compare_exchange_strong_explicit (shared_ptr< _Tp > *__p, shared_ptr<
_Tp > *__v, shared_ptr< _Tp > __w, memory_order__success, memory_order__failure)
template<typename _Tp > bool atomic_compare_exchange_weak (shared_ptr< _Tp > *__p, shared_ptr< _Tp >
*__v, shared_ptr< _Tp > __w)
template<typename _Tp > bool atomic_compare_exchange_weak_explicit (shared_ptr< _Tp > *__p, shared_ptr<
_Tp > *__v, shared_ptr< _Tp > __w, memory_order__success, memory_order__failure)
template<typename _Tp > voidatomic_exchange (shared_ptr< _Tp > *__p, shared_ptr< _Tp > __r)
template<typename _Tp > shared_ptr< _Tp > atomic_exchange_explicit (const shared_ptr< _Tp > *__p,
shared_ptr< _Tp > __r, memory_order__mo)
template<typename _Tp > bool atomic_is_lock_free (const shared_ptr< _Tp > *__p)
template<typename _Tp > shared_ptr< _Tp > atomic_load (const shared_ptr< _Tp > *__p)
template<typename _Tp > shared_ptr< _Tp > atomic_load_explicit (const shared_ptr< _Tp > *__p,
memory_order__mo)
template<typename _Tp > voidatomic_store (shared_ptr< _Tp > *__p, shared_ptr< _Tp > __r)
template<typename _Tp > shared_ptr< _Tp > atomic_store_explicit (const shared_ptr< _Tp > *__p,
shared_ptr< _Tp > __r, memory_order__mo)
template<typename _Tp , typename_Tp1 > shared_ptr< _Tp > const_pointer_cast (const shared_ptr< _Tp1 >
&__r) noexcept
template<typename _Tp , typename_Tp1 > shared_ptr< _Tp > dynamic_pointer_cast (const shared_ptr< _Tp1 >
&__r) noexcept
template<typename _CharT , typename _Traits , typename _Alloc , typename _Up > voiderase (basic_string<
_CharT, _Traits, _Alloc > &__cont, const _Up &__value)
template<typename _Tp , typename _Alloc , typename _Up > voiderase (deque< _Tp, _Alloc > &__cont, const
_Up &__value)
template<typename _Tp , typename _Alloc , typename _Up > voiderase (forward_list< _Tp, _Alloc > &__cont,
const _Up &__value)
template<typename _Tp , typename _Alloc , typename _Up > voiderase (list< _Tp, _Alloc > &__cont, const
_Up &__value)
template<typename _Tp , typename _Alloc , typename _Up > voiderase (vector< _Tp, _Alloc > &__cont, const
_Up &__value)
template<typename _CharT , typename _Traits , typename _Alloc , typename _Predicate > voiderase_if
(basic_string< _CharT, _Traits, _Alloc > &__cont, _Predicate __pred)
template<typename _Tp , typename _Alloc , typename _Predicate > voiderase_if (deque< _Tp, _Alloc >
&__cont, _Predicate __pred)
template<typename _Tp , typename _Alloc , typename _Predicate > voiderase_if (forward_list< _Tp, _Alloc
> &__cont, _Predicate __pred)
template<typename _Tp , typename _Alloc , typename _Predicate > voiderase_if (list< _Tp, _Alloc >
&__cont, _Predicate __pred)
template<typename_Key , typename _Tp , typename _Compare , typename _Alloc , typename _Predicate > voiderase_if (map< _Key, _Tp, _Compare, _Alloc > &__cont, _Predicate __pred)
template<typename_Key , typename _Tp , typename _Compare , typename _Alloc , typename _Predicate > voiderase_if (multimap< _Key, _Tp, _Compare, _Alloc > &__cont, _Predicate __pred)
template<typename_Key , typename _Compare , typename _Alloc , typename _Predicate > voiderase_if
(multiset< _Key, _Compare, _Alloc > &__cont, _Predicate __pred)
template<typename_Key , typename _Compare , typename _Alloc , typename _Predicate > voiderase_if (set<
_Key, _Compare, _Alloc > &__cont, _Predicate __pred)
template<typename_Key , typename _Tp , typename_Hash , typename_CPred , typename _Alloc , typename
_Predicate > voiderase_if (unordered_map< _Key, _Tp, _Hash, _CPred, _Alloc > &__cont, _Predicate
__pred)
template<typename_Key , typename _Tp , typename_Hash , typename_CPred , typename _Alloc , typename
_Predicate > voiderase_if (unordered_multimap< _Key, _Tp, _Hash, _CPred, _Alloc > &__cont,
_Predicate __pred)
template<typename_Key , typename_Hash , typename_CPred , typename _Alloc , typename _Predicate > voiderase_if (unordered_multiset< _Key, _Hash, _CPred, _Alloc > &__cont, _Predicate __pred)
template<typename_Key , typename_Hash , typename_CPred , typename _Alloc , typename _Predicate > voiderase_if (unordered_set< _Key, _Hash, _CPred, _Alloc > &__cont, _Predicate __pred)
template<typename _Tp , typename _Alloc , typename _Predicate > voiderase_if (vector< _Tp, _Alloc >
&__cont, _Predicate __pred)
template<typename_Mn , typename_Nn > constexpr common_type_t< _Mn, _Nn > gcd (_Mn__m, _Nn __n)
noexcept
Greatest common divisor.
template<typename_Del , typename _Tp > _Del * get_deleter (const shared_ptr< _Tp > &__p) noexcept
C++14 20.8.2.2.10.
template<typename _Tp > constexpr const _Tp & get_underlying (const propagate_const< _Tp > &__pt)
noexcept
template<typename _Tp > constexpr _Tp & get_underlying (propagate_const< _Tp > &__pt) noexcept
template<typename_Mn , typename_Nn > constexpr common_type_t< _Mn, _Nn > lcm (_Mn__m, _Nn __n)
Least common multiple.
template<typename_Dest = void, typename... _Types> constexpr array< typename __make_array_elem< _Dest,
_Types... >::type, sizeof...(_Types)> make_array (_Types &&... __t)
Create a std::array from a variable-length list of arguments.
template<typename _RAIter , typename_Hash = std::hash<typename
std::iterator_traits<_RAIter>::value_type>, typename_BinaryPredicate = equal_to<>>
boyer_moore_horspool_searcher< _RAIter, _Hash, _BinaryPredicate > make_boyer_moore_horspool_searcher
(_RAIter __pat_first, _RAIter __pat_last, _Hash__hf=_Hash(), _BinaryPredicate__pred=_BinaryPredicate())
Generator function for boyer_moore_horspool_searcher.
template<typename _RAIter , typename_Hash = std::hash<typename
std::iterator_traits<_RAIter>::value_type>, typename_BinaryPredicate = equal_to<>>
boyer_moore_searcher< _RAIter, _Hash, _BinaryPredicate > make_boyer_moore_searcher (_RAIter
__pat_first, _RAIter __pat_last, _Hash__hf=_Hash(), _BinaryPredicate__pred=_BinaryPredicate())
Generator function for boyer_moore_searcher.
template<typename_ForwardIterator , typename_BinaryPredicate = std::equal_to<>> default_searcher<
_ForwardIterator, _BinaryPredicate > make_default_searcher (_ForwardIterator__pat_first,
_ForwardIterator__pat_last, _BinaryPredicate__pred=_BinaryPredicate())
Generator function for default_searcher.
template<typename _Tp > observer_ptr< _Tp > make_observer (_Tp *__p) noexcept
template<typename _CharT , typename _Traits , typename _DelimT > ostream_joiner< decay_t< _DelimT >,
_CharT, _Traits > make_ostream_joiner (basic_ostream< _CharT, _Traits > &__os, _DelimT &&__delimiter)
Object generator for ostream_joiner.
template<typename _CharT , typename _Traits > constexpr bool operator!= (__type_identity_t<
basic_string_view< _CharT, _Traits > > __x, basic_string_view< _CharT, _Traits > __y) noexcept
template<typename _CharT , typename _Traits > constexpr bool operator!= (basic_string_view< _CharT,
_Traits > __x, __type_identity_t< basic_string_view< _CharT, _Traits > > __y) noexcept
template<typename _CharT , typename _Traits > constexpr bool operator!= (basic_string_view< _CharT,
_Traits > __x, basic_string_view< _CharT, _Traits > __y) noexcept
template<typename _Tp , typename _Up > constexpr bool operator!= (const _Tp &__t, const propagate_const<
_Up > &__pu)
template<typename _Tp , typename _Up > constexpr bool operator!= (const propagate_const< _Tp > &__pt,
const _Up &__u)
template<typename _Tp , typename _Up > constexpr bool operator!= (const propagate_const< _Tp > &__pt,
const propagate_const< _Up > &__pu)
template<typename _Tp > constexpr bool operator!= (const propagate_const< _Tp > &__pt, nullptr_t)
template<typename _Tp > bool operator!= (const shared_ptr< _Tp > &__a, nullptr_t) noexcept
template<typename_Tp1 , typename _Tp2 > bool operator!= (const shared_ptr< _Tp1 > &__a, const
shared_ptr< _Tp2 > &__b) noexcept
template<typename _Tp > constexpr bool operator!= (nullptr_t, const propagate_const< _Tp > &__pu)
template<typename _Tp > bool operator!= (nullptr_t, const shared_ptr< _Tp > &__a) noexcept
template<typename _Tp > bool operator!= (nullptr_t, observer_ptr< _Tp > __p) noexcept
template<typename _Tp > bool operator!= (observer_ptr< _Tp > __p, nullptr_t) noexcept
template<typename _Tp , typename _Up > bool operator!= (observer_ptr< _Tp > __p1, observer_ptr< _Up >
__p2)
constexpr basic_string_view< char > operator''sv (const char *__str, size_t __len) noexcept
constexpr basic_string_view< char16_t > operator''sv (const char16_t *__str, size_t __len) noexcept
constexpr basic_string_view< char32_t > operator''sv (const char32_t *__str, size_t __len) noexcept
constexpr basic_string_view< wchar_t > operator''sv (const wchar_t *__str, size_t __len) noexcept
template<typename _CharT , typename _Traits > constexpr bool operator< (__type_identity_t<
basic_string_view< _CharT, _Traits > > __x, basic_string_view< _CharT, _Traits > __y) noexcept
template<typename _CharT , typename _Traits > constexpr bool operator< (basic_string_view< _CharT,
_Traits > __x, __type_identity_t< basic_string_view< _CharT, _Traits > > __y) noexcept
template<typename _CharT , typename _Traits > constexpr bool operator< (basic_string_view< _CharT,
_Traits > __x, basic_string_view< _CharT, _Traits > __y) noexcept
template<typename _Tp , typename _Up > constexpr bool operator< (const _Tp &__t, const propagate_const<
_Up > &__pu)
template<typename _Tp , typename _Up > constexpr bool operator< (const propagate_const< _Tp > &__pt,
const _Up &__u)
template<typename _Tp , typename _Up > constexpr bool operator< (const propagate_const< _Tp > &__pt,
const propagate_const< _Up > &__pu)
template<typename _Tp > bool operator< (const shared_ptr< _Tp > &__a, nullptr_t) noexcept
template<typename_Tp1 , typename _Tp2 > bool operator< (const shared_ptr< _Tp1 > &__a, const shared_ptr<
_Tp2 > &__b) noexcept
template<typename _Tp > bool operator< (nullptr_t, const shared_ptr< _Tp > &__a) noexcept
template<typename _Tp , typename _Up > bool operator< (observer_ptr< _Tp > __p1, observer_ptr< _Up >
__p2)
template<typename _CharT , typename _Traits > basic_ostream< _CharT, _Traits > & operator<<
(basic_ostream< _CharT, _Traits > &__os, basic_string_view< _CharT, _Traits > __str)
template<typename_Ch , typename_Tr , typename _Tp > std::basic_ostream< _Ch, _Tr > & operator<<
(std::basic_ostream< _Ch, _Tr > &__os, const shared_ptr< _Tp > &__p)
template<typename _CharT , typename _Traits > constexpr bool operator<= (__type_identity_t<
basic_string_view< _CharT, _Traits > > __x, basic_string_view< _CharT, _Traits > __y) noexcept
template<typename _CharT , typename _Traits > constexpr bool operator<= (basic_string_view< _CharT,
_Traits > __x, __type_identity_t< basic_string_view< _CharT, _Traits > > __y) noexcept
template<typename _CharT , typename _Traits > constexpr bool operator<= (basic_string_view< _CharT,
_Traits > __x, basic_string_view< _CharT, _Traits > __y) noexcept
template<typename _Tp , typename _Up > constexpr bool operator<= (const _Tp &__t, const propagate_const<
_Up > &__pu)
template<typename _Tp , typename _Up > constexpr bool operator<= (const propagate_const< _Tp > &__pt,
const _Up &__u)
template<typename _Tp , typename _Up > constexpr bool operator<= (const propagate_const< _Tp > &__pt,
const propagate_const< _Up > &__pu)
template<typename _Tp > bool operator<= (const shared_ptr< _Tp > &__a, nullptr_t) noexcept
template<typename_Tp1 , typename _Tp2 > bool operator<= (const shared_ptr< _Tp1 > &__a, const
shared_ptr< _Tp2 > &__b) noexcept
template<typename _Tp > bool operator<= (nullptr_t, const shared_ptr< _Tp > &__a) noexcept
template<typename _Tp , typename _Up > bool operator<= (observer_ptr< _Tp > __p1, observer_ptr< _Up >
__p2)
template<typename _CharT , typename _Traits > constexpr bool operator== (__type_identity_t<
basic_string_view< _CharT, _Traits > > __x, basic_string_view< _CharT, _Traits > __y) noexcept
template<typename _CharT , typename _Traits > constexpr bool operator== (basic_string_view< _CharT,
_Traits > __x, __type_identity_t< basic_string_view< _CharT, _Traits > > __y) noexcept
template<typename _CharT , typename _Traits > constexpr bool operator== (basic_string_view< _CharT,
_Traits > __x, basic_string_view< _CharT, _Traits > __y) noexcept
template<typename _Tp , typename _Up > constexpr bool operator== (const _Tp &__t, const propagate_const<
_Up > &__pu)
template<typename _Tp , typename _Up > constexpr bool operator== (const propagate_const< _Tp > &__pt,
const _Up &__u)
template<typename _Tp , typename _Up > constexpr bool operator== (const propagate_const< _Tp > &__pt,
const propagate_const< _Up > &__pu)
template<typename _Tp > constexpr bool operator== (const propagate_const< _Tp > &__pt, nullptr_t)
template<typename _Tp > bool operator== (const shared_ptr< _Tp > &__a, nullptr_t) noexcept
template<typename_Tp1 , typename _Tp2 > bool operator== (const shared_ptr< _Tp1 > &__a, const
shared_ptr< _Tp2 > &__b) noexcept
template<typename _Tp > constexpr bool operator== (nullptr_t, const propagate_const< _Tp > &__pu)
template<typename _Tp > bool operator== (nullptr_t, const shared_ptr< _Tp > &__a) noexcept
template<typename _Tp > bool operator== (nullptr_t, observer_ptr< _Tp > __p) noexcept
template<typename _Tp > bool operator== (observer_ptr< _Tp > __p, nullptr_t) noexcept
template<typename _Tp , typename _Up > bool operator== (observer_ptr< _Tp > __p1, observer_ptr< _Up >
__p2)
template<typename _CharT , typename _Traits > constexpr bool operator> (__type_identity_t<
basic_string_view< _CharT, _Traits > > __x, basic_string_view< _CharT, _Traits > __y) noexcept
template<typename _CharT , typename _Traits > constexpr bool operator> (basic_string_view< _CharT,
_Traits > __x, __type_identity_t< basic_string_view< _CharT, _Traits > > __y) noexcept
template<typename _CharT , typename _Traits > constexpr bool operator> (basic_string_view< _CharT,
_Traits > __x, basic_string_view< _CharT, _Traits > __y) noexcept
template<typename _Tp , typename _Up > constexpr bool operator> (const _Tp &__t, const propagate_const<
_Up > &__pu)
template<typename _Tp , typename _Up > constexpr bool operator> (const propagate_const< _Tp > &__pt,
const _Up &__u)
template<typename _Tp , typename _Up > constexpr bool operator> (const propagate_const< _Tp > &__pt,
const propagate_const< _Up > &__pu)
template<typename _Tp > bool operator> (const shared_ptr< _Tp > &__a, nullptr_t) noexcept
template<typename_Tp1 , typename _Tp2 > bool operator> (const shared_ptr< _Tp1 > &__a, const shared_ptr<
_Tp2 > &__b) noexcept
template<typename _Tp > bool operator> (nullptr_t, const shared_ptr< _Tp > &__a) noexcept
template<typename _Tp , typename _Up > bool operator> (observer_ptr< _Tp > __p1, observer_ptr< _Up >
__p2)
template<typename _CharT , typename _Traits > constexpr bool operator>= (__type_identity_t<
basic_string_view< _CharT, _Traits > > __x, basic_string_view< _CharT, _Traits > __y) noexcept
template<typename _CharT , typename _Traits > constexpr bool operator>= (basic_string_view< _CharT,
_Traits > __x, __type_identity_t< basic_string_view< _CharT, _Traits > > __y) noexcept
template<typename _CharT , typename _Traits > constexpr bool operator>= (basic_string_view< _CharT,
_Traits > __x, basic_string_view< _CharT, _Traits > __y) noexcept
template<typename _Tp , typename _Up > constexpr bool operator>= (const _Tp &__t, const propagate_const<
_Up > &__pu)
template<typename _Tp , typename _Up > constexpr bool operator>= (const propagate_const< _Tp > &__pt,
const _Up &__u)
template<typename _Tp , typename _Up > constexpr bool operator>= (const propagate_const< _Tp > &__pt,
const propagate_const< _Up > &__pu)
template<typename _Tp > bool operator>= (const shared_ptr< _Tp > &__a, nullptr_t) noexcept
template<typename_Tp1 , typename _Tp2 > bool operator>= (const shared_ptr< _Tp1 > &__a, const
shared_ptr< _Tp2 > &__b) noexcept
template<typename _Tp > bool operator>= (nullptr_t, const shared_ptr< _Tp > &__a) noexcept
template<typename _Tp , typename _Up > bool operator>= (observer_ptr< _Tp > __p1, observer_ptr< _Up >
__p2)
template<typename _IntType > _IntType randint (_IntType __a, _IntType __b)
template<typename _Tp , typename_Tp1 > shared_ptr< _Tp > reinterpret_pointer_cast (const shared_ptr<
_Tp1 > &__r) noexcept
voidreseed ()
voidreseed (default_random_engine::result_type __value)
template<typename_PopulationIterator , typename_SampleIterator , typename_Distance > _SampleIteratorsample (_PopulationIterator __first, _PopulationIterator __last, _SampleIterator__out, _Distance
__n)
template<typename_PopulationIterator , typename_SampleIterator , typename_Distance , typename_UniformRandomNumberGenerator > _SampleIteratorsample (_PopulationIterator __first,
_PopulationIterator __last, _SampleIterator__out, _Distance __n, _UniformRandomNumberGenerator
&&__g)
Take a random sample from a population.
template<typename_ForwardIterator , typename_Searcher > _ForwardIteratorsearch (_ForwardIterator
__first, _ForwardIterator __last, const _Searcher &__searcher)
template<typename_RandomAccessIterator > voidshuffle (_RandomAccessIterator __first,
_RandomAccessIterator __last)
template<typename _Tp , typename_Tp1 > shared_ptr< _Tp > static_pointer_cast (const shared_ptr< _Tp1 >
&__r) noexcept
voidswap (any &__x, any &__y) noexcept
Exchange the states of two any objects.
template<typename _Tp > voidswap (observer_ptr< _Tp > &__p1, observer_ptr< _Tp > &__p2) noexcept
template<typename _Tp > constexpr enable_if_t< __is_swappable< _Tp >::value, void > swap
(propagate_const< _Tp > &__pt, propagate_const< _Tp > &__pt2) noexcept(__is_nothrow_swappable< _Tp
>::value)
template<typename _Tp > voidswap (shared_ptr< _Tp > &__a, shared_ptr< _Tp > &__b) noexcept
template<typename _Tp > voidswap (weak_ptr< _Tp > &__a, weak_ptr< _Tp > &__b) noexcept
template<typename _Tp , size_t _Nm> constexpr array< remove_cv_t< _Tp >, _Nm > to_array (_Tp(&__a)[_Nm])
noexcept(is_nothrow_constructible< remove_cv_t< _Tp >, _Tp & >::value)
Create a std::array from an array.
template<typename _ValueType > _ValueType any_cast (any &__any)
Access the contained object.
template<typename _ValueType , typenameenable_if<!is_move_constructible< _ValueType
>::value||is_lvalue_reference< _ValueType >::value, bool >::type = true> _ValueType any_cast
(any &&__any)
Access the contained object.
template<typename _ValueType , typenameenable_if< is_move_constructible< _ValueType >::value
&&!is_lvalue_reference< _ValueType >::value, bool >::type = false> _ValueType any_cast (any
&&__any)
Access the contained object.
template<typename _ValueType > const _ValueType * any_cast (const any *__any) noexcept
Access the contained object.
template<typename _ValueType > _ValueType * any_cast (any *__any) noexcept
Access the contained object.
Variables
template<typename_Yp , typename _Tp > constexpr bool __sp_compatible_v
template<typename _Tp , typename_Yp > constexpr bool __sp_is_constructible_v
constexpr in_place_tin_place
Tag for in-place construction.
template<typename _Tp > constexpr bool is_bind_expression_v
Variable template for std::is_bind_expression.
template<typename _Tp > constexpr bool is_error_code_enum_v
template<typename _Tp > constexpr bool is_error_condition_enum_v
template<typename _Tp > constexpr int is_placeholder_v
Variable template for std::is_placeholder.
constexpr nullopt_tnullopt
Tag to disengage optional objects.
template<typename_R1 , typename_R2 > constexpr bool ratio_equal_v
template<typename_R1 , typename_R2 > constexpr bool ratio_greater_equal_v
template<typename_R1 , typename_R2 > constexpr bool ratio_greater_v
template<typename_R1 , typename_R2 > constexpr bool ratio_less_equal_v
template<typename_R1 , typename_R2 > constexpr bool ratio_less_v
template<typename_R1 , typename_R2 > constexpr bool ratio_not_equal_v
template<typename _Tp > constexpr size_t tuple_size_v
template<typename _Tp > constexpr bool is_void_v
template<typename _Tp > constexpr bool is_null_pointer_v
template<typename _Tp > constexpr bool is_integral_v
template<typename _Tp > constexpr bool is_floating_point_v
template<typename _Tp > constexpr bool is_array_v
template<typename _Tp > constexpr bool is_pointer_v
template<typename _Tp > constexpr bool is_lvalue_reference_v
template<typename _Tp > constexpr bool is_rvalue_reference_v
template<typename _Tp > constexpr bool is_member_object_pointer_v
template<typename _Tp > constexpr bool is_member_function_pointer_v
template<typename _Tp > constexpr bool is_enum_v
template<typename _Tp > constexpr bool is_union_v
template<typename _Tp > constexpr bool is_class_v
template<typename _Tp > constexpr bool is_function_v
template<typename _Tp > constexpr bool is_reference_v
template<typename _Tp > constexpr bool is_arithmetic_v
template<typename _Tp > constexpr bool is_fundamental_v
template<typename _Tp > constexpr bool is_object_v
template<typename _Tp > constexpr bool is_scalar_v
template<typename _Tp > constexpr bool is_compound_v
template<typename _Tp > constexpr bool is_member_pointer_v
template<typename _Tp > constexpr bool is_const_v
template<typename _Tp > constexpr bool is_volatile_v
template<typename _Tp > constexpr bool is_trivial_v
template<typename _Tp > constexpr bool is_trivially_copyable_v
template<typename _Tp > constexpr bool is_standard_layout_v
template<typename _Tp > constexpr bool is_pod_v
template<typename _Tp > constexpr bool is_literal_type_v
template<typename _Tp > constexpr bool is_empty_v
template<typename _Tp > constexpr bool is_polymorphic_v
template<typename _Tp > constexpr bool is_abstract_v
template<typename _Tp > constexpr bool is_final_v
template<typename _Tp > constexpr bool is_signed_v
template<typename _Tp > constexpr bool is_unsigned_v
template<typename _Tp , typename... _Args> constexpr bool is_constructible_v
template<typename _Tp > constexpr bool is_default_constructible_v
template<typename _Tp > constexpr bool is_copy_constructible_v
template<typename _Tp > constexpr bool is_move_constructible_v
template<typename _Tp , typename _Up > constexpr bool is_assignable_v
template<typename _Tp > constexpr bool is_copy_assignable_v
template<typename _Tp > constexpr bool is_move_assignable_v
template<typename _Tp > constexpr bool is_destructible_v
template<typename _Tp , typename... _Args> constexpr bool is_trivially_constructible_v
template<typename _Tp > constexpr bool is_trivially_default_constructible_v
template<typename _Tp > constexpr bool is_trivially_copy_constructible_v
template<typename _Tp > constexpr bool is_trivially_move_constructible_v
template<typename _Tp , typename _Up > constexpr bool is_trivially_assignable_v
template<typename _Tp > constexpr bool is_trivially_copy_assignable_v
template<typename _Tp > constexpr bool is_trivially_move_assignable_v
template<typename _Tp > constexpr bool is_trivially_destructible_v
template<typename _Tp , typename... _Args> constexpr bool is_nothrow_constructible_v
template<typename _Tp > constexpr bool is_nothrow_default_constructible_v
template<typename _Tp > constexpr bool is_nothrow_copy_constructible_v
template<typename _Tp > constexpr bool is_nothrow_move_constructible_v
template<typename _Tp , typename _Up > constexpr bool is_nothrow_assignable_v
template<typename _Tp > constexpr bool is_nothrow_copy_assignable_v
template<typename _Tp > constexpr bool is_nothrow_move_assignable_v
template<typename _Tp > constexpr bool is_nothrow_destructible_v
template<typename _Tp > constexpr bool has_virtual_destructor_v
template<typename _Tp > constexpr size_t alignment_of_v
template<typename _Tp > constexpr size_t rank_v
template<typename _Tp , unsigned _Idx = 0> constexpr size_t extent_v
template<typename _Tp , typename _Up > constexpr bool is_same_v
template<typename _Tp > constexpr bool is_same_v<_Tp,_Tp>
template<typename _Base , typename_Derived > constexpr bool is_base_of_v
template<typename _From , typename_To > constexpr bool is_convertible_v
template<typename... _Bn> constexpr bool conjunction_v
template<typename... _Bn> constexpr bool disjunction_v
template<typename_Pp > constexpr bool negation_v
template<typename... > usingvoid_t = void
A metafunction that always yields void, used for detecting valid types.
template<typename_Default , template< typename... > class _Op, typename... _Args> usingdetected_or =
std::__detected_or< _Default, _Op, _Args... >
A metafunction that always yields void, used for detecting valid types.
template<typename_Default , template< typename... > class _Op, typename... _Args> usingdetected_or_t =
typename detected_or< _Default, _Op, _Args... >::type
A metafunction that always yields void, used for detecting valid types.
template<template< typename... > class _Op, typename... _Args> usingdetected_t = detected_or_t<
nonesuch, _Op, _Args... >
A metafunction that always yields void, used for detecting valid types.
template<template< typename... > class _Op, typename... _Args> usingis_detected = typename detected_or<
void, _Op, _Args... >::__is_detected
A metafunction that always yields void, used for detecting valid types.
template<typename_Expected , template< typename... > class _Op, typename... _Args> usingis_detected_exact = is_same< _Expected, detected_t< _Op, _Args... > >
A metafunction that always yields void, used for detecting valid types.
template<typename_To , template< typename... > class _Op, typename... _Args> usingis_detected_convertible = is_convertible< detected_t< _Op, _Args... >, _To >
A metafunction that always yields void, used for detecting valid types.
template<template< typename... > class _Op, typename... _Args> constexpr bool is_detected_v
A metafunction that always yields void, used for detecting valid types.
template<typename_Expected , template< typename... > class _Op, typename... _Args> constexpr bool
is_detected_exact_v
A metafunction that always yields void, used for detecting valid types.
template<typename_To , template< typename... > class _Op, typename... _Args> constexpr bool
is_detected_convertible_v
A metafunction that always yields void, used for detecting valid types.