std::experimental(3) Library Functions Manual std::experimental(3) NAME std::experimental - Namespace for features defined in ISO Technical Specifications. SYNOPSIS 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::value_type, typename _Diff = typename iterator_traits<_RAIter>::difference_type> using __boyer_moore_base_t template using __propagate_const_elem_type using erased_type using string_view using u16string_view using u32string_view using wstring_view Functions template constexpr decltype(auto) __apply_impl (_Fn &&__f, _Tuple &&__t, std::index_sequence< _Idx... >) template constexpr array< remove_cv_t< _Tp >, _Nm > __to_array (_Tp(&__a)[_Nm], index_sequence< _Idx... >) std::default_random_engine & _S_randint_engine () template _ValueType any_cast (const any &__any) Access the contained object. template constexpr decltype(auto) apply (_Fn &&__f, _Tuple &&__t) template bool atomic_compare_exchange_strong (shared_ptr< _Tp > *__p, shared_ptr< _Tp > *__v, shared_ptr< _Tp > __w) template 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 bool atomic_compare_exchange_weak (shared_ptr< _Tp > *__p, shared_ptr< _Tp > *__v, shared_ptr< _Tp > __w) template 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 void atomic_exchange (shared_ptr< _Tp > *__p, shared_ptr< _Tp > __r) template shared_ptr< _Tp > atomic_exchange_explicit (const shared_ptr< _Tp > *__p, shared_ptr< _Tp > __r, memory_order __mo) template bool atomic_is_lock_free (const shared_ptr< _Tp > *__p) template shared_ptr< _Tp > atomic_load (const shared_ptr< _Tp > *__p) template shared_ptr< _Tp > atomic_load_explicit (const shared_ptr< _Tp > *__p, memory_order __mo) template void atomic_store (shared_ptr< _Tp > *__p, shared_ptr< _Tp > __r) template shared_ptr< _Tp > atomic_store_explicit (const shared_ptr< _Tp > *__p, shared_ptr< _Tp > __r, memory_order __mo) template shared_ptr< _Tp > const_pointer_cast (const shared_ptr< _Tp1 > &__r) noexcept template shared_ptr< _Tp > dynamic_pointer_cast (const shared_ptr< _Tp1 > &__r) noexcept template void erase (basic_string< _CharT, _Traits, _Alloc > &__cont, const _Up &__value) template void erase (deque< _Tp, _Alloc > &__cont, const _Up &__value) template void erase (forward_list< _Tp, _Alloc > &__cont, const _Up &__value) template void erase (list< _Tp, _Alloc > &__cont, const _Up &__value) template void erase (vector< _Tp, _Alloc > &__cont, const _Up &__value) template void erase_if (basic_string< _CharT, _Traits, _Alloc > &__cont, _Predicate __pred) template void erase_if (deque< _Tp, _Alloc > &__cont, _Predicate __pred) template void erase_if (forward_list< _Tp, _Alloc > &__cont, _Predicate __pred) template void erase_if (list< _Tp, _Alloc > &__cont, _Predicate __pred) template void erase_if (map< _Key, _Tp, _Compare, _Alloc > &__cont, _Predicate __pred) template void erase_if (multimap< _Key, _Tp, _Compare, _Alloc > &__cont, _Predicate __pred) template void erase_if (multiset< _Key, _Compare, _Alloc > &__cont, _Predicate __pred) template void erase_if (set< _Key, _Compare, _Alloc > &__cont, _Predicate __pred) template void erase_if (unordered_map< _Key, _Tp, _Hash, _CPred, _Alloc > &__cont, _Predicate __pred) template void erase_if (unordered_multimap< _Key, _Tp, _Hash, _CPred, _Alloc > &__cont, _Predicate __pred) template void erase_if (unordered_multiset< _Key, _Hash, _CPred, _Alloc > &__cont, _Predicate __pred) template void erase_if (unordered_set< _Key, _Hash, _CPred, _Alloc > &__cont, _Predicate __pred) template void erase_if (vector< _Tp, _Alloc > &__cont, _Predicate __pred) template constexpr common_type_t< _Mn, _Nn > gcd (_Mn __m, _Nn __n) noexcept Greatest common divisor. template _Del * get_deleter (const shared_ptr< _Tp > &__p) noexcept C++14 20.8.2.2.10. template constexpr const _Tp & get_underlying (const propagate_const< _Tp > &__pt) noexcept template constexpr _Tp & get_underlying (propagate_const< _Tp > &__pt) noexcept template constexpr common_type_t< _Mn, _Nn > lcm (_Mn __m, _Nn __n) Least common multiple. template 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::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::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> default_searcher< _ForwardIterator, _BinaryPredicate > make_default_searcher (_ForwardIterator __pat_first, _ForwardIterator __pat_last, _BinaryPredicate __pred=_BinaryPredicate()) Generator function for default_searcher. template observer_ptr< _Tp > make_observer (_Tp *__p) noexcept template ostream_joiner< decay_t< _DelimT >, _CharT, _Traits > make_ostream_joiner (basic_ostream< _CharT, _Traits > &__os, _DelimT &&__delimiter) Object generator for ostream_joiner. template auto not_fn (_Fn &&__fn) noexcept(std::is_nothrow_constructible< std::decay_t< _Fn >, _Fn && >::value) [func.not_fn] Function template not_fn template constexpr bool operator!= (__type_identity_t< basic_string_view< _CharT, _Traits > > __x, basic_string_view< _CharT, _Traits > __y) noexcept template constexpr bool operator!= (basic_string_view< _CharT, _Traits > __x, __type_identity_t< basic_string_view< _CharT, _Traits > > __y) noexcept template constexpr bool operator!= (basic_string_view< _CharT, _Traits > __x, basic_string_view< _CharT, _Traits > __y) noexcept template constexpr bool operator!= (const _Tp &__t, const propagate_const< _Up > &__pu) template constexpr bool operator!= (const propagate_const< _Tp > &__pt, const _Up &__u) template constexpr bool operator!= (const propagate_const< _Tp > &__pt, const propagate_const< _Up > &__pu) template constexpr bool operator!= (const propagate_const< _Tp > &__pt, nullptr_t) template bool operator!= (const shared_ptr< _Tp > &__a, nullptr_t) noexcept template bool operator!= (const shared_ptr< _Tp1 > &__a, const shared_ptr< _Tp2 > &__b) noexcept template constexpr bool operator!= (nullptr_t, const propagate_const< _Tp > &__pu) template bool operator!= (nullptr_t, const shared_ptr< _Tp > &__a) noexcept template bool operator!= (nullptr_t, observer_ptr< _Tp > __p) noexcept template bool operator!= (observer_ptr< _Tp > __p, nullptr_t) noexcept template 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 constexpr bool operator< (__type_identity_t< basic_string_view< _CharT, _Traits > > __x, basic_string_view< _CharT, _Traits > __y) noexcept template constexpr bool operator< (basic_string_view< _CharT, _Traits > __x, __type_identity_t< basic_string_view< _CharT, _Traits > > __y) noexcept template constexpr bool operator< (basic_string_view< _CharT, _Traits > __x, basic_string_view< _CharT, _Traits > __y) noexcept template constexpr bool operator< (const _Tp &__t, const propagate_const< _Up > &__pu) template constexpr bool operator< (const propagate_const< _Tp > &__pt, const _Up &__u) template constexpr bool operator< (const propagate_const< _Tp > &__pt, const propagate_const< _Up > &__pu) template bool operator< (const shared_ptr< _Tp > &__a, nullptr_t) noexcept template bool operator< (const shared_ptr< _Tp1 > &__a, const shared_ptr< _Tp2 > &__b) noexcept template bool operator< (nullptr_t, const shared_ptr< _Tp > &__a) noexcept template bool operator< (observer_ptr< _Tp > __p1, observer_ptr< _Up > __p2) template basic_ostream< _CharT, _Traits > & operator<< (basic_ostream< _CharT, _Traits > &__os, basic_string_view< _CharT, _Traits > __str) template std::basic_ostream< _Ch, _Tr > & operator<< (std::basic_ostream< _Ch, _Tr > &__os, const shared_ptr< _Tp > &__p) template constexpr bool operator<= (__type_identity_t< basic_string_view< _CharT, _Traits > > __x, basic_string_view< _CharT, _Traits > __y) noexcept template constexpr bool operator<= (basic_string_view< _CharT, _Traits > __x, __type_identity_t< basic_string_view< _CharT, _Traits > > __y) noexcept template constexpr bool operator<= (basic_string_view< _CharT, _Traits > __x, basic_string_view< _CharT, _Traits > __y) noexcept template constexpr bool operator<= (const _Tp &__t, const propagate_const< _Up > &__pu) template constexpr bool operator<= (const propagate_const< _Tp > &__pt, const _Up &__u) template constexpr bool operator<= (const propagate_const< _Tp > &__pt, const propagate_const< _Up > &__pu) template bool operator<= (const shared_ptr< _Tp > &__a, nullptr_t) noexcept template bool operator<= (const shared_ptr< _Tp1 > &__a, const shared_ptr< _Tp2 > &__b) noexcept template bool operator<= (nullptr_t, const shared_ptr< _Tp > &__a) noexcept template bool operator<= (observer_ptr< _Tp > __p1, observer_ptr< _Up > __p2) template constexpr bool operator== (__type_identity_t< basic_string_view< _CharT, _Traits > > __x, basic_string_view< _CharT, _Traits > __y) noexcept template constexpr bool operator== (basic_string_view< _CharT, _Traits > __x, __type_identity_t< basic_string_view< _CharT, _Traits > > __y) noexcept template constexpr bool operator== (basic_string_view< _CharT, _Traits > __x, basic_string_view< _CharT, _Traits > __y) noexcept template constexpr bool operator== (const _Tp &__t, const propagate_const< _Up > &__pu) template constexpr bool operator== (const propagate_const< _Tp > &__pt, const _Up &__u) template constexpr bool operator== (const propagate_const< _Tp > &__pt, const propagate_const< _Up > &__pu) template constexpr bool operator== (const propagate_const< _Tp > &__pt, nullptr_t) template bool operator== (const shared_ptr< _Tp > &__a, nullptr_t) noexcept template bool operator== (const shared_ptr< _Tp1 > &__a, const shared_ptr< _Tp2 > &__b) noexcept template constexpr bool operator== (nullptr_t, const propagate_const< _Tp > &__pu) template bool operator== (nullptr_t, const shared_ptr< _Tp > &__a) noexcept template bool operator== (nullptr_t, observer_ptr< _Tp > __p) noexcept template bool operator== (observer_ptr< _Tp > __p, nullptr_t) noexcept template bool operator== (observer_ptr< _Tp > __p1, observer_ptr< _Up > __p2) template constexpr bool operator> (__type_identity_t< basic_string_view< _CharT, _Traits > > __x, basic_string_view< _CharT, _Traits > __y) noexcept template constexpr bool operator> (basic_string_view< _CharT, _Traits > __x, __type_identity_t< basic_string_view< _CharT, _Traits > > __y) noexcept template constexpr bool operator> (basic_string_view< _CharT, _Traits > __x, basic_string_view< _CharT, _Traits > __y) noexcept template constexpr bool operator> (const _Tp &__t, const propagate_const< _Up > &__pu) template constexpr bool operator> (const propagate_const< _Tp > &__pt, const _Up &__u) template constexpr bool operator> (const propagate_const< _Tp > &__pt, const propagate_const< _Up > &__pu) template bool operator> (const shared_ptr< _Tp > &__a, nullptr_t) noexcept template bool operator> (const shared_ptr< _Tp1 > &__a, const shared_ptr< _Tp2 > &__b) noexcept template bool operator> (nullptr_t, const shared_ptr< _Tp > &__a) noexcept template bool operator> (observer_ptr< _Tp > __p1, observer_ptr< _Up > __p2) template constexpr bool operator>= (__type_identity_t< basic_string_view< _CharT, _Traits > > __x, basic_string_view< _CharT, _Traits > __y) noexcept template constexpr bool operator>= (basic_string_view< _CharT, _Traits > __x, __type_identity_t< basic_string_view< _CharT, _Traits > > __y) noexcept template constexpr bool operator>= (basic_string_view< _CharT, _Traits > __x, basic_string_view< _CharT, _Traits > __y) noexcept template constexpr bool operator>= (const _Tp &__t, const propagate_const< _Up > &__pu) template constexpr bool operator>= (const propagate_const< _Tp > &__pt, const _Up &__u) template constexpr bool operator>= (const propagate_const< _Tp > &__pt, const propagate_const< _Up > &__pu) template bool operator>= (const shared_ptr< _Tp > &__a, nullptr_t) noexcept template bool operator>= (const shared_ptr< _Tp1 > &__a, const shared_ptr< _Tp2 > &__b) noexcept template bool operator>= (nullptr_t, const shared_ptr< _Tp > &__a) noexcept template bool operator>= (observer_ptr< _Tp > __p1, observer_ptr< _Up > __p2) template _IntType randint (_IntType __a, _IntType __b) template shared_ptr< _Tp > reinterpret_pointer_cast (const shared_ptr< _Tp1 > &__r) noexcept void reseed () void reseed (default_random_engine::result_type __value) template _SampleIterator sample (_PopulationIterator __first, _PopulationIterator __last, _SampleIterator __out, _Distance __n) template _SampleIterator sample (_PopulationIterator __first, _PopulationIterator __last, _SampleIterator __out, _Distance __n, _UniformRandomNumberGenerator &&__g) Take a random sample from a population. template _ForwardIterator search (_ForwardIterator __first, _ForwardIterator __last, const _Searcher &__searcher) template void shuffle (_RandomAccessIterator __first, _RandomAccessIterator __last) template shared_ptr< _Tp > static_pointer_cast (const shared_ptr< _Tp1 > &__r) noexcept void swap (any &__x, any &__y) noexcept Exchange the states of two any objects. template void swap (observer_ptr< _Tp > &__p1, observer_ptr< _Tp > &__p2) noexcept template 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 void swap (shared_ptr< _Tp > &__a, shared_ptr< _Tp > &__b) noexcept template void swap (weak_ptr< _Tp > &__a, weak_ptr< _Tp > &__b) noexcept template 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 _ValueType any_cast (any &__any) Access the contained object. template::value||is_lvalue_reference< _ValueType >::value, bool >::type = true> _ValueType any_cast (any &&__any) Access the contained object. template::value &&!is_lvalue_reference< _ValueType >::value, bool >::type = false> _ValueType any_cast (any &&__any) Access the contained object. template const _ValueType * any_cast (const any *__any) noexcept Access the contained object. template _ValueType * any_cast (any *__any) noexcept Access the contained object. Variables template constexpr bool __sp_compatible_v template constexpr bool __sp_is_constructible_v constexpr in_place_t in_place Tag for in-place construction. template constexpr bool is_bind_expression_v Variable template for std::is_bind_expression. template constexpr bool is_error_code_enum_v template constexpr bool is_error_condition_enum_v template constexpr int is_placeholder_v Variable template for std::is_placeholder. constexpr nullopt_t nullopt Tag to disengage optional objects. template constexpr bool ratio_equal_v template constexpr bool ratio_greater_equal_v template constexpr bool ratio_greater_v template constexpr bool ratio_less_equal_v template constexpr bool ratio_less_v template constexpr bool ratio_not_equal_v template constexpr size_t tuple_size_v template constexpr bool is_void_v template constexpr bool is_null_pointer_v template constexpr bool is_integral_v template constexpr bool is_floating_point_v template constexpr bool is_array_v template constexpr bool is_pointer_v template constexpr bool is_lvalue_reference_v template constexpr bool is_rvalue_reference_v template constexpr bool is_member_object_pointer_v template constexpr bool is_member_function_pointer_v template constexpr bool is_enum_v template constexpr bool is_union_v template constexpr bool is_class_v template constexpr bool is_function_v template constexpr bool is_reference_v template constexpr bool is_arithmetic_v template constexpr bool is_fundamental_v template constexpr bool is_object_v template constexpr bool is_scalar_v template constexpr bool is_compound_v template constexpr bool is_member_pointer_v template constexpr bool is_const_v template constexpr bool is_volatile_v template constexpr bool is_trivial_v template constexpr bool is_trivially_copyable_v template constexpr bool is_standard_layout_v template constexpr bool is_pod_v template constexpr bool is_literal_type_v template constexpr bool is_empty_v template constexpr bool is_polymorphic_v template constexpr bool is_abstract_v template constexpr bool is_final_v template constexpr bool is_signed_v template constexpr bool is_unsigned_v template constexpr bool is_constructible_v template constexpr bool is_default_constructible_v template constexpr bool is_copy_constructible_v template constexpr bool is_move_constructible_v template constexpr bool is_assignable_v template constexpr bool is_copy_assignable_v template constexpr bool is_move_assignable_v template constexpr bool is_destructible_v template constexpr bool is_trivially_constructible_v template constexpr bool is_trivially_default_constructible_v template constexpr bool is_trivially_copy_constructible_v template constexpr bool is_trivially_move_constructible_v template constexpr bool is_trivially_assignable_v template constexpr bool is_trivially_copy_assignable_v template constexpr bool is_trivially_move_assignable_v template constexpr bool is_trivially_destructible_v template constexpr bool is_nothrow_constructible_v template constexpr bool is_nothrow_default_constructible_v template constexpr bool is_nothrow_copy_constructible_v template constexpr bool is_nothrow_move_constructible_v template constexpr bool is_nothrow_assignable_v template constexpr bool is_nothrow_copy_assignable_v template constexpr bool is_nothrow_move_assignable_v template constexpr bool is_nothrow_destructible_v template constexpr bool has_virtual_destructor_v template constexpr size_t alignment_of_v template constexpr size_t rank_v template constexpr size_t extent_v template constexpr bool is_same_v template constexpr bool is_same_v< _Tp, _Tp > template constexpr bool is_base_of_v template constexpr bool is_convertible_v template constexpr bool conjunction_v template constexpr bool disjunction_v template constexpr bool negation_v template using void_t A metafunction that always yields void, used for detecting valid types. template class _Op, typename... _Args> using detected_or A metafunction that always yields void, used for detecting valid types. template class _Op, typename... _Args> using detected_or_t A metafunction that always yields void, used for detecting valid types. template class _Op, typename... _Args> using detected_t A metafunction that always yields void, used for detecting valid types. template class _Op, typename... _Args> using is_detected A metafunction that always yields void, used for detecting valid types. template class _Op, typename... _Args> using is_detected_exact A metafunction that always yields void, used for detecting valid types. template class _Op, typename... _Args> using is_detected_convertible A metafunction that always yields void, used for detecting valid types. template class _Op, typename... _Args> constexpr bool is_detected_v A metafunction that always yields void, used for detecting valid types. template class _Op, typename... _Args> constexpr bool is_detected_exact_v A metafunction that always yields void, used for detecting valid types. template class _Op, typename... _Args> constexpr bool is_detected_convertible_v A metafunction that always yields void, used for detecting valid types. Detailed Description Namespace for features defined in ISO Technical Specifications. Function Documentation template constexpr common_type_t< _Mn, _Nn > std::experimental::fundamentals_v2::gcd (_Mn __m, _Nn __n) [constexpr], [noexcept] Greatest common divisor. References std::forward(), and std::gcd(). template _Del * std::experimental::fundamentals_v2::get_deleter (const shared_ptr< _Tp > & __p) [inline], [noexcept] C++14 20.8.2.2.10. References std::forward(). template constexpr common_type_t< _Mn, _Nn > std::experimental::fundamentals_v2::lcm (_Mn __m, _Nn __n) [constexpr] Least common multiple. References std::forward(), and std::lcm(). template::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. References std::forward(), make_boyer_moore_horspool_searcher(), and std::move(). Referenced by make_boyer_moore_horspool_searcher(). template::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. References std::forward(), make_boyer_moore_searcher(), and std::move(). Referenced by make_boyer_moore_searcher(). template> 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. References std::forward(), and make_default_searcher(). Referenced by make_default_searcher(). template 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. References std::forward(), and make_ostream_joiner(). Referenced by make_ostream_joiner(). template auto std::experimental::fundamentals_v2::not_fn (_Fn && __fn) [inline], [noexcept] [func.not_fn] Function template not_fn References std::forward(), and std::not_fn(). template _SampleIterator std::experimental::fundamentals_v2::sample (_PopulationIterator __first, _PopulationIterator __last, _SampleIterator __out, _Distance __n, _UniformRandomNumberGenerator && __g) Take a random sample from a population. References std::forward(). Variable Documentation template constexpr bool std::experimental::fundamentals_v1::is_bind_expression_v [constexpr] Variable template for std::is_bind_expression. template constexpr int std::experimental::fundamentals_v1::is_placeholder_v [constexpr] Variable template for std::is_placeholder. Author Generated automatically by Doxygen for libstdc++ from the source code. libstdc++ std::experimental(3)