std::experimental Namespace Reference

## Classes

class | any
class | bad_any_cast
class | bad_optional_access
class | basic_string_view
struct | in_place_t
struct | nullopt_t
class | optional
class | ostream_joiner
struct | owner_less< shared_ptr< _Tp > >
struct | owner_less< weak_ptr< _Tp > >
class | propagate_const

## 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 > >
using | erased_type = std::__erased_type
using | string_view = basic_string_view< char >
using | u16string_view = basic_string_view< char16_t >
using | u32string_view = basic_string_view< char32_t >
using | wstring_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)
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 >
void | atomic_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 >
void | atomic_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 >
void | erase (basic_string< _CharT, _Traits, _Alloc > &__cont, const _Up &__value)
template<typename _Tp , typename _Alloc , typename _Up >
void | erase (deque< _Tp, _Alloc > &__cont, const _Up &__value)
template<typename _Tp , typename _Alloc , typename _Up >
void | erase (forward_list< _Tp, _Alloc > &__cont, const _Up &__value)
template<typename _Tp , typename _Alloc , typename _Up >
void | erase (list< _Tp, _Alloc > &__cont, const _Up &__value)
template<typename _Tp , typename _Alloc , typename _Up >
void | erase (vector< _Tp, _Alloc > &__cont, const _Up &__value)
template<typename _CharT , typename _Traits , typename _Alloc , typename _Predicate >
void | erase_if (basic_string< _CharT, _Traits, _Alloc > &__cont, _Predicate __pred)
template<typename _Tp , typename _Alloc , typename _Predicate >
void | erase_if (deque< _Tp, _Alloc > &__cont, _Predicate __pred)
template<typename _Tp , typename _Alloc , typename _Predicate >
void | erase_if (forward_list< _Tp, _Alloc > &__cont, _Predicate __pred)
template<typename _Tp , typename _Alloc , typename _Predicate >
void | erase_if (list< _Tp, _Alloc > &__cont, _Predicate __pred)
template<typename _Key , typename _Tp , typename _Compare , typename _Alloc , typename _Predicate >
void | erase_if (map< _Key, _Tp, _Compare, _Alloc > &__cont, _Predicate __pred)
template<typename _Key , typename _Tp , typename _Compare , typename _Alloc , typename _Predicate >
void | erase_if (multimap< _Key, _Tp, _Compare, _Alloc > &__cont, _Predicate __pred)
template<typename _Key , typename _Compare , typename _Alloc , typename _Predicate >
void | erase_if (multiset< _Key, _Compare, _Alloc > &__cont, _Predicate __pred)
template<typename _Key , typename _Compare , typename _Alloc , typename _Predicate >
void | erase_if (set< _Key, _Compare, _Alloc > &__cont, _Predicate __pred)
template<typename _Key , typename _Tp , typename _Hash , typename _CPred , typename _Alloc , typename _Predicate >
void | erase_if (unordered_map< _Key, _Tp, _Hash, _CPred, _Alloc > &__cont, _Predicate __pred)
template<typename _Key , typename _Tp , typename _Hash , typename _CPred , typename _Alloc , typename _Predicate >
void | erase_if (unordered_multimap< _Key, _Tp, _Hash, _CPred, _Alloc > &__cont, _Predicate __pred)
template<typename _Key , typename _Hash , typename _CPred , typename _Alloc , typename _Predicate >
void | erase_if (unordered_multiset< _Key, _Hash, _CPred, _Alloc > &__cont, _Predicate __pred)
template<typename _Key , typename _Hash , typename _CPred , typename _Alloc , typename _Predicate >
void | erase_if (unordered_set< _Key, _Hash, _CPred, _Alloc > &__cont, _Predicate __pred)
template<typename _Tp , typename _Alloc , typename _Predicate >
void | erase_if (vector< _Tp, _Alloc > &__cont, _Predicate __pred)
template<typename _Mn , typename _Nn >
constexpr common_type_t< _Mn, _Nn > | gcd (_Mn __m, _Nn __n) noexcept
template<typename _Del , typename _Tp >
_Del * | get_deleter (const shared_ptr< _Tp > &__p) noexcept
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)
template<typename _Dest = void, typename... _Types>
constexpr array< typename __make_array_elem< _Dest, _Types... >::type, sizeof...(_Types)> | make_array (_Types &&... __t)
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())
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())
template<typename _ForwardIterator , typename _BinaryPredicate = std::equal_to<>>
default_searcher< _ForwardIterator, _BinaryPredicate > | make_default_searcher (_ForwardIterator __pat_first, _ForwardIterator __pat_last, _BinaryPredicate __pred=_BinaryPredicate())
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)
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
void | reseed ()
void | reseed (default_random_engine::result_type __value)
template<typename _PopulationIterator , typename _SampleIterator , typename _Distance >
_SampleIterator | sample (_PopulationIterator __first, _PopulationIterator __last, _SampleIterator __out, _Distance __n)
template<typename _PopulationIterator , typename _SampleIterator , typename _Distance , typename _UniformRandomNumberGenerator >
_SampleIterator | sample (_PopulationIterator __first, _PopulationIterator __last, _SampleIterator __out, _Distance __n, _UniformRandomNumberGenerator &&__g)
template<typename _ForwardIterator , typename _Searcher >
_ForwardIterator | search (_ForwardIterator __first, _ForwardIterator __last, const _Searcher &__searcher)
template<typename _RandomAccessIterator >
void | shuffle (_RandomAccessIterator __first, _RandomAccessIterator __last)
template<typename _Tp , typename _Tp1 >
shared_ptr< _Tp > | static_pointer_cast (const shared_ptr< _Tp1 > &__r) noexcept
void | swap (any &__x, any &__y) noexcept
template<typename _Tp >
void | swap (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 >
void | swap (shared_ptr< _Tp > &__a, shared_ptr< _Tp > &__b) noexcept
template<typename _Tp >
void | swap (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)
template<typename _ValueType >
_ValueType | any_cast (any &__any)
template<typename _ValueType , typename enable_if<!is_move_constructible< _ValueType >::value||is_lvalue_reference< _ValueType >::value, bool >::type = true>
_ValueType | any_cast (any &&__any)
template<typename _ValueType , typename enable_if< is_move_constructible< _ValueType >::value &&!is_lvalue_reference< _ValueType >::value, bool >::type = false>
_ValueType | any_cast (any &&__any)
template<typename _ValueType >
const _ValueType * | any_cast (const any *__any) noexcept
template<typename _ValueType >
_ValueType * | any_cast (any *__any) noexcept

## 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_t | in_place
template<typename _Tp >
constexpr bool | is_bind_expression_v
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
constexpr nullopt_t | nullopt
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... >
using | void_t = void
template<typename _Default , template< typename... > class _Op, typename... _Args>
using | detected_or = std::__detected_or< _Default, _Op, _Args... >
template<typename _Default , template< typename... > class _Op, typename... _Args>
using | detected_or_t = typename detected_or< _Default, _Op, _Args... >::type
template<template< typename... > class _Op, typename... _Args>
using | detected_t = detected_or_t< nonesuch, _Op, _Args... >
template<template< typename... > class _Op, typename... _Args>
using | is_detected = typename detected_or< void, _Op, _Args... >::__is_detected
template<typename _Expected , template< typename... > class _Op, typename... _Args>
using | is_detected_exact = is_same< _Expected, detected_t< _Op, _Args... > >
template<typename _To , template< typename... > class _Op, typename... _Args>
using | is_detected_convertible = is_convertible< detected_t< _Op, _Args... >, _To >
template<template< typename... > class _Op, typename... _Args>
constexpr bool | is_detected_v
template<typename _Expected , template< typename... > class _Op, typename... _Args>
constexpr bool | is_detected_exact_v
template<typename _To , template< typename... > class _Op, typename... _Args>
constexpr bool | is_detected_convertible_v

## Detailed Description

Namespace for features defined in ISO Technical Specifications.

## Typedef Documentation

## __boyer_moore_base_t

template<typename _RAIter , typename _Hash , typename _Pred , typename _Val = typename iterator_traits<_RAIter>::value_type, typename _Diff = typename iterator_traits<_RAIter>::difference_type>

using std::experimental::fundamentals_v1::__boyer_moore_base_t = typedef 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> >

Definition at line 166 of file experimental/functional.

## erased_type

using std::experimental::fundamentals_v2::erased_type = typedef std::__erased_type

Definition at line 44 of file experimental/utility.

## string_view

using std::experimental::fundamentals_v1::string_view = typedef basic_string_view<char>

Definition at line 566 of file experimental/string_view.

## u16string_view

using std::experimental::fundamentals_v1::u16string_view = typedef basic_string_view<char16_t>

Definition at line 571 of file experimental/string_view.

## u32string_view

using std::experimental::fundamentals_v1::u32string_view = typedef basic_string_view<char32_t>

Definition at line 572 of file experimental/string_view.

## wstring_view

using std::experimental::fundamentals_v1::wstring_view = typedef basic_string_view<wchar_t>

Definition at line 567 of file experimental/string_view.

## Function Documentation

## __apply_impl()

template<typename _Fn , typename _Tuple , std::size_t... _Idx>

constexpr decltype(auto) std::experimental::fundamentals_v1::__apply_impl | ( | _Fn && | __f,
|  | _Tuple && | __t,
|  | std::index_sequence< _Idx... > |
| ) |  |

constexpr

Definition at line 57 of file experimental/tuple.

## _S_randint_engine()

std::default_random_engine & std::experimental::fundamentals_v2::_S_randint_engine | ( |  | ) |

inline

Definition at line 45 of file experimental/random.

## apply()

template<typename _Fn , typename _Tuple >

constexpr decltype(auto) std::experimental::fundamentals_v1::apply | ( | _Fn && | __f,
|  | _Tuple && | __t
| ) |  |

constexpr

Definition at line 65 of file experimental/tuple.

## atomic_compare_exchange_strong()

template<typename _Tp >

bool std::experimental::fundamentals_v2::atomic_compare_exchange_strong | ( | shared_ptr< _Tp > * | __p,
|  | shared_ptr< _Tp > * | __v,
|  | shared_ptr< _Tp > | __w
| ) |  |

Definition at line 593 of file experimental/bits/shared_ptr.h.

## atomic_compare_exchange_strong_explicit()

template<typename _Tp >

bool std::experimental::fundamentals_v2::atomic_compare_exchange_strong_explicit | ( | shared_ptr< _Tp > * | __p,
|  | shared_ptr< _Tp > * | __v,
|  | shared_ptr< _Tp > | __w,
|  | memory_order | __success,
|  | memory_order | __failure
| ) |  |

Definition at line 609 of file experimental/bits/shared_ptr.h.

## atomic_compare_exchange_weak()

template<typename _Tp >

bool std::experimental::fundamentals_v2::atomic_compare_exchange_weak | ( | shared_ptr< _Tp > * | __p,
|  | shared_ptr< _Tp > * | __v,
|  | shared_ptr< _Tp > | __w
| ) |  |

Definition at line 587 of file experimental/bits/shared_ptr.h.

## atomic_compare_exchange_weak_explicit()

template<typename _Tp >

bool std::experimental::fundamentals_v2::atomic_compare_exchange_weak_explicit | ( | shared_ptr< _Tp > * | __p,
|  | shared_ptr< _Tp > * | __v,
|  | shared_ptr< _Tp > | __w,
|  | memory_order | __success,
|  | memory_order | __failure
| ) |  |

Definition at line 599 of file experimental/bits/shared_ptr.h.

## atomic_exchange()

template<typename _Tp >

void std::experimental::fundamentals_v2::atomic_exchange | ( | shared_ptr< _Tp > * | __p,
|  | shared_ptr< _Tp > | __r
| ) |  |

Definition at line 576 of file experimental/bits/shared_ptr.h.

## atomic_exchange_explicit()

template<typename _Tp >

shared_ptr< _Tp > std::experimental::fundamentals_v2::atomic_exchange_explicit | ( | const shared_ptr< _Tp > * | __p,
|  | shared_ptr< _Tp > | __r,
|  | memory_order | __mo
| ) |  |

Definition at line 581 of file experimental/bits/shared_ptr.h.

## atomic_is_lock_free()

template<typename _Tp >

bool std::experimental::fundamentals_v2::atomic_is_lock_free | ( | const shared_ptr< _Tp > * | __p | ) |

inline

Definition at line 552 of file experimental/bits/shared_ptr.h.

## atomic_load()

template<typename _Tp >

shared_ptr< _Tp > std::experimental::fundamentals_v2::atomic_load | ( | const shared_ptr< _Tp > * | __p | ) |

Definition at line 556 of file experimental/bits/shared_ptr.h.

## atomic_load_explicit()

template<typename _Tp >

shared_ptr< _Tp > std::experimental::fundamentals_v2::atomic_load_explicit | ( | const shared_ptr< _Tp > * | __p,
|  | memory_order | __mo
| ) |  |

Definition at line 561 of file experimental/bits/shared_ptr.h.

## atomic_store()

template<typename _Tp >

void std::experimental::fundamentals_v2::atomic_store | ( | shared_ptr< _Tp > * | __p,
|  | shared_ptr< _Tp > | __r
| ) |  |

Definition at line 565 of file experimental/bits/shared_ptr.h.

## atomic_store_explicit()

template<typename _Tp >

shared_ptr< _Tp > std::experimental::fundamentals_v2::atomic_store_explicit | ( | const shared_ptr< _Tp > * | __p,
|  | shared_ptr< _Tp > | __r,
|  | memory_order | __mo
| ) |  |

Definition at line 570 of file experimental/bits/shared_ptr.h.

## const_pointer_cast()

template<typename _Tp , typename _Tp1 >

shared_ptr< _Tp > std::experimental::fundamentals_v2::const_pointer_cast | ( | const shared_ptr< _Tp1 > & | __r | ) |

inline noexcept

Definition at line 404 of file experimental/bits/shared_ptr.h.

## dynamic_pointer_cast()

template<typename _Tp , typename _Tp1 >

shared_ptr< _Tp > std::experimental::fundamentals_v2::dynamic_pointer_cast | ( | const shared_ptr< _Tp1 > & | __r | ) |

inline noexcept

Definition at line 394 of file experimental/bits/shared_ptr.h.

## erase() [1/5]

template<typename _CharT , typename _Traits , typename _Alloc , typename _Up >

void std::experimental::fundamentals_v2::erase | ( | basic_string< _CharT, _Traits, _Alloc > & | __cont,
|  | const _Up & | __value
| ) |  |

inline

Definition at line 60 of file experimental/string.

## erase() [2/5]

template<typename _Tp , typename _Alloc , typename _Up >

void std::experimental::fundamentals_v2::erase | ( | deque< _Tp, _Alloc > & | __cont,
|  | const _Up & | __value
| ) |  |

inline

Definition at line 59 of file experimental/deque.

## erase() [3/5]

template<typename _Tp , typename _Alloc , typename _Up >

void std::experimental::fundamentals_v2::erase | ( | forward_list< _Tp, _Alloc > & | __cont,
|  | const _Up & | __value
| ) |  |

inline

Definition at line 55 of file experimental/forward_list.

## erase() [4/5]

template<typename _Tp , typename _Alloc , typename _Up >

void std::experimental::fundamentals_v2::erase | ( | list< _Tp, _Alloc > & | __cont,
|  | const _Up & | __value
| ) |  |

inline

Definition at line 55 of file experimental/list.

## erase() [5/5]

template<typename _Tp , typename _Alloc , typename _Up >

void std::experimental::fundamentals_v2::erase | ( | vector< _Tp, _Alloc > & | __cont,
|  | const _Up & | __value
| ) |  |

inline

Definition at line 61 of file experimental/vector.

## erase_if() [1/13]

template<typename _CharT , typename _Traits , typename _Alloc , typename _Predicate >

void std::experimental::fundamentals_v2::erase_if | ( | basic_string< _CharT, _Traits, _Alloc > & | __cont,
|  | _Predicate | __pred
| ) |  |

inline

Definition at line 52 of file experimental/string.

## erase_if() [2/13]

template<typename _Tp , typename _Alloc , typename _Predicate >

void std::experimental::fundamentals_v2::erase_if | ( | deque< _Tp, _Alloc > & | __cont,
|  | _Predicate | __pred
| ) |  |

inline

Definition at line 51 of file experimental/deque.

## erase_if() [3/13]

template<typename _Tp , typename _Alloc , typename _Predicate >

void std::experimental::fundamentals_v2::erase_if | ( | forward_list< _Tp, _Alloc > & | __cont,
|  | _Predicate | __pred
| ) |  |

inline

Definition at line 50 of file experimental/forward_list.

## erase_if() [4/13]

template<typename _Tp , typename _Alloc , typename _Predicate >

void std::experimental::fundamentals_v2::erase_if | ( | list< _Tp, _Alloc > & | __cont,
|  | _Predicate | __pred
| ) |  |

inline

Definition at line 50 of file experimental/list.

## erase_if() [5/13]

template<typename _Key , typename _Tp , typename _Compare , typename _Alloc , typename _Predicate >

void std::experimental::fundamentals_v2::erase_if | ( | map< _Key, _Tp, _Compare, _Alloc > & | __cont,
|  | _Predicate | __pred
| ) |  |

inline

Definition at line 52 of file experimental/map.

## erase_if() [6/13]

template<typename _Key , typename _Tp , typename _Compare , typename _Alloc , typename _Predicate >

void std::experimental::fundamentals_v2::erase_if | ( | multimap< _Key, _Tp, _Compare, _Alloc > & | __cont,
|  | _Predicate | __pred
| ) |  |

inline

Definition at line 61 of file experimental/map.

## erase_if() [7/13]

template<typename _Key , typename _Compare , typename _Alloc , typename _Predicate >

void std::experimental::fundamentals_v2::erase_if | ( | multiset< _Key, _Compare, _Alloc > & | __cont,
|  | _Predicate | __pred
| ) |  |

inline

Definition at line 61 of file experimental/set.

## erase_if() [8/13]

template<typename _Key , typename _Compare , typename _Alloc , typename _Predicate >

void std::experimental::fundamentals_v2::erase_if | ( | set< _Key, _Compare, _Alloc > & | __cont,
|  | _Predicate | __pred
| ) |  |

inline

Definition at line 52 of file experimental/set.

## erase_if() [9/13]

template<typename _Key , typename _Tp , typename _Hash , typename _CPred , typename _Alloc , typename _Predicate >

void std::experimental::fundamentals_v2::erase_if | ( | unordered_map< _Key, _Tp, _Hash, _CPred, _Alloc > & | __cont,
|  | _Predicate | __pred
| ) |  |

inline

Definition at line 52 of file experimental/unordered_map.

## erase_if() [10/13]

template<typename _Key , typename _Tp , typename _Hash , typename _CPred , typename _Alloc , typename _Predicate >

void std::experimental::fundamentals_v2::erase_if | ( | unordered_multimap< _Key, _Tp, _Hash, _CPred, _Alloc > & | __cont,
|  | _Predicate | __pred
| ) |  |

inline

Definition at line 63 of file experimental/unordered_map.

## erase_if() [11/13]

template<typename _Key , typename _Hash , typename _CPred , typename _Alloc , typename _Predicate >

void std::experimental::fundamentals_v2::erase_if | ( | unordered_multiset< _Key, _Hash, _CPred, _Alloc > & | __cont,
|  | _Predicate | __pred
| ) |  |

inline

Definition at line 63 of file experimental/unordered_set.

## erase_if() [12/13]

template<typename _Key , typename _Hash , typename _CPred , typename _Alloc , typename _Predicate >

void std::experimental::fundamentals_v2::erase_if | ( | unordered_set< _Key, _Hash, _CPred, _Alloc > & | __cont,
|  | _Predicate | __pred
| ) |  |

inline

Definition at line 52 of file experimental/unordered_set.

## erase_if() [13/13]

template<typename _Tp , typename _Alloc , typename _Predicate >

void std::experimental::fundamentals_v2::erase_if | ( | vector< _Tp, _Alloc > & | __cont,
|  | _Predicate | __pred
| ) |  |

inline

Definition at line 53 of file experimental/vector.

## gcd()

template<typename _Mn , typename _Nn >

constexpr common_type_t< _Mn, _Nn > std::experimental::fundamentals_v2::gcd | ( | _Mn | __m,
|  | _Nn | __n
| ) |  |

constexpr noexcept

Greatest common divisor.

Definition at line 57 of file experimental/numeric.

## get_deleter()

template<typename _Del , typename _Tp >

_Del * std::experimental::fundamentals_v2::get_deleter | ( | const shared_ptr< _Tp > & | __p | ) |

inline noexcept

C++14 20.8.2.2.10.

Definition at line 492 of file experimental/bits/shared_ptr.h.

## lcm()

template<typename _Mn , typename _Nn >

constexpr common_type_t< _Mn, _Nn > std::experimental::fundamentals_v2::lcm | ( | _Mn | __m,
|  | _Nn | __n
| ) |  |

constexpr

Least common multiple.

Definition at line 73 of file experimental/numeric.

## make_boyer_moore_horspool_searcher()

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 > std::experimental::fundamentals_v1::make_boyer_moore_horspool_searcher | ( | _RAIter | __pat_first,
|  | _RAIter | __pat_last,
|  | _Hash | __hf = `_Hash()`,
|  | _BinaryPredicate | __pred = `_BinaryPredicate()`
| ) |  |

inline

Generator function for boyer_moore_horspool_searcher.

Definition at line 303 of file experimental/functional.

## make_boyer_moore_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 > std::experimental::fundamentals_v1::make_boyer_moore_searcher | ( | _RAIter | __pat_first,
|  | _RAIter | __pat_last,
|  | _Hash | __hf = `_Hash()`,
|  | _BinaryPredicate | __pred = `_BinaryPredicate()`
| ) |  |

