# __gnu_cxx Namespace Reference

GNU extensions for public use. More...

## Namespaces

- namespace __detail
- namespace typelist

## Classes

- struct __common_pool_policy
    Policy for shared __pool objects. More...
- 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).

    Further details: http://gcc.gnu.org/onlinedocs/libstdc++/manual/bk01pt12ch32.html. More...

- class __mt_alloc_base
    Base class for _Tp dependent member functions. More...
- struct __per_type_pool_policy
    Policy for individual __pool objects. More...
- class __pool< false >
    Specialization for single thread. More...
- class __pool< true >
    Specialization for thread enabled, via gthreads.h. More...
- class __pool_alloc
    Allocator using a memory pool with a single lock. More...
- class __pool_alloc_base
    Base class for __pool_alloc. More...
- struct __pool_base
    Base class for pool object. More...
- class __rc_string_base
- class __scoped_lock
    Scoped lock idiom. More...
- class __versa_string
    Managing sequences of characters and character-like objects. More...
- struct _Caster
- struct _Char_types
    Mapping from character type to associated types. More...
- class _ExtPtr_allocator
    An example allocator which uses a non-standard pointer type.

    This allocator specifies that containers use a 'relative pointer' as it's pointer type. (See ext/pointer.h) Memory allocation in this example is still performed using std::allocator. More...

- 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. More...
- class _Relative_pointer_impl< const _Tp >
- class _Std_pointer_impl
    A storage policy for use with _Pointer_adapter<> which yields a standard pointer. More...
- struct _Unqualified_type
- class array_allocator
    An allocator that uses previously allocated memory. This memory can be externally, globally, or otherwise allocated. More...
- class array_allocator_base
    Base class. More...
- class binary_compose
    An SGI extension . More...
- class bitmap_allocator
    Bitmap Allocator, primary template. More...
- struct char_traits
    Base class used to implement std::char_traits. More...
- struct character
    A POD class that serves as a character abstraction class. More...
- struct constant_binary_fun
    An SGI extension . More...
- struct constant_unary_fun
    An SGI extension . More...
- struct constant_void_fun
    An SGI extension . More...
- class debug_allocator
    A meta-allocator with debugging bits, as per [20.4].

    This is precisely the allocator defined in the C++ Standard.

    - all allocation calls operator new
    - all deallocation calls operator delete.
    More...
- class enc_filebuf
    class enc_filebuf. More...
- struct encoding_char_traits
    encoding_char_traits More...
- class encoding_state
    Extension to use iconv for dealing with character encodings. More...
- struct forced_exception_error
    Thown by throw_allocator. More...
- class free_list
    The free list class for managing chunks of memory to be given to and returned by the bitmap_allocator. More...
- class hash_map
- class hash_multimap
- class hash_multiset
- class hash_set
- class malloc_allocator
    An allocator that uses malloc.

    This is precisely the allocator defined in the C++ Standard.

    - all allocation calls malloc
    - all deallocation calls free.
    More...
- class new_allocator
    An allocator that uses global new, as per [20.4].

    This is precisely the allocator defined in the C++ Standard.

    - all allocation calls operator new
    - all deallocation calls operator delete.
    More...
- struct project1st
    An SGI extension . More...
- struct project2nd
    An SGI extension . More...
- struct rb_tree
- class rope
- struct select1st
    An SGI extension . More...
- struct select2nd
    An SGI extension . More...
- class slist
- class stdio_filebuf
    Provides a layer of compatibility for C/POSIX. More...
- class stdio_sync_filebuf
    class stdio_sync_filebuf. More...
- class subtractive_rng
- struct temporary_buffer
- class throw_allocator
    Allocator class with logging and exception control. More...
- class throw_allocator_base
    Base class. More...
- class unary_compose
    An SGI extension . More...

## Typedefs

- typedef void(* __destroy_handler )(void *)
- 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

