| __gnu_cxx(3cxx) | __gnu_cxx(3cxx) | 
NAME¶
__gnu_cxx - GNU extensions for public use.
SYNOPSIS¶
Namespaces¶
namespace __detail
  
  Implementation details not part of the namespace __gnu_cxx interface.
    namespace typelist
  
  GNU typelist extensions for public compile-time use.
  
Classes¶
struct __alloc_traits
  
  Uniform interface to C++98 and C++11 allocators. struct
    __common_pool_policy
  
  Policy for shared __pool objects. class __mt_alloc
  
  This is a fixed size (power of 2) allocator which - when compiled with thread
    support - will maintain one freelist per size per thread plus a
    global one. Steps are taken to limit the per thread freelist sizes
    (by returning excess back to the global list). class
    __mt_alloc_base
  
  Base class for _Tp dependent member functions. struct
    __per_type_pool_policy
  
  Policy for individual __pool objects. class __pool
  
  Data describing the underlying memory pool, parameterized on threading
    support. class __pool< false >
  
  Specialization for single thread. class __pool< true >
  
  Specialization for thread enabled, via gthreads.h. class __pool_alloc
  
  Allocator using a memory pool with a single lock. class
    __pool_alloc_base
  
  Base class for __pool_alloc. struct __pool_base
  
  Base class for pool object. class __rc_string_base
  
  class __scoped_lock
  
  Scoped lock idiom. class __versa_string
  
  Template class __versa_string. struct _Caster
  
  struct _Char_types
  
  Mapping from character type to associated types. class
    _ExtPtr_allocator
  
  An example allocator which uses a non-standard pointer type. struct
    _Invalid_type
  
  class _Pointer_adapter
  
  class _Relative_pointer_impl
  
  A storage policy for use with _Pointer_adapter<> which stores the
    pointer's address as an offset value which is relative to its own address.
    class _Relative_pointer_impl< const _Tp >
  
  class _Std_pointer_impl
  
  A storage policy for use with _Pointer_adapter<> which yields a standard
    pointer. struct _Unqualified_type
  
  struct annotate_base
  
  Base class for checking address and label information about allocations.
    Create a std::map between the allocated address (void*) and a datum for
    annotations, which are a pair of numbers corresponding to label and
    allocated size. class binary_compose
  
  An SGI extension . class bitmap_allocator
  
  Bitmap Allocator, primary template. struct char_traits
  
  Base class used to implement std::char_traits. struct character
  
  A POD class that serves as a character abstraction class. struct
    condition_base
  
  Base struct for condition policy. struct constant_binary_fun
  
  An SGI extension . struct constant_unary_fun
  
  An SGI extension . struct constant_void_fun
  
  An SGI extension . class debug_allocator
  
  A meta-allocator with debugging bits. class enc_filebuf
  
  class enc_filebuf. struct encoding_char_traits
  
  encoding_char_traits class encoding_state
  
  Extension to use iconv for dealing with character encodings. struct
    forced_error
  
  Thrown by utilities for testing exception safety. class free_list
  
  The free list class for managing chunks of memory to be given to and returned
    by the bitmap_allocator. class hash_map
  
  class hash_multimap
  
  class hash_multiset
  
  class hash_set
  
  struct limit_condition
  
  Base class for incremental control and throw. class malloc_allocator
  
  An allocator that uses malloc. class new_allocator
  
  An allocator that uses global new, as per C++03 [20.4.1]. struct
    project1st
  
  An SGI extension . struct project2nd
  
  An SGI extension . struct random_condition
  
  Base class for random probability control and throw. struct rb_tree
  
  class rope
  
  struct select1st
  
  An SGI extension . struct select2nd
  
  An SGI extension . class slist
  
  class stdio_filebuf
  
  Provides a layer of compatibility for C/POSIX. class stdio_sync_filebuf
  
  Provides a layer of compatibility for C. class subtractive_rng
  
  struct temporary_buffer
  
  class throw_allocator_base
  
  Allocator class with logging and exception generation control. Intended to be
    used as an allocator_type in templatized code. struct
    throw_allocator_limit
  
  Allocator throwing via limit condition. struct throw_allocator_random
  
  Allocator throwing via random condition. struct throw_value_base
  
  Class with exception generation control. Intended to be used as a value_type
    in templatized code. struct throw_value_limit
  
  Type throwing via limit condition. struct throw_value_random
  
  Type throwing via random condition. class unary_compose
  
  An SGI extension .
  
Typedefs¶
typedef void(* __destroy_handler) (void *)
  
  template<typename _Tp > using __int_traits =
    __numeric_traits_integer< _Tp >
  
  Convenience alias for __numeric_traits<integer-type>. typedef
    __versa_string< char, std::char_traits< char >,
    std::allocator< char >, __rc_string_base >
    __rc_string
  
  typedef __vstring __sso_string
  
  typedef __versa_string< char16_t, std::char_traits<
    char16_t >, std::allocator< char16_t >,
    __rc_string_base > __u16rc_string
  
  typedef __u16vstring __u16sso_string
  
  typedef __versa_string< char16_t > __u16vstring
  
  typedef __versa_string< char32_t, std::char_traits<
    char32_t >, std::allocator< char32_t >,
    __rc_string_base > __u32rc_string
  
  typedef __u32vstring __u32sso_string
  
  typedef __versa_string< char32_t > __u32vstring
  
  typedef __versa_string< char > __vstring
  
  typedef __versa_string< wchar_t, std::char_traits< wchar_t
    >, std::allocator< wchar_t >, __rc_string_base >
    __wrc_string
  
  typedef __wvstring __wsso_string
  
  typedef __versa_string< wchar_t > __wvstring
  
  typedef rope< char > crope
  
  typedef rope< wchar_t > wrope
  
  
Enumerations¶
enum { _S_num_primes }
  
  enum _Lock_policy { _S_single, _S_mutex, _S_atomic
    }
  
  