inline

Generator function for boyer_moore_searcher.

Definition at line 293 of file experimental/functional.

## make_default_searcher()

template<typename _ForwardIterator , typename _BinaryPredicate = std::equal_to<>>

default_searcher< _ForwardIterator, _BinaryPredicate > std::experimental::fundamentals_v1::make_default_searcher | ( | _ForwardIterator | __pat_first,
|  | _ForwardIterator | __pat_last,
|  | _BinaryPredicate | __pred = `_BinaryPredicate()`
| ) |  |

inline

Generator function for default_searcher.

Definition at line 283 of file experimental/functional.

## make_observer()

template<typename _Tp >

observer_ptr< _Tp > std::experimental::fundamentals_v2::make_observer | ( | _Tp * | __p | ) |

noexcept

Definition at line 155 of file experimental/memory.

## make_ostream_joiner()

template<typename _CharT , typename _Traits , typename _DelimT >

ostream_joiner< decay_t< _DelimT >, _CharT, _Traits > std::experimental::fundamentals_v2::make_ostream_joiner | ( | basic_ostream< _CharT, _Traits > & | __os,
|  | _DelimT && | __delimiter
| ) |  |

inline

Object generator for ostream_joiner.

Definition at line 104 of file experimental/iterator.

## operator!=() [1/9]