- static void __atomic_add_single (_Atomic_word *__mem, int __val)
- _Atomic_word __attribute__ ((__unused__)) __exchange_and_add(volatile _Atomic_word *
- 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 _RAIterator , typename _Size , typename _OutputIterator > pair< _RAIterator,
  _OutputIterator > __copy_n (_RAIterator __first, _Size __count, _OutputIterator __result, random_access_iterator_tag)
- template<typename _InputIterator , typename _Size , typename _OutputIterator > pair< _InputIterator,
  _OutputIterator > __copy_n (_InputIterator __first, _Size __count, _OutputIterator __result, input_iterator_tag)
- template<typename _RandomAccessIterator , typename _Distance > void __distance (_RandomAccessIterator __first, _RandomAccessIterator __last, _Distance &__n, std::random_access_iterator_tag)
- template<typename _InputIterator , typename _Distance > void __distance (_InputIterator __first, _InputIterator __last, _Distance &__n, std::input_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 ()
- else return __exchange_and_add_single (__mem, __val)
- static _Atomic_word __exchange_and_add_single (_Atomic_word *__mem, int __val)
- template<class _Concept > void __function_requires ()
- template<typename _Type > bool __is_null_pointer (_Type)
- template<typename _Type > bool __is_null_pointer (_Type *__ptr)
- 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 _InputIterator1 , typename _InputIterator2 > int __lexicographical_compare_3way (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2)
- crope::reference __mutable_reference_at (crope &__c, 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)
- const _Slist_node_base * __slist_previous (const _Slist_node_base *__head, const _Slist_node_base *__node)
- _Slist_node_base * __slist_previous (_Slist_node_base *__head, const _Slist_node_base *__node)
- _Slist_node_base * __slist_reverse (_Slist_node_base *__node)
- size_t __slist_size (_Slist_node_base *__node)
- void __slist_splice_after (_Slist_node_base *__pos, _Slist_node_base *__head)
- void __slist_splice_after (_Slist_node_base *__pos, _Slist_node_base *__before_first, _Slist_node_base *__before_last)
- 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_exception_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 > pair< _InputIter, _ForwardIter > __uninitialized_copy_n (_InputIter __first, _Size __count, _ForwardIter __result)
- template<typename _RandomAccessIter , typename _Size , typename _ForwardIter > pair< _RandomAccessIter,
  _ForwardIter > __uninitialized_copy_n (_RandomAccessIter __first, _Size __count, _ForwardIter __result, std::random_access_iterator_tag)
- template<typename _InputIter , typename _Size , typename _ForwardIter > pair< _InputIter, _ForwardIter > __uninitialized_copy_n (_InputIter __first, _Size __count, _ForwardIter __result, std::input_iterator_tag)
- template<typename _InputIter , typename _Size , typename _ForwardIter , typename _Tp > pair< _InputIter, _ForwardIter > __uninitialized_copy_n_a (_InputIter __first, _Size __count, _ForwardIter __result, std::allocator< _Tp >)
- template<typename _InputIter , typename _Size , typename _ForwardIter , typename _Allocator > pair< _InputIter, _ForwardIter > __uninitialized_copy_n_a (_InputIter __first, _Size __count, _ForwardIter __result, _Allocator __alloc)
- void __verbose_terminate_handler ()
- size_t _Bit_scan_forward (size_t __num)
- template<typename _ForwardIterator , typename _Tp > void _Destroy_const (_ForwardIterator __first, _ForwardIterator __last, allocator< _Tp >)
- template<typename _ForwardIterator , typename _Allocator > void _Destroy_const (_ForwardIterator __first, _ForwardIterator __last, _Allocator __alloc)
- template<class _CharT , class _Traits > void _Rope_fill (basic_ostream< _CharT, _Traits > &__o, size_t __n)
- bool _Rope_is_simple (wchar_t *)
- bool _Rope_is_simple (char *)
- template<class _CharT > bool _Rope_is_simple (_CharT *)
- template<class _Rope_iterator > void _Rope_rotate (_Rope_iterator __first, _Rope_iterator __middle, _Rope_iterator __last)
- void _S_cond_store_eos (wchar_t &__c)
- void _S_cond_store_eos (char &__c)
- template<class _CharT > void _S_cond_store_eos (_CharT &)
- template<class _CharT > _CharT _S_eos (_CharT *)
- bool _S_is_basic_char_type (wchar_t *)
- bool _S_is_basic_char_type (char *)
- template<class _CharT > bool _S_is_basic_char_type (_CharT *)
- bool _S_is_one_byte_char_type (char *)
- template<class _CharT > bool _S_is_one_byte_char_type (_CharT *)
- template<class _Operation1 , class _Operation2 > unary_compose< _Operation1,
  _Operation2 > compose1 (const _Operation1 &__fn1, const _Operation2 &__fn2)
- template<class _Operation1 , class _Operation2 , class _Operation3 > binary_compose< _Operation1,
  _Operation2, _Operation3 > compose2 (const _Operation1 &__fn1, const _Operation2 &__fn2, const _Operation3 &__fn3)
- template<class _Result > constant_void_fun< _Result > constant0 (const _Result &__val)
- template<class _Result > constant_unary_fun< _Result,
  _Result > constant1 (const _Result &__val)
- template<class _Result > constant_binary_fun< _Result,
  _Result, _Result > constant2 (const _Result &__val)
- template<typename _InputIterator , typename _Size , typename _OutputIterator > pair< _InputIterator,
  _OutputIterator > copy_n (_InputIterator __first, _Size __count, _OutputIterator __result)
- 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<class _Tp > _Tp identity_element (std::multiplies< _Tp >)
- template<class _Tp > _Tp identity_element (std::plus< _Tp >)
- static _Atomic_word int __val if (__gthread_active_p()) return __exchange_and_add(__mem
- template<typename _ForwardIter , typename _Tp > void iota (_ForwardIter __first, _ForwardIter __last, _Tp __value)
- template<typename _RandomAccessIterator , typename _StrictWeakOrdering > bool is_heap (_RandomAccessIterator __first, _RandomAccessIterator __last, _StrictWeakOrdering __comp)
- template<typename _RandomAccessIterator > bool is_heap (_RandomAccessIterator __first, _RandomAccessIterator __last)
- template<typename _ForwardIterator , typename _StrictWeakOrdering > bool is_sorted (_ForwardIterator __first, _ForwardIterator __last, _StrictWeakOrdering __comp)
- template<typename _ForwardIterator > bool is_sorted (_ForwardIterator __first, _ForwardIterator __last)
- template<typename _InputIterator1 , typename _InputIterator2 > int lexicographical_compare_3way (_InputIterator1 __first1, _InputIterator1 __last1, _InputIterator2 __first2, _InputIterator2 __last2)
- template<class _Ret , class _Tp , class _Arg > mem_fun1_t< _Ret, _Tp, _Arg > mem_fun1 (_Ret(_Tp::*__f)(_Arg))
- template<class _Ret , class _Tp , class _Arg > mem_fun1_ref_t< _Ret, _Tp, _Arg > mem_fun1_ref (_Ret(_Tp::*__f)(_Arg))
- 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)
- 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)
- 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)
- template<typename T > bool operator!= (const throw_allocator< T > &, const throw_allocator< T > &)
- template<typename _Tp > bool operator!= (const __pool_alloc< _Tp > &, const __pool_alloc< _Tp > &)
- template<typename _Tp > bool operator!= (const _Pointer_adapter< _Tp > &__lhs, const _Pointer_adapter< _Tp > &__rhs)
- template<typename _Tp > bool operator!= (int __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, const _Pointer_adapter< _Tp2 > &__rhs)
- template<typename _Tp1 , typename _Tp2 > bool operator!= (_Tp1 __lhs, const _Pointer_adapter< _Tp2 > &__rhs)
- template<typename _Tp1 , typename _Tp2 > bool operator!= (const _Pointer_adapter< _Tp1 > &__lhs, _Tp2 __rhs)
- template<typename _Tp > bool operator!= (const new_allocator< _Tp > &, const new_allocator< _Tp > &)
- template<typename _Tp , typename _Poolp > bool operator!= (const __mt_alloc< _Tp, _Poolp > &, const __mt_alloc< _Tp, _Poolp > &)
- template<typename _Tp > bool operator!= (const malloc_allocator< _Tp > &, const malloc_allocator< _Tp > &)
- template<typename _Tp1 , typename _Tp2 > bool operator!= (const bitmap_allocator< _Tp1 > &, const bitmap_allocator< _Tp2 > &) throw ()
- template<typename _Tp , typename _Array > bool operator!= (const array_allocator< _Tp, _Array > &, const array_allocator< _Tp, _Array > &)
- template<typename _Iterator , typename _Container > bool operator!= (const __normal_iterator< _Iterator, _Container > &__lhs, const __normal_iterator< _Iterator, _Container > &__rhs)
- template<typename _IteratorL , typename _IteratorR , typename _Container > bool operator!= (const __normal_iterator< _IteratorL, _Container > &__lhs, const __normal_iterator< _IteratorR, _Container > &__rhs)
- 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 _Tp , class _Alloc > bool operator!= (const slist< _Tp, _Alloc > &_SL1, const slist< _Tp, _Alloc > &_SL2)
- 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< _CharT, _Alloc > &__x, const rope< _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_const_iterator< _CharT, _Alloc > &__x, const _Rope_const_iterator< _CharT, _Alloc > &__y)
- 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 _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 _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<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)
- 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)
- 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)
- 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)
- 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)
- template<typename _Iterator , typename _Container > __normal_iterator< _Iterator,
  _Container > operator+ (typename __normal_iterator< _Iterator, _Container >::difference_type __n, const __normal_iterator< _Iterator, _Container > &__i)