Functions¶
void __atomic_add (volatile _Atomic_word *, int) noexcept
  
  void __atomic_add_dispatch (_Atomic_word *__mem, int __val)
  
  void __atomic_add_single (_Atomic_word *__mem, int __val)
  
  template<class _Tp > void __aux_require_boolean_expr (const _Tp
    &__t)
  
  template<typename _ToType , typename _FromType > _ToType
    __const_pointer_cast (_FromType *__arg)
  
  template<typename _ToType , typename _FromType > _ToType
    __const_pointer_cast (const _FromType &__arg)
  
  template<typename _InputIterator , typename _Size , typename
    _OutputIterator > std::pair< _InputIterator, _OutputIterator
    > __copy_n (_InputIterator __first, _Size __count, _OutputIterator
    __result, std::input_iterator_tag)
  
  template<typename _RAIterator , typename _Size , typename _OutputIterator
    > std::pair< _RAIterator, _OutputIterator > __copy_n
    (_RAIterator __first, _Size __count, _OutputIterator __result,
    std::random_access_iterator_tag)
  
  template<typename _InputIterator , typename _Distance > void
    __distance (_InputIterator __first, _InputIterator __last, _Distance
    &__n, std::input_iterator_tag)
  
  template<typename _RandomAccessIterator , typename _Distance > void
    __distance (_RandomAccessIterator __first, _RandomAccessIterator
    __last, _Distance &__n, std::random_access_iterator_tag)
  
  template<typename _ToType , typename _FromType > _ToType
    __dynamic_pointer_cast (_FromType *__arg)
  
  template<typename _ToType , typename _FromType > _ToType
    __dynamic_pointer_cast (const _FromType &__arg)
  
  void __error_type_must_be_a_signed_integer_type ()
  
  void __error_type_must_be_an_integer_type ()
  
  void __error_type_must_be_an_unsigned_integer_type ()
  
  _Atomic_word __exchange_and_add (volatile _Atomic_word *, int) noexcept
  
  _Atomic_word __exchange_and_add_dispatch (_Atomic_word *__mem, int
    __val)
  
  _Atomic_word __exchange_and_add_single (_Atomic_word *__mem, int __val)
  
  template<class _Concept > constexpr void __function_requires ()
  
  template<typename _Type > bool __is_null_pointer (_Type *__ptr)
  
  template<typename _Type > bool __is_null_pointer (_Type)
  
  bool __is_null_pointer (std::nullptr_t)
  
  bool __is_single_threaded () noexcept
  
  template<typename _InputIterator1 , typename _InputIterator2 > int
    __lexicographical_compare_3way (_InputIterator1 __first1,
    _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2)
  
  int __lexicographical_compare_3way (const char *__first1, const char
    *__last1, const char *__first2, const char *__last2)
  
  int __lexicographical_compare_3way (const unsigned char *__first1,
    const unsigned char *__last1, const unsigned char *__first2, const unsigned
    char *__last2)
  
  template<typename _Tp > const _Tp & __median (const _Tp
    &__a, const _Tp &__b, const _Tp &__c)
  
  Find the median of three values. template<typename _Tp , typename _Compare
    > const _Tp & __median (const _Tp &__a, const _Tp
    &__b, const _Tp &__c, _Compare __comp)
  
  Find the median of three values using a predicate for comparison.
    crope::reference __mutable_reference_at (crope &__c,
    std::size_t __i)
  
  template<typename _Tp , typename _Integer > _Tp __power (_Tp __x,
    _Integer __n)
  
  template<typename _Tp , typename _Integer , typename _MonoidOperation >
    _Tp __power (_Tp __x, _Integer __n, _MonoidOperation __monoid_op)
  
  template<typename _InputIterator , typename _RandomAccessIterator ,
    typename _RandomNumberGenerator , typename _Distance >
    _RandomAccessIterator __random_sample (_InputIterator __first,
    _InputIterator __last, _RandomAccessIterator __out, _RandomNumberGenerator
    &__rand, const _Distance __n)
  
  template<typename _InputIterator , typename _RandomAccessIterator ,
    typename _Distance > _RandomAccessIterator __random_sample
    (_InputIterator __first, _InputIterator __last, _RandomAccessIterator __out,
    const _Distance __n)
  
  template<typename _ToType , typename _FromType > _ToType
    __reinterpret_pointer_cast (_FromType *__arg)
  
  template<typename _ToType , typename _FromType > _ToType
    __reinterpret_pointer_cast (const _FromType &__arg)
  
  _Slist_node_base * __slist_make_link (_Slist_node_base *__prev_node,
    _Slist_node_base *__new_node)
  
  _Slist_node_base * __slist_previous (_Slist_node_base *__head, const
    _Slist_node_base *__node)
  
  const _Slist_node_base * __slist_previous (const _Slist_node_base
    *__head, const _Slist_node_base *__node)
  
  _Slist_node_base * __slist_reverse (_Slist_node_base *__node)
  
  std::size_t __slist_size (_Slist_node_base *__node)
  
  void __slist_splice_after (_Slist_node_base *__pos, _Slist_node_base
    *__before_first, _Slist_node_base *__before_last)
  
  void __slist_splice_after (_Slist_node_base *__pos, _Slist_node_base
    *__head)
  
  template<typename _ToType , typename _FromType > _ToType
    __static_pointer_cast (_FromType *__arg)
  
  template<typename _ToType , typename _FromType > _ToType
    __static_pointer_cast (const _FromType &__arg)
  
  size_t __stl_hash_string (const char *__s)
  
  unsigned long __stl_next_prime (unsigned long __n)
  
  template<typename _TRet , typename _Ret = _TRet, typename _CharT ,
    typename... _Base> _Ret __stoa (_TRet(*__convf)(const _CharT *,
    _CharT **, _Base...), const char *__name, const _CharT *__str, std::size_t
    *__idx, _Base... __base)
  
  void __throw_concurrence_lock_error ()
  
  void __throw_concurrence_unlock_error ()
  
  void __throw_forced_error ()
  
  template<typename _String , typename _CharT = typename
    _String::value_type> _String __to_xstring (int(*__convf)(_CharT *,
    std::size_t, const _CharT *, __builtin_va_list), std::size_t __n, const
    _CharT *__fmt,...)
  
  template<typename _InputIter , typename _Size , typename _ForwardIter >
    std::pair< _InputIter, _ForwardIter >
    __uninitialized_copy_n (_InputIter __first, _Size __count,
    _ForwardIter __result)
  
  template<typename _InputIter , typename _Size , typename _ForwardIter >
    std::pair< _InputIter, _ForwardIter >
    __uninitialized_copy_n (_InputIter __first, _Size __count,
    _ForwardIter __result, std::input_iterator_tag)
  
  template<typename _RandomAccessIter , typename _Size , typename
    _ForwardIter > std::pair< _RandomAccessIter, _ForwardIter >
    __uninitialized_copy_n (_RandomAccessIter __first, _Size __count,
    _ForwardIter __result, std::random_access_iterator_tag)
  
  template<typename _InputIter , typename _Size , typename _ForwardIter ,
    typename _Allocator > std::pair< _InputIter, _ForwardIter >
    __uninitialized_copy_n_a (_InputIter __first, _Size __count,
    _ForwardIter __result, _Allocator __alloc)
  
  template<typename _InputIter , typename _Size , typename _ForwardIter ,
    typename _Tp > std::pair< _InputIter, _ForwardIter >
    __uninitialized_copy_n_a (_InputIter __first, _Size __count,
    _ForwardIter __result, std::allocator< _Tp >)
  
  void __verbose_terminate_handler ()
  
  A replacement for the standard terminate_handler which prints more information
    about the terminating exception (if any) on stderr. std::size_t
    _Bit_scan_forward (std::size_t __num)
  
  Generic Version of the bsf instruction. template<typename _ForwardIterator
    , typename _Allocator > void _Destroy_const (_ForwardIterator
    __first, _ForwardIterator __last, _Allocator __alloc)
  
  template<typename _ForwardIterator , typename _Tp > void
    _Destroy_const (_ForwardIterator __first, _ForwardIterator __last,
    std::allocator< _Tp >)
  
  template<class _CharT , class _Traits > void _Rope_fill
    (std::basic_ostream< _CharT, _Traits > &__o, std::size_t
    __n)
  
  template<class _CharT > bool _Rope_is_simple (_CharT *)
  
  bool _Rope_is_simple (char *)
  
  bool _Rope_is_simple (wchar_t *)
  
  template<class _Rope_iterator > void _Rope_rotate (_Rope_iterator
    __first, _Rope_iterator __middle, _Rope_iterator __last)
  
  template<class _CharT > void _S_cond_store_eos (_CharT &)
  
  void _S_cond_store_eos (char &__c)
  
  void _S_cond_store_eos (wchar_t &__c)
  
  template<class _CharT > _CharT _S_eos (_CharT *)
  
  template<class _CharT > bool _S_is_basic_char_type (_CharT *)
  
  bool _S_is_basic_char_type (char *)
  
  bool _S_is_basic_char_type (wchar_t *)
  
  template<class _CharT > bool _S_is_one_byte_char_type (_CharT *)
  
  bool _S_is_one_byte_char_type (char *)
  
  template<typename _Tp > __gnu_cxx::__promote< _Tp >::__type
    airy_ai (_Tp __x)
  
  float airy_aif (float __x)
  
  long double airy_ail (long double __x)
  
  template<typename _Tp > __gnu_cxx::__promote< _Tp >::__type
    airy_bi (_Tp __x)
  
  float airy_bif (float __x)
  
  long double airy_bil (long double __x)
  
  template<class _Operation1 , class _Operation2 >
    unary_compose< _Operation1, _Operation2 > compose1
    (const _Operation1 &__fn1, const _Operation2 &__fn2)
  
  An SGI extension . template<class _Operation1 , class _Operation2 ,
    class _Operation3 > binary_compose< _Operation1, _Operation2,
    _Operation3 > compose2 (const _Operation1 &__fn1, const
    _Operation2 &__fn2, const _Operation3 &__fn3)
  
  An SGI extension . template<typename _Tpa , typename _Tpc , typename
    _Tp > __gnu_cxx::__promote_3< _Tpa, _Tpc, _Tp >::__type
    conf_hyperg (_Tpa __a, _Tpc __c, _Tp __x)
  
  float conf_hypergf (float __a, float __c, float __x)
  
  long double conf_hypergl (long double __a, long double __c, long double
    __x)
  
  template<class _Result > constant_void_fun< _Result >
    constant0 (const _Result &__val)
  
  An SGI extension . template<class _Result >
    constant_unary_fun< _Result, _Result > constant1 (const
    _Result &__val)
  
  An SGI extension . template<class _Result >
    constant_binary_fun< _Result, _Result, _Result >
    constant2 (const _Result &__val)
  
  An SGI extension . template<typename _InputIterator , typename _Size
    , typename _OutputIterator > std::pair< _InputIterator,
    _OutputIterator > copy_n (_InputIterator __first, _Size __count,
    _OutputIterator __result)
  
  Copies the range [first,first+count) into [result,result+count).
    template<typename _InputIterator , typename _Tp , typename _Size >
    void count (_InputIterator __first, _InputIterator __last, const _Tp
    &__value, _Size &__n)
  
  template<typename _InputIterator , typename _Predicate , typename _Size
    > void count_if (_InputIterator __first, _InputIterator __last,
    _Predicate __pred, _Size &__n)
  
  template<typename _InputIterator , typename _Distance > void
    distance (_InputIterator __first, _InputIterator __last, _Distance
    &__n)
  
  template<typename _Tpa , typename _Tpb , typename _Tpc , typename _Tp >
    __gnu_cxx::__promote_4< _Tpa, _Tpb, _Tpc, _Tp >::__type hyperg
    (_Tpa __a, _Tpb __b, _Tpc __c, _Tp __x)
  
  float hypergf (float __a, float __b, float __c, float __x)
  
  long double hypergl (long double __a, long double __b, long double __c,
    long double __x)
  
  template<class _Tp > _Tp identity_element
    (std::multiplies< _Tp >)
  
  An SGI extension . template<class _Tp > _Tp
    identity_element (std::plus< _Tp >)
  
  An SGI extension . template<typename _InputIterator1 , typename
    _InputIterator2 > int lexicographical_compare_3way
    (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2
    __first2, _InputIterator2 __last2)
  
  memcmp on steroids.  template<class _Ret , class _Tp , class _Arg
    > std::const_mem_fun1_t< _Ret, _Tp, _Arg > mem_fun1
    (_Ret(_Tp::*__f)(_Arg) const)
  
  template<class _Ret , class _Tp , class _Arg >
    std::mem_fun1_t< _Ret, _Tp, _Arg > mem_fun1
    (_Ret(_Tp::*__f)(_Arg))
  
  template<class _Ret , class _Tp , class _Arg >
    std::const_mem_fun1_ref_t< _Ret, _Tp, _Arg >
    mem_fun1_ref (_Ret(_Tp::*__f)(_Arg) const)
  
  template<class _Ret , class _Tp , class _Arg >
    std::mem_fun1_ref_t< _Ret, _Tp, _Arg > mem_fun1_ref
    (_Ret(_Tp::*__f)(_Arg))
  
  template<typename _Tp1 , typename _Tp2 > bool operator!= (_Tp1
    __lhs, const _Pointer_adapter< _Tp2 > &__rhs)
  
  template<typename _Tp , typename _Poolp > bool operator!= (const
    __mt_alloc< _Tp, _Poolp > &, const __mt_alloc<
    _Tp, _Poolp > &)
  
  template<typename _Iterator , typename _Container > constexpr bool
    operator!= (const __normal_iterator< _Iterator, _Container >
    &__lhs, const __normal_iterator< _Iterator, _Container >
    &__rhs) noexcept
  
  template<typename _IteratorL , typename _IteratorR , typename _Container
    > constexpr bool operator!= (const __normal_iterator<
    _IteratorL, _Container > &__lhs, const __normal_iterator<
    _IteratorR, _Container > &__rhs) noexcept
  
  template<typename _Tp > bool operator!= (const
    __pool_alloc< _Tp > &, const __pool_alloc< _Tp
    > &)
  
  template<typename _CharT , typename _Traits , typename _Alloc ,
    template< typename, typename, typename > class _Base> bool
    operator!= (const __versa_string< _CharT, _Traits, _Alloc,
    _Base > &__lhs, const __versa_string< _CharT, _Traits,
    _Alloc, _Base > &__rhs)
  
  Test difference of two strings. template<typename _CharT , typename _Traits
    , typename _Alloc , template< typename, typename, typename > class
    _Base> bool operator!= (const __versa_string< _CharT,
    _Traits, _Alloc, _Base > &__lhs, const _CharT *__rhs)
  
  Test difference of string and C string. template<typename _CharT , typename
    _Traits , typename _Alloc , template< typename, typename, typename >
    class _Base> bool operator!= (const _CharT *__lhs, const
    __versa_string< _CharT, _Traits, _Alloc, _Base > &__rhs)
  
  Test difference of C string and string. template<typename _Tp > bool
    operator!= (const _Pointer_adapter< _Tp > &__lhs,
    const _Pointer_adapter< _Tp > &__rhs)
  
  template<typename _Tp > bool operator!= (const
    _Pointer_adapter< _Tp > &__lhs, int __rhs)
  
  template<typename _Tp1 , typename _Tp2 > bool operator!= (const
    _Pointer_adapter< _Tp1 > &__lhs, _Tp2 __rhs)
  
  template<typename _Tp1 , typename _Tp2 > bool operator!= (const
    _Pointer_adapter< _Tp1 > &__lhs, const
    _Pointer_adapter< _Tp2 > &__rhs)
  
  template<class _CharT , class _Alloc > bool operator!= (const
    _Rope_char_ptr_proxy< _CharT, _Alloc > &__x, const
    _Rope_char_ptr_proxy< _CharT, _Alloc > &__y)
  
  template<class _CharT , class _Alloc > bool operator!= (const
    _Rope_const_iterator< _CharT, _Alloc > &__x, const
    _Rope_const_iterator< _CharT, _Alloc > &__y)
  
  template<class _CharT , class _Alloc > bool operator!= (const
    _Rope_iterator< _CharT, _Alloc > &__x, const _Rope_iterator<
    _CharT, _Alloc > &__y)
  
  template<typename _Tp1 , typename _Tp2 > bool operator!= (const
    bitmap_allocator< _Tp1 > &, const
    bitmap_allocator< _Tp2 > &) throw ()
  
  template<class _Key , class _Tp , class _HashFn , class _EqlKey , class
    _Alloc > bool operator!= (const hash_map< _Key, _Tp,
    _HashFn, _EqlKey, _Alloc > &__hm1, const hash_map< _Key,
    _Tp, _HashFn, _EqlKey, _Alloc > &__hm2)
  
  template<class _Key , class _Tp , class _HF , class _EqKey , class _Alloc
    > bool operator!= (const hash_multimap< _Key, _Tp, _HF,
    _EqKey, _Alloc > &__hm1, const hash_multimap< _Key, _Tp,
    _HF, _EqKey, _Alloc > &__hm2)
  
  template<class _Val , class _HashFcn , class _EqualKey , class _Alloc >
    bool operator!= (const hash_multiset< _Val, _HashFcn,
    _EqualKey, _Alloc > &__hs1, const hash_multiset< _Val,
    _HashFcn, _EqualKey, _Alloc > &__hs2)
  
  template<class _Value , class _HashFcn , class _EqualKey , class _Alloc
    > bool operator!= (const hash_set< _Value, _HashFcn,
    _EqualKey, _Alloc > &__hs1, const hash_set< _Value,
    _HashFcn, _EqualKey, _Alloc > &__hs2)
  
  template<class _Val , class _Key , class _HF , class _Ex , class _Eq ,
    class _All > bool operator!= (const hashtable< _Val, _Key, _HF,
    _Ex, _Eq, _All > &__ht1, const hashtable< _Val, _Key, _HF, _Ex,
    _Eq, _All > &__ht2)
  
  template<class _CharT , class _Alloc > bool operator!= (const
    rope< _CharT, _Alloc > &__x, const rope< _CharT,
    _Alloc > &__y)
  
  template<class _Tp , class _Alloc > bool operator!= (const
    slist< _Tp, _Alloc > &_SL1, const slist< _Tp,
    _Alloc > &_SL2)
  
  template<typename _Tp , typename _Cond > bool operator!= (const
    throw_allocator_base< _Tp, _Cond > &, const
    throw_allocator_base< _Tp, _Cond > &)
  
  template<typename _Tp > bool operator!= (int __lhs, const
    _Pointer_adapter< _Tp > &__rhs)
  
  template<typename _Cond > throw_value_base< _Cond >
    operator* (const throw_value_base< _Cond > &__a,
    const throw_value_base< _Cond > &__b)
  
  template<typename _CharT , typename _Traits , typename _Alloc ,
    template< typename, typename, typename > class _Base>
    __versa_string< _CharT, _Traits, _Alloc, _Base >
    operator+ (__versa_string< _CharT, _Traits, _Alloc, _Base
    > &&__lhs, __versa_string< _CharT, _Traits, _Alloc,
    _Base > &&__rhs)
  
  template<typename _CharT , typename _Traits , typename _Alloc ,
    template< typename, typename, typename > class _Base>
    __versa_string< _CharT, _Traits, _Alloc, _Base >
    operator+ (__versa_string< _CharT, _Traits, _Alloc, _Base
    > &&__lhs, _CharT __rhs)
  
  template<typename _CharT , typename _Traits , typename _Alloc ,
    template< typename, typename, typename > class _Base>
    __versa_string< _CharT, _Traits, _Alloc, _Base >
    operator+ (__versa_string< _CharT, _Traits, _Alloc, _Base
    > &&__lhs, const __versa_string< _CharT, _Traits,
    _Alloc, _Base > &__rhs)
  
  template<typename _CharT , typename _Traits , typename _Alloc ,
    template< typename, typename, typename > class _Base>
    __versa_string< _CharT, _Traits, _Alloc, _Base >
    operator+ (__versa_string< _CharT, _Traits, _Alloc, _Base
    > &&__lhs, const _CharT *__rhs)
  
  template<typename _CharT , typename _Traits , typename _Alloc ,
    template< typename, typename, typename > class _Base>
    __versa_string< _CharT, _Traits, _Alloc, _Base >
    operator+ (_CharT __lhs, __versa_string< _CharT, _Traits,
    _Alloc, _Base > &&__rhs)
  
  template<typename _CharT , typename _Traits , typename _Alloc ,
    template< typename, typename, typename > class _Base>
    __versa_string< _CharT, _Traits, _Alloc, _Base >
    operator+ (_CharT __lhs, const __versa_string< _CharT,
    _Traits, _Alloc, _Base > &__rhs)
  
  Concatenate character and string. template<typename _CharT , typename
    _Traits , typename _Alloc , template< typename, typename, typename >
    class _Base> __versa_string< _CharT, _Traits, _Alloc, _Base
    > operator+ (const __versa_string< _CharT, _Traits,
    _Alloc, _Base > &__lhs, __versa_string< _CharT, _Traits,
    _Alloc, _Base > &&__rhs)
  
  template<typename _CharT , typename _Traits , typename _Alloc ,
    template< typename, typename, typename > class _Base>
    __versa_string< _CharT, _Traits, _Alloc, _Base >
    operator+ (const __versa_string< _CharT, _Traits, _Alloc,
    _Base > &__lhs, _CharT __rhs)
  
  Concatenate string and character. template<typename _CharT , typename
    _Traits , typename _Alloc , template< typename, typename, typename >
    class _Base> __versa_string< _CharT, _Traits, _Alloc, _Base
    > operator+ (const __versa_string< _CharT, _Traits,
    _Alloc, _Base > &__lhs, const __versa_string< _CharT,
    _Traits, _Alloc, _Base > &__rhs)
  
  Concatenate two strings. template<typename _CharT , typename _Traits ,
    typename _Alloc , template< typename, typename, typename > class
    _Base> __versa_string< _CharT, _Traits, _Alloc, _Base >
    operator+ (const __versa_string< _CharT, _Traits, _Alloc,
    _Base > &__lhs, const _CharT *__rhs)
  
  Concatenate string and C string. template<typename _CharT , typename
    _Traits , typename _Alloc , template< typename, typename, typename >
    class _Base> __versa_string< _CharT, _Traits, _Alloc, _Base
    > operator+ (const _CharT *__lhs, __versa_string<
    _CharT, _Traits, _Alloc, _Base > &&__rhs)
  
  template<typename _CharT , typename _Traits , typename _Alloc ,
    template< typename, typename, typename > class _Base>
    __versa_string< _CharT, _Traits, _Alloc, _Base >
    operator+ (const _CharT *__lhs, const __versa_string<
    _CharT, _Traits, _Alloc, _Base > &__rhs)
  
  Concatenate C string and string. template<class _CharT , class _Alloc >
    _Rope_const_iterator< _CharT, _Alloc > operator+ (const
    _Rope_const_iterator< _CharT, _Alloc > &__x, std::ptrdiff_t __n)
  
  template<class _CharT , class _Alloc > _Rope_iterator< _CharT, _Alloc
    > operator+ (const _Rope_iterator< _CharT, _Alloc >
    &__x, std::ptrdiff_t __n)
  
  template<class _CharT , class _Alloc > rope< _CharT, _Alloc
    > operator+ (const rope< _CharT, _Alloc >
    &__left, _CharT __right)
  
  template<class _CharT , class _Alloc > rope< _CharT, _Alloc
    > operator+ (const rope< _CharT, _Alloc >
    &__left, const _CharT *__right)
  
  template<class _CharT , class _Alloc > rope< _CharT, _Alloc
    > operator+ (const rope< _CharT, _Alloc >
    &__left, const rope< _CharT, _Alloc > &__right)
  
  template<typename _Cond > throw_value_base< _Cond >
    operator+ (const throw_value_base< _Cond > &__a,
    const throw_value_base< _Cond > &__b)
  
  template<class _CharT , class _Alloc > _Rope_const_iterator< _CharT,
    _Alloc > operator+ (std::ptrdiff_t __n, const
    _Rope_const_iterator< _CharT, _Alloc > &__x)
  
  template<class _CharT , class _Alloc > _Rope_iterator< _CharT, _Alloc
    > operator+ (std::ptrdiff_t __n, const _Rope_iterator< _CharT,
    _Alloc > &__x)
  
  template<typename _Iterator , typename _Container > constexpr
    __normal_iterator< _Iterator, _Container > operator+ (typename
    __normal_iterator< _Iterator, _Container >::difference_type __n, const
    __normal_iterator< _Iterator, _Container > &__i) noexcept
  
  template<class _CharT , class _Alloc > rope< _CharT, _Alloc
    > & operator+= (rope< _CharT, _Alloc >
    &__left, _CharT __right)
  
  template<class _CharT , class _Alloc > rope< _CharT, _Alloc
    > & operator+= (rope< _CharT, _Alloc >
    &__left, const _CharT *__right)
  
  template<class _CharT , class _Alloc > rope< _CharT, _Alloc
    > & operator+= (rope< _CharT, _Alloc >
    &__left, const rope< _CharT, _Alloc > &__right)
  
  template<typename _Iterator , typename _Container > constexpr
    __normal_iterator< _Iterator, _Container >::difference_type
    operator- (const __normal_iterator< _Iterator, _Container >
    &__lhs, const __normal_iterator< _Iterator, _Container >
    &__rhs) noexcept
  
  template<typename _IteratorL , typename _IteratorR , typename _Container
    > constexpr auto operator- (const __normal_iterator<
    _IteratorL, _Container > &__lhs, const __normal_iterator<
    _IteratorR, _Container > &__rhs) noexcept -> decltype(__lhs.base()
    - __rhs.base())
  
  template<class _CharT , class _Alloc > std::ptrdiff_t operator-
    (const _Rope_const_iterator< _CharT, _Alloc > &__x, const
    _Rope_const_iterator< _CharT, _Alloc > &__y)
  
  template<class _CharT , class _Alloc > _Rope_const_iterator< _CharT,
    _Alloc > operator- (const _Rope_const_iterator< _CharT, _Alloc
    > &__x, std::ptrdiff_t __n)
  
  template<class _CharT , class _Alloc > std::ptrdiff_t operator-
    (const _Rope_iterator< _CharT, _Alloc > &__x, const
    _Rope_iterator< _CharT, _Alloc > &__y)
  
  template<class _CharT , class _Alloc > _Rope_iterator< _CharT, _Alloc
    > operator- (const _Rope_iterator< _CharT, _Alloc >
    &__x, std::ptrdiff_t __n)
  
  template<typename _Cond > throw_value_base< _Cond >
    operator- (const throw_value_base< _Cond > &__a,
    const throw_value_base< _Cond > &__b)
  
  template<typename _Tp1 , typename _Tp2 > bool operator< (_Tp1
    __lhs, const _Pointer_adapter< _Tp2 > &__rhs)
  
  template<typename _Iterator , typename _Container > constexpr bool
    operator< (const __normal_iterator< _Iterator, _Container >
    &__lhs, const __normal_iterator< _Iterator, _Container >
    &__rhs) noexcept
  
  template<typename _IteratorL , typename _IteratorR , typename _Container
    > bool operator< (const __normal_iterator< _IteratorL,
    _Container > &__lhs, const __normal_iterator< _IteratorR,
    _Container > &__rhs) noexcept
  
  template<typename _CharT , typename _Traits , typename _Alloc ,
    template< typename, typename, typename > class _Base> bool
    operator< (const __versa_string< _CharT, _Traits,
    _Alloc, _Base > &__lhs, const __versa_string< _CharT,
    _Traits, _Alloc, _Base > &__rhs)
  
  Test if string precedes string. template<typename _CharT , typename _Traits
    , typename _Alloc , template< typename, typename, typename > class
    _Base> bool operator< (const __versa_string< _CharT,
    _Traits, _Alloc, _Base > &__lhs, const _CharT *__rhs)
  
  Test if string precedes C string. template<typename _CharT , typename
    _Traits , typename _Alloc , template< typename, typename, typename >
    class _Base> bool operator< (const _CharT *__lhs, const
    __versa_string< _CharT, _Traits, _Alloc, _Base > &__rhs)
  
  Test if C string precedes string. template<typename _Tp1 , typename _Tp2
    > bool operator< (const _Pointer_adapter< _Tp1 >
    &__lhs, _Tp2 __rhs)
  
  template<typename _Tp1 , typename _Tp2 > bool operator< (const
    _Pointer_adapter< _Tp1 > &__lhs, const
    _Pointer_adapter< _Tp2 > &__rhs)
  
  template<class _CharT , class _Alloc > bool operator< (const
    _Rope_const_iterator< _CharT, _Alloc > &__x, const
    _Rope_const_iterator< _CharT, _Alloc > &__y)
  
  template<class _CharT , class _Alloc > bool operator< (const
    _Rope_iterator< _CharT, _Alloc > &__x, const _Rope_iterator<
    _CharT, _Alloc > &__y)
  
  template<typename _Value , typename _Int , typename _St > bool
    operator< (const character< _Value, _Int, _St >
    &lhs, const character< _Value, _Int, _St > &rhs)
  
  template<class _CharT , class _Alloc > bool operator< (const
    rope< _CharT, _Alloc > &__left, const rope<
    _CharT, _Alloc > &__right)
  
  template<class _Tp , class _Alloc > bool operator< (const
    slist< _Tp, _Alloc > &_SL1, const slist< _Tp,
    _Alloc > &_SL2)
  
  template<typename _Cond > bool operator< (const
    throw_value_base< _Cond > &__a, const
    throw_value_base< _Cond > &__b)
  
  template<class _CharT , class _Traits , class _Alloc >
    std::basic_ostream< _CharT, _Traits > &
    operator<< (std::basic_ostream< _CharT, _Traits >
    &__o, const rope< _CharT, _Alloc > &__r)
  
  template<typename _RealType , typename _CharT , typename _Traits >
    std::basic_ostream< _CharT, _Traits > &
    operator<< (std::basic_ostream< _CharT, _Traits >
    &__os, const __gnu_cxx::beta_distribution< _RealType > &__x)
  
  template<typename _UIntType , typename _CharT , typename _Traits >
    std::basic_ostream< _CharT, _Traits > &
    operator<< (std::basic_ostream< _CharT, _Traits >
    &__os, const __gnu_cxx::hypergeometric_distribution< _UIntType >
    &__x)
  
  template<size_t _Dimen, typename _RealType , typename _CharT , typename
    _Traits > std::basic_ostream< _CharT, _Traits > &
    operator<< (std::basic_ostream< _CharT, _Traits >
    &__os, const __gnu_cxx::normal_mv_distribution< _Dimen, _RealType
    > &__x)
  
  template<typename _UIntType , size_t __m, size_t __pos1, size_t __sl1,
    size_t __sl2, size_t __sr1, size_t __sr2, uint32_t __msk1, uint32_t __msk2,
    uint32_t __msk3, uint32_t __msk4, uint32_t __parity1, uint32_t __parity2,
    uint32_t __parity3, uint32_t __parity4, typename _CharT , typename _Traits
    > std::basic_ostream< _CharT, _Traits > &
    operator<< (std::basic_ostream< _CharT, _Traits >
    &__os, const __gnu_cxx::simd_fast_mersenne_twister_engine< _UIntType,
    __m, __pos1, __sl1, __sl2, __sr1, __sr2, __msk1, __msk2, __msk3, __msk4,
    __parity1, __parity2, __parity3, __parity4 > &__x)
  
  template<typename _RealType , typename _CharT , typename _Traits >
    std::basic_ostream< _CharT, _Traits > &
    operator<< (std::basic_ostream< _CharT, _Traits >
    &__os, const __gnu_cxx::triangular_distribution< _RealType >
    &__x)
  
  template<std::size_t _Dimen, typename _RealType , typename _CharT ,
    typename _Traits > std::basic_ostream< _CharT, _Traits >
    & operator<< (std::basic_ostream< _CharT, _Traits
    > &__os, const __gnu_cxx::uniform_inside_sphere_distribution<
    _Dimen, _RealType > &__x)
  
  template<std::size_t _Dimen, typename _RealType , typename _CharT ,
    typename _Traits > std::basic_ostream< _CharT, _Traits >
    & operator<< (std::basic_ostream< _CharT, _Traits
    > &__os, const __gnu_cxx::uniform_on_sphere_distribution< _Dimen,
    _RealType > &__x)
  
  template<typename _RealType , typename _CharT , typename _Traits >
    std::basic_ostream< _CharT, _Traits > &
    operator<< (std::basic_ostream< _CharT, _Traits >
    &__os, const __gnu_cxx::von_mises_distribution< _RealType >
    &__x)
  
  template<typename _CharT , typename _Traits , typename _StoreT >
    std::basic_ostream< _CharT, _Traits > &
    operator<< (std::basic_ostream< _CharT, _Traits >
    &__os, const _Pointer_adapter< _StoreT > &__p)
  
  template<typename _RealType , typename _CharT , typename _Traits >
    std::basic_ostream< _CharT, _Traits > &
    operator<< (std::basic_ostream< _CharT, _Traits >
    &__os, const arcsine_distribution< _RealType > &__x)
  
  template<typename _RealType , typename _CharT , typename _Traits >
    std::basic_ostream< _CharT, _Traits > &
    operator<< (std::basic_ostream< _CharT, _Traits >
    &__os, const hoyt_distribution< _RealType > &__x)
  
  template<typename _RealType , typename _CharT , typename _Traits >
    std::basic_ostream< _CharT, _Traits > &
    operator<< (std::basic_ostream< _CharT, _Traits >
    &__os, const k_distribution< _RealType > &__x)
  
  template<typename _RealType , typename _CharT , typename _Traits >
    std::basic_ostream< _CharT, _Traits > &
    operator<< (std::basic_ostream< _CharT, _Traits >
    &__os, const logistic_distribution< _RealType > &__x)
  
  template<typename _RealType , typename _CharT , typename _Traits >
    std::basic_ostream< _CharT, _Traits > &
    operator<< (std::basic_ostream< _CharT, _Traits >
    &__os, const nakagami_distribution< _RealType > &__x)
  
  template<typename _RealType , typename _CharT , typename _Traits >
    std::basic_ostream< _CharT, _Traits > &
    operator<< (std::basic_ostream< _CharT, _Traits >
    &__os, const pareto_distribution< _RealType > &__x)
  
  template<typename _RealType , typename _CharT , typename _Traits >
    std::basic_ostream< _CharT, _Traits > &
    operator<< (std::basic_ostream< _CharT, _Traits >
    &__os, const rice_distribution< _RealType > &__x)
  
  std::ostream & operator<< (std::ostream
    &os, const annotate_base &__b)
  
  template<typename _Tp1 , typename _Tp2 > bool operator<= (_Tp1
    __lhs, const _Pointer_adapter< _Tp2 > &__rhs)
  
  template<typename _Iterator , typename _Container > constexpr bool
    operator<= (const __normal_iterator< _Iterator, _Container >
    &__lhs, const __normal_iterator< _Iterator, _Container >
    &__rhs) noexcept
  
  template<typename _IteratorL , typename _IteratorR , typename _Container
    > bool operator<= (const __normal_iterator< _IteratorL,
    _Container > &__lhs, const __normal_iterator< _IteratorR,
    _Container > &__rhs) noexcept
  
  template<typename _CharT , typename _Traits , typename _Alloc ,
    template< typename, typename, typename > class _Base> bool
    operator<= (const __versa_string< _CharT, _Traits,
    _Alloc, _Base > &__lhs, const __versa_string< _CharT,
    _Traits, _Alloc, _Base > &__rhs)
  
  Test if string doesn't follow string. template<typename _CharT , typename
    _Traits , typename _Alloc , template< typename, typename, typename >
    class _Base> bool operator<= (const __versa_string<
    _CharT, _Traits, _Alloc, _Base > &__lhs, const _CharT *__rhs)
  
  Test if string doesn't follow C string. template<typename _CharT , typename
    _Traits , typename _Alloc , template< typename, typename, typename >
    class _Base> bool operator<= (const _CharT *__lhs, const
    __versa_string< _CharT, _Traits, _Alloc, _Base > &__rhs)
  
  Test if C string doesn't follow string. template<typename _Tp > bool
    operator<= (const _Pointer_adapter< _Tp > &__lhs,
    const _Pointer_adapter< _Tp > &__rhs)
  
  template<typename _Tp1 , typename _Tp2 > bool operator<=
    (const _Pointer_adapter< _Tp1 > &__lhs, _Tp2 __rhs)
  
  template<typename _Tp1 , typename _Tp2 > bool operator<=
    (const _Pointer_adapter< _Tp1 > &__lhs, const
    _Pointer_adapter< _Tp2 > &__rhs)
  
  template<class _CharT , class _Alloc > bool operator<= (const
    _Rope_const_iterator< _CharT, _Alloc > &__x, const
    _Rope_const_iterator< _CharT, _Alloc > &__y)
  
  template<class _CharT , class _Alloc > bool operator<= (const
    _Rope_iterator< _CharT, _Alloc > &__x, const _Rope_iterator<
    _CharT, _Alloc > &__y)
  
  template<class _CharT , class _Alloc > bool operator<= (const
    rope< _CharT, _Alloc > &__x, const rope< _CharT,
    _Alloc > &__y)
  
  template<class _Tp , class _Alloc > bool operator<= (const
    slist< _Tp, _Alloc > &_SL1, const slist< _Tp,
    _Alloc > &_SL2)
  
  template<typename _Tp1 , typename _Tp2 > bool operator== (_Tp1
    __lhs, const _Pointer_adapter< _Tp2 > &__rhs)
  
  template<size_t _Dimen, typename _RealType > bool operator==
    (const __gnu_cxx::normal_mv_distribution< _Dimen, _RealType >
    &__d1, const __gnu_cxx::normal_mv_distribution< _Dimen, _RealType
    > &__d2)
  
  template<typename _UIntType , size_t __m, size_t __pos1, size_t __sl1,
    size_t __sl2, size_t __sr1, size_t __sr2, uint32_t __msk1, uint32_t __msk2,
    uint32_t __msk3, uint32_t __msk4, uint32_t __parity1, uint32_t __parity2,
    uint32_t __parity3, uint32_t __parity4> bool operator== (const
    __gnu_cxx::simd_fast_mersenne_twister_engine< _UIntType, __m, __pos1,
    __sl1, __sl2, __sr1, __sr2, __msk1, __msk2, __msk3, __msk4, __parity1,
    __parity2, __parity3, __parity4 > &__lhs, const
    __gnu_cxx::simd_fast_mersenne_twister_engine< _UIntType, __m, __pos1,
    __sl1, __sl2, __sr1, __sr2, __msk1, __msk2, __msk3, __msk4, __parity1,
    __parity2, __parity3, __parity4 > &__rhs)
  
  template<typename _Tp , typename _Poolp > bool operator== (const
    __mt_alloc< _Tp, _Poolp > &, const __mt_alloc<
    _Tp, _Poolp > &)
  
  template<typename _Iterator , typename _Container > constexpr bool
    operator== (const __normal_iterator< _Iterator, _Container >
    &__lhs, const __normal_iterator< _Iterator, _Container >
    &__rhs) noexcept
  
  template<typename _IteratorL , typename _IteratorR , typename _Container
    > constexpr bool operator== (const __normal_iterator<
    _IteratorL, _Container > &__lhs, const __normal_iterator<
    _IteratorR, _Container > &__rhs) noexcept
  
  template<typename _Tp > bool operator== (const
    __pool_alloc< _Tp > &, const __pool_alloc< _Tp
    > &)
  
  template<typename _CharT , typename _Traits , typename _Alloc ,
    template< typename, typename, typename > class _Base> bool
    operator== (const __versa_string< _CharT, _Traits, _Alloc,
    _Base > &__lhs, const __versa_string< _CharT, _Traits,
    _Alloc, _Base > &__rhs)
  
  Test equivalence of two strings. template<typename _CharT , typename
    _Traits , typename _Alloc , template< typename, typename, typename >
    class _Base> bool operator== (const __versa_string<
    _CharT, _Traits, _Alloc, _Base > &__lhs, const _CharT *__rhs)
  
  Test equivalence of string and C string. template<typename _CharT ,
    template< typename, typename, typename > class _Base>
    __enable_if< std::__is_char< _CharT >::__value, bool >::__type
    operator== (const __versa_string< _CharT,
    std::char_traits< _CharT >, std::allocator< _CharT
    >, _Base > &__lhs, const __versa_string< _CharT,
    std::char_traits< _CharT >, std::allocator< _CharT
    >, _Base > &__rhs)
  
  template<typename _CharT , typename _Traits , typename _Alloc ,
    template< typename, typename, typename > class _Base> bool
    operator== (const _CharT *__lhs, const __versa_string<
    _CharT, _Traits, _Alloc, _Base > &__rhs)
  
  Test equivalence of C string and string. template<typename _Tp > bool
    operator== (const _Pointer_adapter< _Tp > &__lhs,
    const _Pointer_adapter< _Tp > &__rhs)
  
  template<typename _Tp > bool operator== (const
    _Pointer_adapter< _Tp > &__lhs, int __rhs)
  
  template<typename _Tp1 , typename _Tp2 > bool operator== (const
    _Pointer_adapter< _Tp1 > &__lhs, _Tp2 __rhs)
  
  template<typename _Tp1 , typename _Tp2 > bool operator== (const
    _Pointer_adapter< _Tp1 > &__lhs, const
    _Pointer_adapter< _Tp2 > &__rhs)
  
  template<class _CharT , class _Alloc > bool operator== (const
    _Rope_char_ptr_proxy< _CharT, _Alloc > &__x, const
    _Rope_char_ptr_proxy< _CharT, _Alloc > &__y)
  
  template<class _CharT , class _Alloc > bool operator== (const
    _Rope_const_iterator< _CharT, _Alloc > &__x, const
    _Rope_const_iterator< _CharT, _Alloc > &__y)
  
  template<class _CharT , class _Alloc > bool operator== (const
    _Rope_iterator< _CharT, _Alloc > &__x, const _Rope_iterator<
    _CharT, _Alloc > &__y)
  
  template<typename _Tp1 , typename _Tp2 > bool operator== (const
    bitmap_allocator< _Tp1 > &, const
    bitmap_allocator< _Tp2 > &) throw ()
  
  template<typename _Value , typename _Int , typename _St > bool
    operator== (const character< _Value, _Int, _St >
    &lhs, const character< _Value, _Int, _St > &rhs)
  
  template<class _Key , class _Tp , class _HashFn , class _EqlKey , class
    _Alloc > bool operator== (const hash_map< _Key, _Tp,
    _HashFn, _EqlKey, _Alloc > &__hm1, const hash_map< _Key,
    _Tp, _HashFn, _EqlKey, _Alloc > &__hm2)
  
  template<class _Key , class _Tp , class _HF , class _EqKey , class _Alloc
    > bool operator== (const hash_multimap< _Key, _Tp, _HF,
    _EqKey, _Alloc > &__hm1, const hash_multimap< _Key, _Tp,
    _HF, _EqKey, _Alloc > &__hm2)
  
  template<class _Val , class _HashFcn , class _EqualKey , class _Alloc >
    bool operator== (const hash_multiset< _Val, _HashFcn,
    _EqualKey, _Alloc > &__hs1, const hash_multiset< _Val,
    _HashFcn, _EqualKey, _Alloc > &__hs2)
  
  template<class _Value , class _HashFcn , class _EqualKey , class _Alloc
    > bool operator== (const hash_set< _Value, _HashFcn,
    _EqualKey, _Alloc > &__hs1, const hash_set< _Value,
    _HashFcn, _EqualKey, _Alloc > &__hs2)
  
  template<class _Val , class _Key , class _HF , class _Ex , class _Eq ,
    class _All > bool operator== (const hashtable< _Val, _Key, _HF,
    _Ex, _Eq, _All > &__ht1, const hashtable< _Val, _Key, _HF, _Ex,
    _Eq, _All > &__ht2)
  
  template<class _CharT , class _Alloc > bool operator== (const
    rope< _CharT, _Alloc > &__left, const rope<
    _CharT, _Alloc > &__right)
  
  template<class _Tp , class _Alloc > bool operator== (const
    slist< _Tp, _Alloc > &_SL1, const slist< _Tp,
    _Alloc > &_SL2)
  
  template<typename _Tp , typename _Cond > bool operator== (const
    throw_allocator_base< _Tp, _Cond > &, const
    throw_allocator_base< _Tp, _Cond > &)
  
  template<typename _Cond > bool operator== (const
    throw_value_base< _Cond > &__a, const
    throw_value_base< _Cond > &__b)
  
  template<typename _Tp > bool operator== (int __lhs, const
    _Pointer_adapter< _Tp > &__rhs)
  
  template<typename _Tp1 , typename _Tp2 > bool operator> (_Tp1
    __lhs, const _Pointer_adapter< _Tp2 > &__rhs)
  
  template<typename _Iterator , typename _Container > constexpr bool
    operator> (const __normal_iterator< _Iterator, _Container >
    &__lhs, const __normal_iterator< _Iterator, _Container >
    &__rhs) noexcept
  
  template<typename _IteratorL , typename _IteratorR , typename _Container
    > bool operator> (const __normal_iterator< _IteratorL,
    _Container > &__lhs, const __normal_iterator< _IteratorR,
    _Container > &__rhs) noexcept
  
  template<typename _CharT , typename _Traits , typename _Alloc ,
    template< typename, typename, typename > class _Base> bool
    operator> (const __versa_string< _CharT, _Traits,
    _Alloc, _Base > &__lhs, const __versa_string< _CharT,
    _Traits, _Alloc, _Base > &__rhs)
  
  Test if string follows string. template<typename _CharT , typename _Traits
    , typename _Alloc , template< typename, typename, typename > class
    _Base> bool operator> (const __versa_string< _CharT,
    _Traits, _Alloc, _Base > &__lhs, const _CharT *__rhs)
  
  Test if string follows C string. template<typename _CharT , typename
    _Traits , typename _Alloc , template< typename, typename, typename >
    class _Base> bool operator> (const _CharT *__lhs, const
    __versa_string< _CharT, _Traits, _Alloc, _Base > &__rhs)
  
  Test if C string follows string. template<typename _Tp > bool
    operator> (const _Pointer_adapter< _Tp > &__lhs,
    const _Pointer_adapter< _Tp > &__rhs)
  
  template<typename _Tp1 , typename _Tp2 > bool operator> (const
    _Pointer_adapter< _Tp1 > &__lhs, _Tp2 __rhs)
  
  template<typename _Tp1 , typename _Tp2 > bool operator> (const
    _Pointer_adapter< _Tp1 > &__lhs, const
    _Pointer_adapter< _Tp2 > &__rhs)
  
  template<class _CharT , class _Alloc > bool operator> (const
    _Rope_const_iterator< _CharT, _Alloc > &__x, const
    _Rope_const_iterator< _CharT, _Alloc > &__y)
  
  template<class _CharT , class _Alloc > bool operator> (const
    _Rope_iterator< _CharT, _Alloc > &__x, const _Rope_iterator<
    _CharT, _Alloc > &__y)
  
  template<class _CharT , class _Alloc > bool operator> (const
    rope< _CharT, _Alloc > &__x, const rope< _CharT,
    _Alloc > &__y)
  
  template<class _Tp , class _Alloc > bool operator> (const
    slist< _Tp, _Alloc > &_SL1, const slist< _Tp,
    _Alloc > &_SL2)
  
  template<typename _Tp1 , typename _Tp2 > bool operator>= (_Tp1
    __lhs, const _Pointer_adapter< _Tp2 > &__rhs)
  
  template<typename _Iterator , typename _Container > constexpr bool
    operator>= (const __normal_iterator< _Iterator, _Container >
    &__lhs, const __normal_iterator< _Iterator, _Container >
    &__rhs) noexcept
  
  template<typename _IteratorL , typename _IteratorR , typename _Container
    > bool operator>= (const __normal_iterator< _IteratorL,
    _Container > &__lhs, const __normal_iterator< _IteratorR,
    _Container > &__rhs) noexcept
  
  template<typename _CharT , typename _Traits , typename _Alloc ,
    template< typename, typename, typename > class _Base> bool
    operator>= (const __versa_string< _CharT, _Traits,
    _Alloc, _Base > &__lhs, const __versa_string< _CharT,
    _Traits, _Alloc, _Base > &__rhs)
  
  Test if string doesn't precede string. template<typename _CharT , typename
    _Traits , typename _Alloc , template< typename, typename, typename >
    class _Base> bool operator>= (const __versa_string<
    _CharT, _Traits, _Alloc, _Base > &__lhs, const _CharT *__rhs)
  
  Test if string doesn't precede C string. template<typename _CharT ,
    typename _Traits , typename _Alloc , template< typename, typename,
    typename > class _Base> bool operator>= (const _CharT
    *__lhs, const __versa_string< _CharT, _Traits, _Alloc, _Base >
    &__rhs)
  
  Test if C string doesn't precede string. template<typename _Tp > bool
    operator>= (const _Pointer_adapter< _Tp > &__lhs,
    const _Pointer_adapter< _Tp > &__rhs)
  
  template<typename _Tp1 , typename _Tp2 > bool operator>=
    (const _Pointer_adapter< _Tp1 > &__lhs, _Tp2 __rhs)
  
  template<typename _Tp1 , typename _Tp2 > bool operator>=
    (const _Pointer_adapter< _Tp1 > &__lhs, const
    _Pointer_adapter< _Tp2 > &__rhs)
  
  template<class _CharT , class _Alloc > bool operator>= (const
    _Rope_const_iterator< _CharT, _Alloc > &__x, const
    _Rope_const_iterator< _CharT, _Alloc > &__y)
  
  template<class _CharT , class _Alloc > bool operator>= (const
    _Rope_iterator< _CharT, _Alloc > &__x, const _Rope_iterator<
    _CharT, _Alloc > &__y)
  
  template<class _CharT , class _Alloc > bool operator>= (const
    rope< _CharT, _Alloc > &__x, const rope< _CharT,
    _Alloc > &__y)
  
  template<class _Tp , class _Alloc > bool operator>= (const
    slist< _Tp, _Alloc > &_SL1, const slist< _Tp,
    _Alloc > &_SL2)
  
  template<typename _RealType , typename _CharT , typename _Traits >
    std::basic_istream< _CharT, _Traits > &
    operator>> (std::basic_istream< _CharT, _Traits >
    &__is, __gnu_cxx::beta_distribution< _RealType > &__x)
  
  template<typename _UIntType , typename _CharT , typename _Traits >
    std::basic_istream< _CharT, _Traits > &
    operator>> (std::basic_istream< _CharT, _Traits >
    &__is, __gnu_cxx::hypergeometric_distribution< _UIntType >
    &__x)
  
  template<size_t _Dimen, typename _RealType , typename _CharT , typename
    _Traits > std::basic_istream< _CharT, _Traits > &
    operator>> (std::basic_istream< _CharT, _Traits >
    &__is, __gnu_cxx::normal_mv_distribution< _Dimen, _RealType >
    &__x)
  
  template<typename _UIntType , size_t __m, size_t __pos1, size_t __sl1,
    size_t __sl2, size_t __sr1, size_t __sr2, uint32_t __msk1, uint32_t __msk2,
    uint32_t __msk3, uint32_t __msk4, uint32_t __parity1, uint32_t __parity2,
    uint32_t __parity3, uint32_t __parity4, typename _CharT , typename _Traits
    > std::basic_istream< _CharT, _Traits > &
    operator>> (std::basic_istream< _CharT, _Traits >
    &__is, __gnu_cxx::simd_fast_mersenne_twister_engine< _UIntType, __m,
    __pos1, __sl1, __sl2, __sr1, __sr2, __msk1, __msk2, __msk3, __msk4,
    __parity1, __parity2, __parity3, __parity4 > &__x)
  
  template<typename _RealType , typename _CharT , typename _Traits >
    std::basic_istream< _CharT, _Traits > &
    operator>> (std::basic_istream< _CharT, _Traits >
    &__is, __gnu_cxx::triangular_distribution< _RealType > &__x)
  
  template<std::size_t _Dimen, typename _RealType , typename _CharT ,
    typename _Traits > std::basic_istream< _CharT, _Traits >
    & operator>> (std::basic_istream< _CharT, _Traits
    > &__is, __gnu_cxx::uniform_inside_sphere_distribution< _Dimen,
    _RealType > &__x)
  
  template<std::size_t _Dimen, typename _RealType , typename _CharT ,
    typename _Traits > std::basic_istream< _CharT, _Traits >
    & operator>> (std::basic_istream< _CharT, _Traits
    > &__is, __gnu_cxx::uniform_on_sphere_distribution< _Dimen,
    _RealType > &__x)
  
  template<typename _RealType , typename _CharT , typename _Traits >
    std::basic_istream< _CharT, _Traits > &
    operator>> (std::basic_istream< _CharT, _Traits >
    &__is, __gnu_cxx::von_mises_distribution< _RealType > &__x)
  
  template<typename _RealType , typename _CharT , typename _Traits >
    std::basic_istream< _CharT, _Traits > &
    operator>> (std::basic_istream< _CharT, _Traits >
    &__is, arcsine_distribution< _RealType > &__x)
  
  template<typename _RealType , typename _CharT , typename _Traits >
    std::basic_istream< _CharT, _Traits > &
    operator>> (std::basic_istream< _CharT, _Traits >
    &__is, hoyt_distribution< _RealType > &__x)
  
  template<typename _RealType , typename _CharT , typename _Traits >
    std::basic_istream< _CharT, _Traits > &
    operator>> (std::basic_istream< _CharT, _Traits >
    &__is, k_distribution< _RealType > &__x)
  
  template<typename _RealType , typename _CharT , typename _Traits >
    std::basic_istream< _CharT, _Traits > &
    operator>> (std::basic_istream< _CharT, _Traits >
    &__is, logistic_distribution< _RealType > &__x)
  
  template<typename _RealType , typename _CharT , typename _Traits >
    std::basic_istream< _CharT, _Traits > &
    operator>> (std::basic_istream< _CharT, _Traits >
    &__is, nakagami_distribution< _RealType > &__x)
  
  template<typename _RealType , typename _CharT , typename _Traits >
    std::basic_istream< _CharT, _Traits > &
    operator>> (std::basic_istream< _CharT, _Traits >
    &__is, pareto_distribution< _RealType > &__x)
  
  template<typename _RealType , typename _CharT , typename _Traits >
    std::basic_istream< _CharT, _Traits > &
    operator>> (std::basic_istream< _CharT, _Traits >
    &__is, rice_distribution< _RealType > &__x)
  
  template<typename _Tp , typename _Integer > _Tp power (_Tp __x,
    _Integer __n)
  
  template<typename _Tp , typename _Integer , typename _MonoidOperation >
    _Tp power (_Tp __x, _Integer __n, _MonoidOperation __monoid_op)
  
  template<typename _InputIterator , typename _RandomAccessIterator >
    _RandomAccessIterator random_sample (_InputIterator __first,
    _InputIterator __last, _RandomAccessIterator __out_first,
    _RandomAccessIterator __out_last)
  
  template<typename _InputIterator , typename _RandomAccessIterator ,
    typename _RandomNumberGenerator > _RandomAccessIterator
    random_sample (_InputIterator __first, _InputIterator __last,
    _RandomAccessIterator __out_first, _RandomAccessIterator __out_last,
    _RandomNumberGenerator &__rand)
  
  template<typename _ForwardIterator , typename _OutputIterator , typename
    _Distance > _OutputIterator random_sample_n (_ForwardIterator
    __first, _ForwardIterator __last, _OutputIterator __out, const _Distance
    __n)
  
  template<typename _ForwardIterator , typename _OutputIterator , typename
    _Distance , typename _RandomNumberGenerator > _OutputIterator
    random_sample_n (_ForwardIterator __first, _ForwardIterator __last,
    _OutputIterator __out, const _Distance __n, _RandomNumberGenerator
    &__rand)
  
  void rotate (_Rope_iterator< char, __STL_DEFAULT_ALLOCATOR(char)>
    __first, _Rope_iterator< char, __STL_DEFAULT_ALLOCATOR(char)>
    __middle, _Rope_iterator< char, __STL_DEFAULT_ALLOCATOR(char)> __last)
  
  template<typename _CharT , typename _Traits , typename _Alloc ,
    template< typename, typename, typename > class _Base> void
    swap (__versa_string< _CharT, _Traits, _Alloc, _Base >
    &__lhs, __versa_string< _CharT, _Traits, _Alloc, _Base >
    &__rhs)
  
  Swap contents of two strings. template<typename _Tp > void swap
    (_ExtPtr_allocator< _Tp > &__larg,
    _ExtPtr_allocator< _Tp > &__rarg)
  
  template<class _CharT , class __Alloc > void swap
    (_Rope_char_ref_proxy< _CharT, __Alloc > __a, _Rope_char_ref_proxy<
    _CharT, __Alloc > __b)
  
  template<class _Key , class _Tp , class _HashFn , class _EqlKey , class
    _Alloc > void swap (hash_map< _Key, _Tp, _HashFn,
    _EqlKey, _Alloc > &__hm1, hash_map< _Key, _Tp, _HashFn,
    _EqlKey, _Alloc > &__hm2)
  
  template<class _Key , class _Tp , class _HashFn , class _EqlKey , class
    _Alloc > void swap (hash_multimap< _Key, _Tp, _HashFn,
    _EqlKey, _Alloc > &__hm1, hash_multimap< _Key, _Tp,
    _HashFn, _EqlKey, _Alloc > &__hm2)
  
  template<class _Val , class _HashFcn , class _EqualKey , class _Alloc >
    void swap (hash_multiset< _Val, _HashFcn, _EqualKey, _Alloc
    > &__hs1, hash_multiset< _Val, _HashFcn, _EqualKey, _Alloc
    > &__hs2)
  
  template<class _Val , class _HashFcn , class _EqualKey , class _Alloc >
    void swap (hash_set< _Val, _HashFcn, _EqualKey, _Alloc >
    &__hs1, hash_set< _Val, _HashFcn, _EqualKey, _Alloc >
    &__hs2)
  
  template<class _Val , class _Key , class _HF , class _Extract , class
    _EqKey , class _All > void swap (hashtable< _Val, _Key, _HF,
    _Extract, _EqKey, _All > &__ht1, hashtable< _Val, _Key, _HF,
    _Extract, _EqKey, _All > &__ht2)
  
  template<class _CharT , class _Alloc > void swap (rope<
    _CharT, _Alloc > &__x, rope< _CharT, _Alloc > &__y)
  
  template<class _Tp , class _Alloc > void swap (slist<
    _Tp, _Alloc > &__x, slist< _Tp, _Alloc > &__y)
  
  template<typename _Cond > void swap (throw_value_base<
    _Cond > &__a, throw_value_base< _Cond > &__b)
  
  template<typename _InputIter , typename _Size , typename _ForwardIter >
    std::pair< _InputIter, _ForwardIter >
    uninitialized_copy_n (_InputIter __first, _Size __count, _ForwardIter
    __result)
  
  Copies the range [first,last) into result.
  