template<typename _CharT , typename _Traits >

constexpr bool std::experimental::fundamentals_v1::operator!= | ( | __type_identity_t< basic_string_view< _CharT, _Traits > > | __x,
|  | basic_string_view< _CharT, _Traits > | __y
| ) |  |

constexpr noexcept

Definition at line 476 of file experimental/string_view.

## operator!=() [2/9]

template<typename _CharT , typename _Traits >

constexpr bool std::experimental::fundamentals_v1::operator!= | ( | basic_string_view< _CharT, _Traits > | __x,
|  | __type_identity_t< basic_string_view< _CharT, _Traits > > | __y
| ) |  |

constexpr noexcept

Definition at line 469 of file experimental/string_view.

## operator!=() [3/9]

template<typename _CharT , typename _Traits >

constexpr bool std::experimental::fundamentals_v1::operator!= | ( | basic_string_view< _CharT, _Traits > | __x,
|  | basic_string_view< _CharT, _Traits > | __y
| ) |  |

constexpr noexcept

Definition at line 463 of file experimental/string_view.

## operator!=() [4/9]

template<typename _Tp >

bool std::experimental::fundamentals_v2::operator!= | ( | const shared_ptr< _Tp > & | __a,
|  | nullptr_t |
| ) |  |

inline noexcept

