dwww Home | Manual pages | Find package

__gnu_cxx(3cxx)                                                __gnu_cxx(3cxx)

NAME
       __gnu_cxx - GNU extensions for public use.

SYNOPSIS
   Namespaces
        __detail
           Implementation details not part of the namespace __gnu_cxx
           interface.
        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 recursive_init_error
           Exception thrown by __cxa_guard_acquire.
       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
           __lhs First string.
           __rhs Second string.

       Returns
           True if __lhs.compare(__rhs) != 0. False otherwise.

   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
           __lhs String.
           __rhs C string.

       Returns
           True if __lhs.compare(__rhs) != 0. False otherwise.

   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
           __lhs C string.
           __rhs String.

       Returns
           True if __rhs.compare(__lhs) != 0. False otherwise.

   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
           __lhs First string.
           __rhs Last string.

       Returns
           New string with __lhs followed by __rhs.

       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
           __lhs First string.
           __rhs Last string.

       Returns
           New string with __lhs followed by __rhs.

       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
           __lhs First string.
           __rhs Last string.

       Returns
           New string with value of __lhs followed by __rhs.

       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
           __lhs First string.
           __rhs Last string.

       Returns
           New string with __lhs followed by __rhs.

   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
           __lhs First string.
           __rhs Last string.

       Returns
           New string with value of __lhs followed by __rhs.

   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
           __lhs First string.
           __rhs Second string.

       Returns
           True if __lhs precedes __rhs. False otherwise.

       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
           __lhs String.
           __rhs C string.

       Returns
           True if __lhs precedes __rhs. False otherwise.

       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
           __lhs C string.
           __rhs String.

       Returns
           True if __lhs precedes __rhs. False otherwise.

       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
           __lhs First string.
           __rhs Second string.

       Returns
           True if __lhs doesn't follow __rhs. False otherwise.

       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
           __lhs String.
           __rhs C string.

       Returns
           True if __lhs doesn't follow __rhs. False otherwise.

       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
           __lhs C string.
           __rhs String.

       Returns
           True if __lhs doesn't follow __rhs. False otherwise.

       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
           __lhs First string.
           __rhs Second string.

       Returns
           True if __lhs.compare(__rhs) == 0. False otherwise.

       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
           __lhs String.
           __rhs C string.

       Returns
           True if __lhs.compare(__rhs) == 0. False otherwise.

       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
           __lhs C string.
           __rhs String.

       Returns
           True if __rhs.compare(__lhs) == 0. False otherwise.

       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
           __lhs First string.
           __rhs Second string.

       Returns
           True if __lhs follows __rhs. False otherwise.

       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
           __lhs String.
           __rhs C string.

       Returns
           True if __lhs follows __rhs. False otherwise.

       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
           __lhs C string.
           __rhs String.

       Returns
           True if __lhs follows __rhs. False otherwise.

       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
           __lhs First string.
           __rhs Second string.

       Returns
           True if __lhs doesn't precede __rhs. False otherwise.

       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
           __lhs String.
           __rhs C string.

       Returns
           True if __lhs doesn't precede __rhs. False otherwise.

       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
           __lhs C string.
           __rhs String.

       Returns
           True if __lhs doesn't precede __rhs. False otherwise.

       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
           __lhs First string.
           __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++                       Sat May 13 2023                __gnu_cxx(3cxx)

Generated by dwww version 1.14 on Thu Jan 23 21:48:13 CET 2025.