table of contents
| std::experimental(3cxx) | std::experimental(3cxx) | 
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<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 & >())>
  
  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)
  
  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 > 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
  
  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
  
  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)
  
  Take a random sample from a population. 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
  
  Exchange the states of two any objects.  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)
  
  Create a std::array from an array.
  
  
  
  template<typename _ValueType > _ValueType any_cast
    (any &__any)
  
  Access the contained object. template<typename _ValueType ,
    typename enable_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 ,
    typename enable_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_t in_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_t
    nullopt
  
  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... > using void_t = void
  
  A metafunction that always yields void, used for detecting valid types.
    template<typename _Default , template<
    typename... > class _Op, typename... _Args> using
    detected_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> using
    detected_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> using detected_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> using is_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> using
    is_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> using
    is_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.
  
Detailed Description¶
Namespace for features defined in ISO Technical Specifications.
Function Documentation¶
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.
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.
template<typename _Mn , typename _Nn > constexpr common_type_t< _Mn, _Nn > std::experimental::fundamentals_v2::lcm (_Mn __m, _Nn __n) [constexpr]¶
Least common multiple.
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.
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.
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.
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.
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.
Variable Documentation¶
template<typename _Tp > constexpr bool std::experimental::fundamentals_v1::is_bind_expression_v [constexpr]¶
Variable template for std::is_bind_expression.
template<typename _Tp > 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++ |