Definition at line 288 of file experimental/bits/shared_ptr.h.

## operator!=() [5/9]

template<typename _Tp1 , typename _Tp2 >

bool std::experimental::fundamentals_v2::operator!= | ( | const shared_ptr< _Tp1 > & | __a,
|  | const shared_ptr< _Tp2 > & | __b
| ) |  |

inline noexcept

Definition at line 282 of file experimental/bits/shared_ptr.h.

## operator!=() [6/9]

template<typename _Tp >

bool std::experimental::fundamentals_v2::operator!= | ( | nullptr_t | ,
|  | const shared_ptr< _Tp > & | __a
| ) |  |

inline noexcept

Definition at line 293 of file experimental/bits/shared_ptr.h.

## operator!=() [7/9]

template<typename _Tp >

bool std::experimental::fundamentals_v2::operator!= | ( | nullptr_t | ,
|  | observer_ptr< _Tp > | __p
| ) |  |

noexcept

Definition at line 197 of file experimental/memory.

## operator!=() [8/9]

template<typename _Tp >

bool std::experimental::fundamentals_v2::operator!= | ( | observer_ptr< _Tp > | __p,
|  | nullptr_t |
| ) |  |

noexcept

Definition at line 190 of file experimental/memory.

## operator!=() [9/9]