Variables¶
static const _Lock_policy __default_lock_policy
  
  template<class _CharT , class _Alloc > rope< _CharT, _Alloc
    > identity_element (_Rope_Concat_fn< _CharT, _Alloc >)
  
  
Detailed Description¶
GNU extensions for public use.
Typedef Documentation¶
template<typename _Tp > using __gnu_cxx::__int_traits = typedef __numeric_traits_integer<_Tp>¶
Convenience alias for __numeric_traits<integer-type>.
Function Documentation¶
template<typename _ToType , typename _FromType > _ToType __gnu_cxx::__static_pointer_cast (_FromType * __arg) [inline]¶
Casting operations for cases where _FromType is a standard pointer. _ToType can be a standard or non-standard pointer.
template<typename _ToType , typename _FromType > _ToType __gnu_cxx::__static_pointer_cast (const _FromType & __arg) [inline]¶
Casting operations for cases where _FromType is not a standard pointer. _ToType can be a standard or non-standard pointer. Given that _FromType is not a pointer, it must have a get() method that returns the standard pointer equivalent of the address it points to, and must have an element_type typedef which names the type it points to.
std::size_t __gnu_cxx::_Bit_scan_forward (std::size_t __num) [inline]¶
Generic Version of the bsf instruction.
Referenced by __gnu_cxx::bitmap_allocator< _Tp >::_M_allocate_single_object().
template<typename _CharT , typename _Traits , typename _Alloc , template< typename, typename, typename > class _Base> bool __gnu_cxx::operator!= (const __versa_string< _CharT, _Traits, _Alloc, _Base > & __lhs, const __versa_string< _CharT, _Traits, _Alloc, _Base > & __rhs) [inline]¶
Test difference of two strings.
Parameters
__rhs Second string.
Returns
template<typename _CharT , typename _Traits , typename _Alloc , template< typename, typename, typename > class _Base> bool __gnu_cxx::operator!= (const __versa_string< _CharT, _Traits, _Alloc, _Base > & __lhs, const _CharT * __rhs) [inline]¶
Test difference of string and C string.
Parameters
__rhs C string.
Returns
template<typename _CharT , typename _Traits , typename _Alloc , template< typename, typename, typename > class _Base> bool __gnu_cxx::operator!= (const _CharT * __lhs, const __versa_string< _CharT, _Traits, _Alloc, _Base > & __rhs) [inline]¶
Test difference of C string and string.
Parameters
__rhs String.
Returns
template<typename _CharT , typename _Traits , typename _Alloc , template< typename, typename, typename > class _Base> __versa_string< _CharT, _Traits, _Alloc, _Base > __gnu_cxx::operator+ (_CharT __lhs, const __versa_string< _CharT, _Traits, _Alloc, _Base > & __rhs)¶
Concatenate character and string.
Parameters
__rhs Last string.
Returns
References __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::append(), __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::push_back(), __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::reserve(), and __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::size().
template<typename _CharT , typename _Traits , typename _Alloc , template< typename, typename, typename > class _Base> __versa_string< _CharT, _Traits, _Alloc, _Base > __gnu_cxx::operator+ (const __versa_string< _CharT, _Traits, _Alloc, _Base > & __lhs, _CharT __rhs)¶
Concatenate string and character.
Parameters
__rhs Last string.
Returns
References __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::append(), __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::push_back(), __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::reserve(), and __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::size().
template<typename _CharT , typename _Traits , typename _Alloc , template< typename, typename, typename > class _Base> __versa_string< _CharT, _Traits, _Alloc, _Base > __gnu_cxx::operator+ (const __versa_string< _CharT, _Traits, _Alloc, _Base > & __lhs, const __versa_string< _CharT, _Traits, _Alloc, _Base > & __rhs)¶
Concatenate two strings.
Parameters
__rhs Last string.
Returns
References __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::append(), __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::reserve(), and __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::size().
template<typename _CharT , typename _Traits , typename _Alloc , template< typename, typename, typename > class _Base> __versa_string< _CharT, _Traits, _Alloc, _Base > __gnu_cxx::operator+ (const __versa_string< _CharT, _Traits, _Alloc, _Base > & __lhs, const _CharT * __rhs)¶
Concatenate string and C string.
Parameters
__rhs Last string.
Returns
References __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::size().
template<typename _CharT , typename _Traits , typename _Alloc , template< typename, typename, typename > class _Base> __versa_string< _CharT, _Traits, _Alloc, _Base > __gnu_cxx::operator+ (const _CharT * __lhs, const __versa_string< _CharT, _Traits, _Alloc, _Base > & __rhs)¶
Concatenate C string and string.
Parameters
__rhs Last string.
Returns
References __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::size().
template<typename _CharT , typename _Traits , typename _Alloc , template< typename, typename, typename > class _Base> bool __gnu_cxx::operator< (const __versa_string< _CharT, _Traits, _Alloc, _Base > & __lhs, const __versa_string< _CharT, _Traits, _Alloc, _Base > & __rhs) [inline]¶
Test if string precedes string.
Parameters
__rhs Second string.
Returns
References __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::compare().
template<typename _CharT , typename _Traits , typename _Alloc , template< typename, typename, typename > class _Base> bool __gnu_cxx::operator< (const __versa_string< _CharT, _Traits, _Alloc, _Base > & __lhs, const _CharT * __rhs) [inline]¶
Test if string precedes C string.
Parameters
__rhs C string.
Returns
References __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::compare().
template<typename _CharT , typename _Traits , typename _Alloc , template< typename, typename, typename > class _Base> bool __gnu_cxx::operator< (const _CharT * __lhs, const __versa_string< _CharT, _Traits, _Alloc, _Base > & __rhs) [inline]¶
Test if C string precedes string.
Parameters
__rhs String.
Returns
References __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::compare().
template<typename _CharT , typename _Traits , typename _Alloc , template< typename, typename, typename > class _Base> bool __gnu_cxx::operator<= (const __versa_string< _CharT, _Traits, _Alloc, _Base > & __lhs, const __versa_string< _CharT, _Traits, _Alloc, _Base > & __rhs) [inline]¶
Test if string doesn't follow string.
Parameters
__rhs Second string.
Returns
References __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::compare().
template<typename _CharT , typename _Traits , typename _Alloc , template< typename, typename, typename > class _Base> bool __gnu_cxx::operator<= (const __versa_string< _CharT, _Traits, _Alloc, _Base > & __lhs, const _CharT * __rhs) [inline]¶
Test if string doesn't follow C string.
Parameters
__rhs C string.
Returns
References __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::compare().
template<typename _CharT , typename _Traits , typename _Alloc , template< typename, typename, typename > class _Base> bool __gnu_cxx::operator<= (const _CharT * __lhs, const __versa_string< _CharT, _Traits, _Alloc, _Base > & __rhs) [inline]¶
Test if C string doesn't follow string.
Parameters
__rhs String.
Returns
References __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::compare().
template<typename _CharT , typename _Traits , typename _Alloc , template< typename, typename, typename > class _Base> bool __gnu_cxx::operator== (const __versa_string< _CharT, _Traits, _Alloc, _Base > & __lhs, const __versa_string< _CharT, _Traits, _Alloc, _Base > & __rhs) [inline]¶
Test equivalence of two strings.
Parameters
__rhs Second string.
Returns
References __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::compare().
template<typename _CharT , typename _Traits , typename _Alloc , template< typename, typename, typename > class _Base> bool __gnu_cxx::operator== (const __versa_string< _CharT, _Traits, _Alloc, _Base > & __lhs, const _CharT * __rhs) [inline]¶
Test equivalence of string and C string.
Parameters
__rhs C string.
Returns
References __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::compare().
template<typename _CharT , typename _Traits , typename _Alloc , template< typename, typename, typename > class _Base> bool __gnu_cxx::operator== (const _CharT * __lhs, const __versa_string< _CharT, _Traits, _Alloc, _Base > & __rhs) [inline]¶
Test equivalence of C string and string.
Parameters
__rhs String.
Returns
References __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::compare().
template<typename _Tp > bool __gnu_cxx::operator== (const _Pointer_adapter< _Tp > & __lhs, const _Pointer_adapter< _Tp > & __rhs) [inline]¶
Comparison operators for _Pointer_adapter defer to the base class' comparison operators, when possible.
template<typename _CharT , typename _Traits , typename _Alloc , template< typename, typename, typename > class _Base> bool __gnu_cxx::operator> (const __versa_string< _CharT, _Traits, _Alloc, _Base > & __lhs, const __versa_string< _CharT, _Traits, _Alloc, _Base > & __rhs) [inline]¶
Test if string follows string.
Parameters
__rhs Second string.
Returns
References __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::compare().
template<typename _CharT , typename _Traits , typename _Alloc , template< typename, typename, typename > class _Base> bool __gnu_cxx::operator> (const __versa_string< _CharT, _Traits, _Alloc, _Base > & __lhs, const _CharT * __rhs) [inline]¶
Test if string follows C string.
Parameters
__rhs C string.
Returns
References __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::compare().
template<typename _CharT , typename _Traits , typename _Alloc , template< typename, typename, typename > class _Base> bool __gnu_cxx::operator> (const _CharT * __lhs, const __versa_string< _CharT, _Traits, _Alloc, _Base > & __rhs) [inline]¶
Test if C string follows string.
Parameters
__rhs String.
Returns
References __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::compare().
template<typename _CharT , typename _Traits , typename _Alloc , template< typename, typename, typename > class _Base> bool __gnu_cxx::operator>= (const __versa_string< _CharT, _Traits, _Alloc, _Base > & __lhs, const __versa_string< _CharT, _Traits, _Alloc, _Base > & __rhs) [inline]¶
Test if string doesn't precede string.
Parameters
__rhs Second string.
Returns
References __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::compare().
template<typename _CharT , typename _Traits , typename _Alloc , template< typename, typename, typename > class _Base> bool __gnu_cxx::operator>= (const __versa_string< _CharT, _Traits, _Alloc, _Base > & __lhs, const _CharT * __rhs) [inline]¶
Test if string doesn't precede C string.
Parameters
__rhs C string.
Returns
References __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::compare().
template<typename _CharT , typename _Traits , typename _Alloc , template< typename, typename, typename > class _Base> bool __gnu_cxx::operator>= (const _CharT * __lhs, const __versa_string< _CharT, _Traits, _Alloc, _Base > & __rhs) [inline]¶
Test if C string doesn't precede string.
Parameters
__rhs String.
Returns
References __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::compare().
template<typename _CharT , typename _Traits , typename _Alloc , template< typename, typename, typename > class _Base> void __gnu_cxx::swap (__versa_string< _CharT, _Traits, _Alloc, _Base > & __lhs, __versa_string< _CharT, _Traits, _Alloc, _Base > & __rhs) [inline]¶
Swap contents of two strings.
Parameters
__rhs Second string.
Exchanges the contents of __lhs and __rhs in constant time.
References __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::swap().
Author¶
Generated automatically by Doxygen for libstdc++ from the source code.
| libstdc++ |