- 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<class _CharT , class _Alloc > _Rope_iterator< _CharT, _Alloc > operator+ (ptrdiff_t __n, const _Rope_iterator< _CharT, _Alloc > &__x)
- template<class _CharT , class _Alloc > _Rope_iterator< _CharT, _Alloc > operator+ (const _Rope_iterator< _CharT, _Alloc > &__x, ptrdiff_t __n)
- template<class _CharT , class _Alloc > _Rope_const_iterator< _CharT,
  _Alloc > operator+ (ptrdiff_t __n, const _Rope_const_iterator< _CharT, _Alloc > &__x)
- template<class _CharT , class _Alloc > _Rope_const_iterator< _CharT,
  _Alloc > operator+ (const _Rope_const_iterator< _CharT, _Alloc > &__x, ptrdiff_t __n)
- 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 > __normal_iterator< _Iterator,
  _Container >::difference_type operator- (const __normal_iterator< _Iterator, _Container > &__lhs, const __normal_iterator< _Iterator, _Container > &__rhs)
- template<typename _IteratorL , typename _IteratorR , typename _Container > auto operator- (const __normal_iterator< _IteratorL, _Container > &__lhs, const __normal_iterator< _IteratorR, _Container > &__rhs)-> decltype(__lhs.base()-__rhs.base())
- template<class _CharT , class _Alloc > 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, ptrdiff_t __n)
- template<class _CharT , class _Alloc > 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, ptrdiff_t __n)
- 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)
- 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)
- 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)
- template<typename _Tp1 , typename _Tp2 > bool operator< (const _Pointer_adapter< _Tp1 > &__lhs, const _Pointer_adapter< _Tp2 > &__rhs)
- template<typename _Tp1 , typename _Tp2 > bool operator< (_Tp1 __lhs, const _Pointer_adapter< _Tp2 > &__rhs)
- template<typename _Tp1 , typename _Tp2 > bool operator< (const _Pointer_adapter< _Tp1 > &__lhs, _Tp2 __rhs)
- template<typename V , typename I , typename S > bool operator< (const character< V, I, S > &lhs, const character< V, I, S > &rhs)
- template<typename _Iterator , typename _Container > bool operator< (const __normal_iterator< _Iterator, _Container > &__lhs, const __normal_iterator< _Iterator, _Container > &__rhs)
- template<typename _IteratorL , typename _IteratorR , typename _Container > bool operator< (const __normal_iterator< _IteratorL, _Container > &__lhs, const __normal_iterator< _IteratorR, _Container > &__rhs)
- template<class _Tp , class _Alloc > bool operator< (const slist< _Tp, _Alloc > &_SL1, const slist< _Tp, _Alloc > &_SL2)
- template<class _CharT , class _Alloc > bool operator< (const rope< _CharT, _Alloc > &__left, const rope< _CharT, _Alloc > &__right)
- 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_const_iterator< _CharT, _Alloc > &__x, const _Rope_const_iterator< _CharT, _Alloc > &__y)
- std::ostream & operator<< (std::ostream &os, const throw_allocator_base &alloc)
- 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<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 _CharT , typename _Traits , typename _Alloc , template< typename, typename, typename > class _Base> bool operator<= (const _CharT *__lhs, const __versa_string< _CharT, _Traits, _Alloc, _Base > &__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 _CharT *__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)
- 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, const _Pointer_adapter< _Tp2 > &__rhs)
- template<typename _Tp1 , typename _Tp2 > bool operator<= (_Tp1 __lhs, const _Pointer_adapter< _Tp2 > &__rhs)
- template<typename _Tp1 , typename _Tp2 > bool operator<= (const _Pointer_adapter< _Tp1 > &__lhs, _Tp2 __rhs)
- template<typename _Iterator , typename _Container > bool operator<= (const __normal_iterator< _Iterator, _Container > &__lhs, const __normal_iterator< _Iterator, _Container > &__rhs)
- template<typename _IteratorL , typename _IteratorR , typename _Container > bool operator<= (const __normal_iterator< _IteratorL, _Container > &__lhs, const __normal_iterator< _IteratorR, _Container > &__rhs)
- template<class _Tp , class _Alloc > bool operator<= (const slist< _Tp, _Alloc > &_SL1, const slist< _Tp, _Alloc > &_SL2)
- template<class _CharT , class _Alloc > bool operator<= (const rope< _CharT, _Alloc > &__x, const rope< _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_const_iterator< _CharT, _Alloc > &__x, const _Rope_const_iterator< _CharT, _Alloc > &__y)
- 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)
- 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)
- 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 __versa_string< _CharT, _Traits, _Alloc, _Base > &__lhs, const __versa_string< _CharT, _Traits, _Alloc, _Base > &__rhs)
- template<typename T > bool operator== (const throw_allocator< T > &, const throw_allocator< T > &)
- template<typename _Tp > bool operator== (const __pool_alloc< _Tp > &, const __pool_alloc< _Tp > &)
- template<typename _Tp > bool operator== (const _Pointer_adapter< _Tp > &__lhs, const _Pointer_adapter< _Tp > &__rhs)
- template<typename _Tp > bool operator== (int __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, const _Pointer_adapter< _Tp2 > &__rhs)
- template<typename _Tp1 , typename _Tp2 > bool operator== (_Tp1 __lhs, const _Pointer_adapter< _Tp2 > &__rhs)
- template<typename _Tp1 , typename _Tp2 > bool operator== (const _Pointer_adapter< _Tp1 > &__lhs, _Tp2 __rhs)
- template<typename V , typename I , typename S > bool operator== (const character< V, I, S > &lhs, const character< V, I, S > &rhs)
- template<typename _Tp > bool operator== (const new_allocator< _Tp > &, const new_allocator< _Tp > &)
- template<typename _Tp , typename _Poolp > bool operator== (const __mt_alloc< _Tp, _Poolp > &, const __mt_alloc< _Tp, _Poolp > &)
- template<typename _Tp > bool operator== (const malloc_allocator< _Tp > &, const malloc_allocator< _Tp > &)
- template<typename _Tp1 , typename _Tp2 > bool operator== (const bitmap_allocator< _Tp1 > &, const bitmap_allocator< _Tp2 > &) throw ()
- template<typename _Tp , typename _Array > bool operator== (const array_allocator< _Tp, _Array > &, const array_allocator< _Tp, _Array > &)
- template<typename _Iterator , typename _Container > bool operator== (const __normal_iterator< _Iterator, _Container > &__lhs, const __normal_iterator< _Iterator, _Container > &__rhs)
- template<typename _IteratorL , typename _IteratorR , typename _Container > bool operator== (const __normal_iterator< _IteratorL, _Container > &__lhs, const __normal_iterator< _IteratorR, _Container > &__rhs)
- 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 _Tp , class _Alloc > bool operator== (const slist< _Tp, _Alloc > &_SL1, const slist< _Tp, _Alloc > &_SL2)
- template<class _CharT , class _Alloc > bool operator== (const rope< _CharT, _Alloc > &__left, const rope< _CharT, _Alloc > &__right)
- 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_const_iterator< _CharT, _Alloc > &__x, const _Rope_const_iterator< _CharT, _Alloc > &__y)
- 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 _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 _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 _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<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)
- 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)
- 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)
- 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, const _Pointer_adapter< _Tp2 > &__rhs)
- template<typename _Tp1 , typename _Tp2 > bool operator> (_Tp1 __lhs, const _Pointer_adapter< _Tp2 > &__rhs)
- template<typename _Tp1 , typename _Tp2 > bool operator> (const _Pointer_adapter< _Tp1 > &__lhs, _Tp2 __rhs)
- template<typename _Iterator , typename _Container > bool operator> (const __normal_iterator< _Iterator, _Container > &__lhs, const __normal_iterator< _Iterator, _Container > &__rhs)
- template<typename _IteratorL , typename _IteratorR , typename _Container > bool operator> (const __normal_iterator< _IteratorL, _Container > &__lhs, const __normal_iterator< _IteratorR, _Container > &__rhs)
- template<class _Tp , class _Alloc > bool operator> (const slist< _Tp, _Alloc > &_SL1, const slist< _Tp, _Alloc > &_SL2)
- template<class _CharT , class _Alloc > bool operator> (const rope< _CharT, _Alloc > &__x, const rope< _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_const_iterator< _CharT, _Alloc > &__x, const _Rope_const_iterator< _CharT, _Alloc > &__y)
- 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)
- 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)
- 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)
- 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, const _Pointer_adapter< _Tp2 > &__rhs)
- template<typename _Tp1 , typename _Tp2 > bool operator>= (_Tp1 __lhs, const _Pointer_adapter< _Tp2 > &__rhs)
- template<typename _Tp1 , typename _Tp2 > bool operator>= (const _Pointer_adapter< _Tp1 > &__lhs, _Tp2 __rhs)
- template<typename _Iterator , typename _Container > bool operator>= (const __normal_iterator< _Iterator, _Container > &__lhs, const __normal_iterator< _Iterator, _Container > &__rhs)
- template<typename _IteratorL , typename _IteratorR , typename _Container > bool operator>= (const __normal_iterator< _IteratorL, _Container > &__lhs, const __normal_iterator< _IteratorR, _Container > &__rhs)
- template<class _Tp , class _Alloc > bool operator>= (const slist< _Tp, _Alloc > &_SL1, const slist< _Tp, _Alloc > &_SL2)
- template<class _CharT , class _Alloc > bool operator>= (const rope< _CharT, _Alloc > &__x, const rope< _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_const_iterator< _CharT, _Alloc > &__x, const _Rope_const_iterator< _CharT, _Alloc > &__y)
- 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 > _RandomAccessIterator random_sample (_InputIterator __first, _InputIterator __last, _RandomAccessIterator __out_first, _RandomAccessIterator __out_last, _RandomNumberGenerator &__rand)
- template<typename _InputIterator , typename _RandomAccessIterator > _RandomAccessIterator random_sample (_InputIterator __first, _InputIterator __last, _RandomAccessIterator __out_first, _RandomAccessIterator __out_last)
- template<typename _ForwardIterator , typename _OutputIterator , typename _Distance , typename _RandomNumberGenerator > _OutputIterator random_sample_n (_ForwardIterator __first, _ForwardIterator __last, _OutputIterator __out, const _Distance __n, _RandomNumberGenerator &__rand)
- template<typename _ForwardIterator , typename _OutputIterator , typename _Distance > _OutputIterator random_sample_n (_ForwardIterator __first, _ForwardIterator __last, _OutputIterator __out, const _Distance __n)
- 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)
- 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)
- 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)
- template<typename _Tp > void swap (_ExtPtr_allocator< _Tp > &__larg, _ExtPtr_allocator< _Tp > &__rarg)
- 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 _Tp , class _Alloc > void swap (slist< _Tp, _Alloc > &__x, slist< _Tp, _Alloc > &__y)
- template<class _CharT , class _Alloc > void swap (rope< _CharT, _Alloc > &__x, rope< _CharT, _Alloc > &__y)
- template<class _CharT , class __Alloc > void swap (_Rope_char_ref_proxy< _CharT, __Alloc > __a, _Rope_char_ref_proxy< _CharT, __Alloc > __b)
- 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 _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 _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<typename _InputIter , typename _Size , typename _ForwardIter > pair< _InputIter, _ForwardIter > uninitialized_copy_n (_InputIter __first, _Size __count, _ForwardIter __result)