template<typename _Tp , typename _Up >

bool std::experimental::fundamentals_v2::operator!= | ( | observer_ptr< _Tp > | __p1,
|  | observer_ptr< _Up > | __p2
| ) |  |

Definition at line 169 of file experimental/memory.

## operator""sv() [1/4]

constexpr basic_string_view< char > std::experimental::literals::string_view_literals::operator""sv | ( | const char * | __str,
|  | size_t | __len
| ) |  |

inline constexpr noexcept

Definition at line 661 of file experimental/string_view.

## operator""sv() [2/4]

constexpr basic_string_view< char16_t > std::experimental::literals::string_view_literals::operator""sv | ( | const char16_t * | __str,
|  | size_t | __len
| ) |  |

inline constexpr noexcept

Definition at line 675 of file experimental/string_view.

## operator""sv() [3/4]

constexpr basic_string_view< char32_t > std::experimental::literals::string_view_literals::operator""sv | ( | const char32_t * | __str,
|  | size_t | __len
| ) |  |

inline constexpr noexcept

Definition at line 679 of file experimental/string_view.

## operator""sv() [4/4]

constexpr basic_string_view< wchar_t > std::experimental::literals::string_view_literals::operator""sv | ( | const wchar_t * | __str,
|  | size_t | __len
| ) |  |

inline constexpr noexcept

Definition at line 665 of file experimental/string_view.

## operator<() [1/7]

template<typename _CharT , typename _Traits >

constexpr bool std::experimental::fundamentals_v1::operator< | ( | __type_identity_t< basic_string_view< _CharT, _Traits > > | __x,
|  | basic_string_view< _CharT, _Traits > | __y
| ) |  |

constexpr noexcept

Definition at line 494 of file experimental/string_view.

## operator<() [2/7]

template<typename _CharT , typename _Traits >

constexpr bool std::experimental::fundamentals_v1::operator< | ( | basic_string_view< _CharT, _Traits > | __x,
|  | __type_identity_t< basic_string_view< _CharT, _Traits > > | __y
| ) |  |

constexpr noexcept

Definition at line 487 of file experimental/string_view.

## operator<() [3/7]

template<typename _CharT , typename _Traits >

constexpr bool std::experimental::fundamentals_v1::operator< | ( | basic_string_view< _CharT, _Traits > | __x,
|  | basic_string_view< _CharT, _Traits > | __y
| ) |  |

constexpr noexcept

Definition at line 481 of file experimental/string_view.

## operator<() [4/7]

template<typename _Tp >

bool std::experimental::fundamentals_v2::operator< | ( | const shared_ptr< _Tp > & | __a,
|  | nullptr_t |
| ) |  |

inline noexcept

Definition at line 308 of file experimental/bits/shared_ptr.h.

## operator<() [5/7]

template<typename _Tp1 , typename _Tp2 >

bool std::experimental::fundamentals_v2::operator< | ( | const shared_ptr< _Tp1 > & | __a,
|  | const shared_ptr< _Tp2 > & | __b
| ) |  |

