Provided by: libstdc++-15-doc_15.2.0-10ubuntu1_all bug

__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.
       class _Temporary_buffer
       struct _Unqualified_type
       class allocator
           The standard allocator, as per C++03 [20.4.1].
       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 equal_to
           One of the comparison functors.
       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 pair
           Struct holding two objects of arbitrary type.
       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
           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 __SIZE_TYPE__ size_t
       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> constexpr bool __is_null_pointer (_Type *__ptr)
       template<typename _Type> constexpr bool __is_null_pointer (_Type)
       constexpr 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 _ForwardIterator, typename _Tp> constexpr void iota (_ForwardIterator __first,
           _ForwardIterator __last, _Tp __value)
           Create a range of sequentially increasing values.
       template<typename _RAIter> constexpr bool is_heap (_RAIter, _RAIter)
       template<typename _FIter> constexpr bool is_sorted (_FIter, _FIter)
       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 _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<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> 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 _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 _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 _Iterator, typename _Container> constexpr std::__detail::__synth3way_t< _Iterator >
           operator<=> (const __normal_iterator< _Iterator, _Container > &__lhs, const __normal_iterator<
           _Iterator, _Container > &__rhs) noexcept(noexcept(std::__detail::__synth3way(__lhs.base(),
           __rhs.base())))
       template<typename _IteratorL, typename _IteratorR, typename _Container> constexpr
           std::__detail::__synth3way_t< _IteratorR, _IteratorL > operator<=> (const __normal_iterator<
           _IteratorL, _Container > &__lhs, const __normal_iterator< _IteratorR, _Container > &__rhs)
           noexcept(noexcept(std::__detail::__synth3way(__lhs.base(), __rhs.base())))
       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>
           requires requires { { __lhs.base() == __rhs.base() } -> std::convertible_to<bool>; }constexpr bool
           operator== (const __normal_iterator< _Iterator, _Container > &__lhs, const __normal_iterator<
           _Iterator, _Container > &__rhs) noexcept(noexcept(__lhs.base()==__rhs.base()))"
       template<typename _IteratorL, typename _IteratorR, typename _Container>
           requires requires { { __lhs.base() == __rhs.base() } -> std::convertible_to<bool>; }constexpr bool
           operator== (const __normal_iterator< _IteratorL, _Container > &__lhs, const __normal_iterator<
           _IteratorR, _Container > &__rhs) noexcept(noexcept(__lhs.base()==__rhs.base()))"
       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, 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 _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 _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)
       double stod (const __vstring &__str, std::size_t *__idx=0)
       double stod (const __wvstring &__str, std::size_t *__idx=0)
       float stof (const __vstring &__str, std::size_t *__idx=0)
       float stof (const __wvstring &__str, std::size_t *__idx=0)
       int stoi (const __vstring &__str, std::size_t *__idx=0, int __base=10)
       int stoi (const __wvstring &__str, std::size_t *__idx=0, int __base=10)
       long stol (const __vstring &__str, std::size_t *__idx=0, int __base=10)
       long stol (const __wvstring &__str, std::size_t *__idx=0, int __base=10)
       long double stold (const __vstring &__str, std::size_t *__idx=0)
       long double stold (const __wvstring &__str, std::size_t *__idx=0)
       long long stoll (const __vstring &__str, std::size_t *__idx=0, int __base=10)
       long long stoll (const __wvstring &__str, std::size_t *__idx=0, int __base=10)
       unsigned long stoul (const __vstring &__str, std::size_t *__idx=0, int __base=10)
       unsigned long stoul (const __wvstring &__str, std::size_t *__idx=0, int __base=10)
       unsigned long long stoull (const __vstring &__str, std::size_t *__idx, int __base=10)
       unsigned long long stoull (const __wvstring &__str, std::size_t *__idx=0, int __base=10)
       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)
       __vstring to_string (double __val)
       __vstring to_string (float __val)
       __vstring to_string (int __val)
       __vstring to_string (long __val)
       __vstring to_string (long double __val)
       __vstring to_string (long long __val)
       __vstring to_string (unsigned __val)
       __vstring to_string (unsigned long __val)
       __vstring to_string (unsigned long long __val)
       __wvstring to_wstring (double __val)
       __wvstring to_wstring (float __val)
       __wvstring to_wstring (int __val)
       __wvstring to_wstring (long __val)
       __wvstring to_wstring (long double __val)
       __wvstring to_wstring (long long __val)
       __wvstring to_wstring (unsigned __val)
       __wvstring to_wstring (unsigned long __val)
       __wvstring to_wstring (unsigned long long __val)
       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
       const _Lock_policy __default_lock_policy
       template<typename _RealType> constexpr _RealType __math_constants< _RealType >::__e
       template<typename _RealType> constexpr _RealType __math_constants< _RealType >::__gamma_e
       template<typename _RealType> constexpr _RealType __math_constants< _RealType >::__ln_10
       template<typename _RealType> constexpr _RealType __math_constants< _RealType >::__ln_2
       template<typename _RealType> constexpr _RealType __math_constants< _RealType >::__ln_3
       template<typename _RealType> constexpr _RealType __math_constants< _RealType >::__log10_e
       template<typename _RealType> constexpr _RealType __math_constants< _RealType >::__log2_e
       template<typename _RealType> constexpr _RealType __math_constants< _RealType >::__one_div_e
       template<typename _RealType> constexpr _RealType __math_constants< _RealType >::__one_div_pi
       template<typename _RealType> constexpr _RealType __math_constants< _RealType >::__one_div_root_2
       template<typename _RealType> constexpr _RealType __math_constants< _RealType >::__phi
       template<typename _RealType> constexpr _RealType __math_constants< _RealType >::__pi
       template<typename _RealType> constexpr _RealType __math_constants< _RealType >::__pi_half
       template<typename _RealType> constexpr _RealType __math_constants< _RealType >::__pi_quarter
       template<typename _RealType> constexpr _RealType __math_constants< _RealType >::__pi_third
       template<typename _RealType> constexpr _RealType __math_constants< _RealType >::__root_2
       template<typename _RealType> constexpr _RealType __math_constants< _RealType >::__root_3
       template<typename _RealType> constexpr _RealType __math_constants< _RealType >::__root_5
       template<typename _RealType> constexpr _RealType __math_constants< _RealType >::__root_7
       template<typename _RealType> constexpr _RealType __math_constants< _RealType >::__root_pi_div_2
       template<typename _RealType> constexpr _RealType __math_constants< _RealType >::__two_div_pi
       template<typename _RealType> constexpr _RealType __math_constants< _RealType >::__two_div_root_pi
       template<typename _Value> const int __numeric_traits_floating< _Value >::__digits10
       template<typename _Value> const bool __numeric_traits_floating< _Value >::__is_signed
       template<typename _Value> const int __numeric_traits_floating< _Value >::__max_digits10
       template<typename _Value> const int __numeric_traits_floating< _Value >::__max_exponent10
       template<typename _Value> const int __numeric_traits_integer< _Value >::__digits
       template<typename _Value> const bool __numeric_traits_integer< _Value >::__is_signed
       template<typename _Value> const _Value __numeric_traits_integer< _Value >::__max
       template<typename _Value> const _Value __numeric_traits_integer< _Value >::__min
       template<typename _Tp> _Atomic_word __pool_alloc< _Tp >::_S_force_new
       template<typename _CharT, typename _Traits, typename _Alloc> __rc_string_base< _CharT, _Traits, _Alloc
           >::_Rep_empty __rc_string_base< _CharT, _Traits, _Alloc >::_S_empty_rep
       template<typename _CharT, typename _Traits, typename _Alloc, template< typename, typename, typename >
           class _Base> const __versa_string< _CharT, _Traits, _Alloc, _Base >::size_type __versa_string<
           _CharT, _Traits, _Alloc, _Base >::npos
       template<typename _PrimeType> const _PrimeType _Hashtable_prime_list< _PrimeType >::__stl_prime_list
           [_S_num_primes]
       template<typename _Tp> std::size_t bitmap_allocator< _Tp >::_S_block_size
       template<typename _Tp> bitmap_allocator< _Tp >::_BPVector::size_type bitmap_allocator< _Tp
           >::_S_last_dealloc_index
       template<typename _Tp> bitmap_allocator< _Tp >::_BPVector bitmap_allocator< _Tp >::_S_mem_blocks
       template<typename _Tp> bitmap_allocator< _Tp >::__mutex_type bitmap_allocator< _Tp >::_S_mut
       template<class _CharT, class _Alloc> rope< _CharT, _Alloc > identity_element (_Rope_Concat_fn< _CharT,
           _Alloc >)
       template<class _CharT, class _Alloc> _CharT rope< _CharT, _Alloc >::_S_empty_c_str [1]
       template<class _CharT, class _Alloc> const unsigned long rope< _CharT, _Alloc >::_S_min_len
           [int(__detail::_S_max_rope_depth)+1]
       template<class _CharT, class _Alloc> const rope< _CharT, _Alloc >::size_type rope< _CharT, _Alloc >::npos

Detailed Description

       GNU extensions for public use.

Typedef Documentation

   template<typename _Tp> using __gnu_cxx::__int_traits
       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< _Tp1 >::_M_allocate_single_object().

   template<typename _ForwardIterator, typename _Tp> void std::iota (_ForwardIterator __first, _ForwardIterator
       __last, _Tp __value) [constexpr]
       Create a range of sequentially increasing values. For each element in the range [first,last) assigns
       value and increments value as if by ++value.

       Parameters
           __first Start of range.
           __last End of range.
           __value Starting value.

       Returns
           Nothing.

   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.

       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
           __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 >::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
           __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 >::data(), and
       __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
       _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 >::data(), and
       __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 _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.

   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++                                    __gnu_cxx(3cxx)