## Variables

- static const _Lock_policy __default_lock_policy
- static const unsigned long __stl_prime_list [_S_num_primes]
- static _Atomic_word int __val __val
- rope< _CharT, _Alloc > identity_element (_Rope_Concat_fn< _CharT, _Alloc >)
- _Atomic_word int

## Detailed Description

GNU extensions for public use.

## 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.

Definition at line 89 of file cast.h.

References __static_pointer_cast().

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.

Definition at line 61 of file cast.h.

References __static_pointer_cast().

Referenced by __static_pointer_cast().

size_t __gnu_cxx::_Bit_scan_forward | ( | size_t | __num | ) | `[inline]`

Generic Version of the bsf instruction.

Definition at line 538 of file bitmap_allocator.h.

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 _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.

Definition at line 2160 of file vstring.h.

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.

Definition at line 2147 of file vstring.h.

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.

Definition at line 2134 of file vstring.h.

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 |
| ) |  |  | `[inline]`

Concatenate string and character.

Parameters:

  | __lhs | First string.
  | __rhs | Last string.

Returns:
  New string with __lhs followed by __rhs.

Definition at line 239 of file vstring.tcc.

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 _CharT * | __rhs |
| ) |  |  | `[inline]`

Concatenate string and C string.

Parameters:

  | __lhs | First string.
  | __rhs | Last string.