inline noexcept

Definition at line 297 of file experimental/bits/shared_ptr.h.

## operator<() [6/7]

template<typename _Tp >

bool std::experimental::fundamentals_v2::operator< | ( | nullptr_t | ,
|  | const shared_ptr< _Tp > & | __a
| ) |  |

inline noexcept

Definition at line 316 of file experimental/bits/shared_ptr.h.

## operator<() [7/7]

template<typename _Tp , typename _Up >

bool std::experimental::fundamentals_v2::operator< | ( | observer_ptr< _Tp > | __p1,
|  | observer_ptr< _Up > | __p2
| ) |  |

Definition at line 203 of file experimental/memory.

## operator<<() [1/2]

template<typename _CharT , typename _Traits >

basic_ostream< _CharT, _Traits > & std::experimental::fundamentals_v1::operator<< | ( | basic_ostream< _CharT, _Traits > & | __os,
|  | basic_string_view< _CharT, _Traits > | __str
| ) |  |

inline

Definition at line 552 of file experimental/string_view.

## operator<<() [2/2]

template<typename _Ch , typename _Tr , typename _Tp >

std::basic_ostream< _Ch, _Tr > & std::experimental::fundamentals_v2::operator<< | ( | std::basic_ostream< _Ch, _Tr > & | __os,
|  | const shared_ptr< _Tp > & | __p
| ) |  |

inline

Definition at line 492 of file experimental/bits/shared_ptr.h.

## operator<=() [1/7]

template<typename _CharT , typename _Traits >

constexpr bool std::experimental::fundamentals_v1::operator<= | ( | __type_identity_t< basic_string_view< _CharT, _Traits > > | __x,
|  | basic_string_view< _CharT, _Traits > | __y
| ) |  |

constexpr noexcept

Definition at line 532 of file experimental/string_view.

## operator<=() [2/7]

template<typename _CharT , typename _Traits >

constexpr bool std::experimental::fundamentals_v1::operator<= | ( | basic_string_view< _CharT, _Traits > | __x,
|  | __type_identity_t< basic_string_view< _CharT, _Traits > > | __y
| ) |  |

constexpr noexcept

Definition at line 525 of file experimental/string_view.

## operator<=() [3/7]

template<typename _CharT , typename _Traits >

constexpr bool std::experimental::fundamentals_v1::operator<= | ( | basic_string_view< _CharT, _Traits > | __x,
|  | basic_string_view< _CharT, _Traits > | __y
| ) |  |

constexpr noexcept

Definition at line 519 of file experimental/string_view.

## operator<=() [4/7]

template<typename _Tp >

bool std::experimental::fundamentals_v2::operator<= | ( | const shared_ptr< _Tp > & | __a,
|  | nullptr_t |
| ) |  |

inline noexcept

Definition at line 330 of file experimental/bits/shared_ptr.h.

## operator<=() [5/7]

template<typename _Tp1 , typename _Tp2 >

bool std::experimental::fundamentals_v2::operator<= | ( | const shared_ptr< _Tp1 > & | __a,
|  | const shared_ptr< _Tp2 > & | __b
| ) |  |

inline noexcept

Definition at line 324 of file experimental/bits/shared_ptr.h.

## operator<=() [6/7]

template<typename _Tp >

bool std::experimental::fundamentals_v2::operator<= | ( | nullptr_t | ,
|  | const shared_ptr< _Tp > & | __a
| ) |  |

inline noexcept

Definition at line 335 of file experimental/bits/shared_ptr.h.

## operator<=() [7/7]

template<typename _Tp , typename _Up >

bool std::experimental::fundamentals_v2::operator<= | ( | observer_ptr< _Tp > | __p1,
|  | observer_ptr< _Up > | __p2
| ) |  |

Definition at line 220 of file experimental/memory.

## operator==() [1/9]

template<typename _CharT , typename _Traits >

constexpr bool std::experimental::fundamentals_v1::operator== | ( | __type_identity_t< basic_string_view< _CharT, _Traits > > | __x,
|  | basic_string_view< _CharT, _Traits > | __y
| ) |  |

constexpr noexcept

Definition at line 457 of file experimental/string_view.

## operator==() [2/9]

template<typename _CharT , typename _Traits >

constexpr bool std::experimental::fundamentals_v1::operator== | ( | basic_string_view< _CharT, _Traits > | __x,
|  | __type_identity_t< basic_string_view< _CharT, _Traits > > | __y
| ) |  |

constexpr noexcept

Definition at line 450 of file experimental/string_view.

## operator==() [3/9]

template<typename _CharT , typename _Traits >

constexpr bool std::experimental::fundamentals_v1::operator== | ( | basic_string_view< _CharT, _Traits > | __x,
|  | basic_string_view< _CharT, _Traits > | __y
| ) |  |

constexpr noexcept

Definition at line 444 of file experimental/string_view.

## operator==() [4/9]

template<typename _Tp >

bool std::experimental::fundamentals_v2::operator== | ( | const shared_ptr< _Tp > & | __a,
|  | nullptr_t |
| ) |  |

inline noexcept

Definition at line 272 of file experimental/bits/shared_ptr.h.

## operator==() [5/9]

template<typename _Tp1 , typename _Tp2 >

bool std::experimental::fundamentals_v2::operator== | ( | const shared_ptr< _Tp1 > & | __a,
|  | const shared_ptr< _Tp2 > & | __b
| ) |  |

noexcept

Definition at line 266 of file experimental/bits/shared_ptr.h.

## operator==() [6/9]

template<typename _Tp >

bool std::experimental::fundamentals_v2::operator== | ( | nullptr_t | ,
|  | const shared_ptr< _Tp > & | __a
| ) |  |

inline noexcept