Returns:
  New string with __lhs followed by __rhs.

Definition at line 222 of file vstring.tcc.

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+ | ( | _CharT | __lhs,
|  | const __versa_string< _CharT, _Traits, _Alloc, _Base > & | __rhs |
| ) |  |  | `[inline]`

Concatenate character and string.

Parameters:

  | __lhs | First string.
  | __rhs | Last string.

Returns:
  New string with __lhs followed by __rhs.

Definition at line 209 of file vstring.tcc.

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 _CharT * | __lhs,
|  | const __versa_string< _CharT, _Traits, _Alloc, _Base > & | __rhs |
| ) |  |  | `[inline]`

Concatenate C string and string.

Parameters:

  | __lhs | First string.
  | __rhs | Last string.

Returns:
  New string with value of __lhs followed by __rhs.

Definition at line 192 of file vstring.tcc.

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 __versa_string< _CharT, _Traits, _Alloc, _Base > & | __lhs,
|  | const __versa_string< _CharT, _Traits, _Alloc, _Base > & | __rhs |
| ) |  |  | `[inline]`

Concatenate two strings.

Parameters:

  | __lhs | First string.
  | __rhs | Last string.

Returns:
  New string with value of __lhs followed by __rhs.

Definition at line 179 of file vstring.tcc.

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>

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.

Definition at line 2200 of file vstring.h.

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.

Definition at line 2187 of file vstring.h.

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.

Definition at line 2174 of file vstring.h.

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.

Definition at line 2280 of file vstring.h.

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.

Definition at line 2267 of file vstring.h.

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.

Definition at line 2254 of file vstring.h.

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.

Definition at line 2120 of file vstring.h.

References __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::compare().

Referenced by std::locale::operator!=().

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.

Definition at line 2107 of file vstring.h.

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.

Definition at line 2083 of file vstring.h.

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'es comparison operators, when possible.

Definition at line 515 of file pointer.h.

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.

Definition at line 2240 of file vstring.h.

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.

Definition at line 2227 of file vstring.h.

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 follows string.

Parameters:

  | __lhs | First string.
  | __rhs | Second string.

Returns:
  True if __lhs follows __rhs. False otherwise.

Definition at line 2214 of file vstring.h.

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.

Definition at line 2320 of file vstring.h.

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.

Definition at line 2307 of file vstring.h.

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.

Definition at line 2294 of file vstring.h.

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.

Definition at line 2334 of file vstring.h.

References __gnu_cxx::__versa_string< _CharT, _Traits, _Alloc, _Base >::swap().