Definition at line 277 of file experimental/bits/shared_ptr.h.

## operator==() [7/9]

template<typename _Tp >

bool std::experimental::fundamentals_v2::operator== | ( | nullptr_t | ,
|  | observer_ptr< _Tp > | __p
| ) |  |

noexcept

Definition at line 183 of file experimental/memory.

## operator==() [8/9]

template<typename _Tp >

bool std::experimental::fundamentals_v2::operator== | ( | observer_ptr< _Tp > | __p,
|  | nullptr_t |
| ) |  |

noexcept

Definition at line 176 of file experimental/memory.

## operator==() [9/9]

template<typename _Tp , typename _Up >

bool std::experimental::fundamentals_v2::operator== | ( | observer_ptr< _Tp > | __p1,
|  | observer_ptr< _Up > | __p2
| ) |  |

Definition at line 162 of file experimental/memory.

## operator>() [1/7]

template<typename _CharT , typename _Traits >

constexpr bool std::experimental::fundamentals_v1::operator> | ( | __type_identity_t< basic_string_view< _CharT, _Traits > > | __x,
|  | basic_string_view< _CharT, _Traits > | __y
| ) |  |

constexpr noexcept

Definition at line 514 of file experimental/string_view.

## operator>() [2/7]

template<typename _CharT , typename _Traits >

constexpr bool std::experimental::fundamentals_v1::operator> | ( | basic_string_view< _CharT, _Traits > | __x,
|  | __type_identity_t< basic_string_view< _CharT, _Traits > > | __y
| ) |  |

constexpr noexcept

Definition at line 507 of file experimental/string_view.

## operator>() [3/7]

template<typename _CharT , typename _Traits >

constexpr bool std::experimental::fundamentals_v1::operator> | ( | basic_string_view< _CharT, _Traits > | __x,
|  | basic_string_view< _CharT, _Traits > | __y
| ) |  |

constexpr noexcept

Definition at line 501 of file experimental/string_view.

## operator>() [4/7]

template<typename _Tp >

bool std::experimental::fundamentals_v2::operator> | ( | const shared_ptr< _Tp > & | __a,
|  | nullptr_t |
| ) |  |

inline noexcept

Definition at line 347 of file experimental/bits/shared_ptr.h.

## operator>() [5/7]

template<typename _Tp1 , typename _Tp2 >

bool std::experimental::fundamentals_v2::operator> | ( | const shared_ptr< _Tp1 > & | __a,
|  | const shared_ptr< _Tp2 > & | __b
| ) |  |

inline noexcept

Definition at line 341 of file experimental/bits/shared_ptr.h.

## operator>() [6/7]

template<typename _Tp >

bool std::experimental::fundamentals_v2::operator> | ( | nullptr_t | ,
|  | const shared_ptr< _Tp > & | __a
| ) |  |

inline noexcept

Definition at line 355 of file experimental/bits/shared_ptr.h.

## operator>() [7/7]

template<typename _Tp , typename _Up >

bool std::experimental::fundamentals_v2::operator> | ( | observer_ptr< _Tp > | __p1,
|  | observer_ptr< _Up > | __p2
| ) |  |

Definition at line 214 of file experimental/memory.

## operator>=() [1/7]

template<typename _CharT , typename _Traits >

constexpr bool std::experimental::fundamentals_v1::operator>= | ( | __type_identity_t< basic_string_view< _CharT, _Traits > > | __x,
|  | basic_string_view< _CharT, _Traits > | __y
| ) |  |

constexpr noexcept

Definition at line 552 of file experimental/string_view.

## operator>=() [2/7]

template<typename _CharT , typename _Traits >

constexpr bool std::experimental::fundamentals_v1::operator>= | ( | basic_string_view< _CharT, _Traits > | __x,
|  | __type_identity_t< basic_string_view< _CharT, _Traits > > | __y
| ) |  |

constexpr noexcept

Definition at line 545 of file experimental/string_view.

## operator>=() [3/7]

template<typename _CharT , typename _Traits >

constexpr bool std::experimental::fundamentals_v1::operator>= | ( | basic_string_view< _CharT, _Traits > | __x,
|  | basic_string_view< _CharT, _Traits > | __y
| ) |  |

constexpr noexcept

Definition at line 539 of file experimental/string_view.

## operator>=() [4/7]

template<typename _Tp >

bool std::experimental::fundamentals_v2::operator>= | ( | const shared_ptr< _Tp > & | __a,
|  | nullptr_t |
| ) |  |

inline noexcept

Definition at line 369 of file experimental/bits/shared_ptr.h.

## operator>=() [5/7]

template<typename _Tp1 , typename _Tp2 >

bool std::experimental::fundamentals_v2::operator>= | ( | const shared_ptr< _Tp1 > & | __a,
|  | const shared_ptr< _Tp2 > & | __b
| ) |  |

inline noexcept

Definition at line 363 of file experimental/bits/shared_ptr.h.

## operator>=() [6/7]

template<typename _Tp >

bool std::experimental::fundamentals_v2::operator>= | ( | nullptr_t | ,
|  | const shared_ptr< _Tp > & | __a
| ) |  |

inline noexcept

Definition at line 374 of file experimental/bits/shared_ptr.h.

## operator>=() [7/7]

template<typename _Tp , typename _Up >

bool std::experimental::fundamentals_v2::operator>= | ( | observer_ptr< _Tp > | __p1,
|  | observer_ptr< _Up > | __p2
| ) |  |

Definition at line 228 of file experimental/memory.

## randint()

template<typename _IntType >

_IntType std::experimental::fundamentals_v2::randint | ( | _IntType | __a,
|  | _IntType | __b
| ) |  |

inline

Definition at line 55 of file experimental/random.

## reinterpret_pointer_cast()

template<typename _Tp , typename _Tp1 >

shared_ptr< _Tp > std::experimental::fundamentals_v2::reinterpret_pointer_cast | ( | const shared_ptr< _Tp1 > & | __r | ) |

inline noexcept

Definition at line 412 of file experimental/bits/shared_ptr.h.

## reseed() [1/2]

void std::experimental::fundamentals_v2::reseed | ( |  | ) |

inline

Definition at line 67 of file experimental/random.

## reseed() [2/2]

void std::experimental::fundamentals_v2::reseed | ( | default_random_engine::result_type | __value | ) |

inline

Definition at line 73 of file experimental/random.

## sample() [1/2]

template<typename _PopulationIterator , typename _SampleIterator , typename _Distance >

_SampleIterator std::experimental::fundamentals_v2::sample | ( | _PopulationIterator | __first,
|  | _PopulationIterator | __last,
|  | _SampleIterator | __out,
|  | _Distance | __n
| ) |  |

inline

Definition at line 88 of file experimental/algorithm.

## sample() [2/2]

template<typename _PopulationIterator , typename _SampleIterator , typename _Distance , typename _UniformRandomNumberGenerator >

_SampleIterator std::experimental::fundamentals_v2::sample | ( | _PopulationIterator | __first,
|  | _PopulationIterator | __last,
|  | _SampleIterator | __out,
|  | _Distance | __n,
|  | _UniformRandomNumberGenerator && | __g
| ) |  |

Take a random sample from a population.

Definition at line 61 of file experimental/algorithm.

## search()

template<typename _ForwardIterator , typename _Searcher >

_ForwardIterator std::experimental::fundamentals_v2::search | ( | _ForwardIterator | __first,
|  | _ForwardIterator | __last,
|  | const _Searcher & | __searcher
| ) |  |

inline

Definition at line 51 of file experimental/algorithm.

## shuffle()

template<typename _RandomAccessIterator >

void std::experimental::fundamentals_v2::shuffle | ( | _RandomAccessIterator | __first,
|  | _RandomAccessIterator | __last
| ) |  |

inline

Definition at line 97 of file experimental/algorithm.

## static_pointer_cast()

template<typename _Tp , typename _Tp1 >

shared_ptr< _Tp > std::experimental::fundamentals_v2::static_pointer_cast | ( | const shared_ptr< _Tp1 > & | __r | ) |

inline noexcept

Definition at line 386 of file experimental/bits/shared_ptr.h.

## swap() [1/3]

template<typename _Tp >

void std::experimental::fundamentals_v2::swap | ( | observer_ptr< _Tp > & | __p1,
|  | observer_ptr< _Tp > & | __p2
| ) |  |

noexcept

Definition at line 148 of file experimental/memory.

## swap() [2/3]

template<typename _Tp >

void std::experimental::fundamentals_v2::swap | ( | shared_ptr< _Tp > & | __a,
|  | shared_ptr< _Tp > & | __b
| ) |  |

inline noexcept

Definition at line 380 of file experimental/bits/shared_ptr.h.

## swap() [3/3]

template<typename _Tp >

void std::experimental::fundamentals_v2::swap | ( | weak_ptr< _Tp > & | __a,
|  | weak_ptr< _Tp > & | __b
| ) |  |

inline noexcept

Definition at line 486 of file experimental/bits/shared_ptr.h.

## Variable Documentation

## __sp_compatible_v

template<typename _Yp , typename _Tp >

constexpr bool std::experimental::fundamentals_v2::__sp_compatible_v

constexpr

Definition at line 55 of file experimental/bits/shared_ptr.h.

## __sp_is_constructible_v

template<typename _Tp , typename _Yp >

constexpr bool std::experimental::fundamentals_v2::__sp_is_constructible_v

constexpr

Definition at line 59 of file experimental/bits/shared_ptr.h.

## is_bind_expression_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_bind_expression_v

constexpr

Variable template for std::is_bind_expression.

Definition at line 61 of file experimental/functional.

## is_error_code_enum_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_error_code_enum_v

constexpr

Definition at line 54 of file experimental/system_error.

## is_error_condition_enum_v

template<typename _Tp >

constexpr bool std::experimental::fundamentals_v1::is_error_condition_enum_v

constexpr

Definition at line 56 of file experimental/system_error.

## is_placeholder_v

template<typename _Tp >

constexpr int std::experimental::fundamentals_v1::is_placeholder_v

constexpr

Variable template for std::is_placeholder.

Definition at line 65 of file experimental/functional.

## ratio_equal_v

template<typename _R1 , typename _R2 >

constexpr bool std::experimental::fundamentals_v1::ratio_equal_v

constexpr

Definition at line 54 of file experimental/ratio.

## ratio_greater_equal_v

template<typename _R1 , typename _R2 >

constexpr bool std::experimental::fundamentals_v1::ratio_greater_equal_v

constexpr

Definition at line 64 of file experimental/ratio.

## ratio_greater_v

template<typename _R1 , typename _R2 >

constexpr bool std::experimental::fundamentals_v1::ratio_greater_v

constexpr

Definition at line 62 of file experimental/ratio.

## ratio_less_equal_v

template<typename _R1 , typename _R2 >

constexpr bool std::experimental::fundamentals_v1::ratio_less_equal_v

constexpr

Definition at line 60 of file experimental/ratio.

## ratio_less_v

template<typename _R1 , typename _R2 >

constexpr bool std::experimental::fundamentals_v1::ratio_less_v

constexpr

Definition at line 58 of file experimental/ratio.

## ratio_not_equal_v

template<typename _R1 , typename _R2 >

constexpr bool std::experimental::fundamentals_v1::ratio_not_equal_v

constexpr

Definition at line 56 of file experimental/ratio.

## tuple_size_v

template<typename _Tp >

constexpr size_t std::experimental::fundamentals_v1::tuple_size_v

constexpr

Definition at line 51 of file experimental/tuple.