---
name: "__gnu_cxx"
section: "3cxx"
platform: "linux"
package: "libstdc++-12-doc"
version: "12.4.0-5"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/__gnu_cxx/3cxx"
---

# \_\_gnu\_cxx(3cxx)

GNU extensions for public use.

## NAME

\_\_gnu\_cxx - GNU extensions for public use.

## SYNOPSIS

### Namespaces

namespace **\_\_detail**\
 Implementation details not part of the namespace \_\_gnu\_cxx interface.  namespace **typelist**\
 GNU typelist extensions for public compile-time use.

### Classes

struct **\_\_alloc\_traits**\
 Uniform interface to C++98 and C++11 allocators.  struct **\_\_common\_pool\_policy**\
 Policy for shared \_\_pool objects.  class **\_\_mt\_alloc**\
 This is a fixed size (power of 2) allocator which - when compiled with thread support - will maintain one freelist per size per thread plus a *global* one. Steps are taken to limit the per thread freelist sizes (by returning excess back to the *global* list).  class **\_\_mt\_alloc\_base**\
 Base class for \_Tp dependent member functions.  struct **\_\_per\_type\_pool\_policy**\
 Policy for individual \_\_pool objects.  class **\_\_pool**\
 Data describing the underlying memory pool, parameterized on threading support.  class **\_\_pool\< false \>**\
 Specialization for single thread.  class **\_\_pool\< true \>**\
 Specialization for thread enabled, via gthreads.h.  class **\_\_pool\_alloc**\
 Allocator using a memory pool with a single lock.  class **\_\_pool\_alloc\_base**\
 Base class for \_\_pool\_alloc.  struct **\_\_pool\_base**\
 Base class for pool object.  class **\_\_rc\_string\_base**\
 class **\_\_scoped\_lock**\
 Scoped lock idiom.  class **\_\_versa\_string**\
 Template class \_\_versa\_string.  struct **\_Caster**\
 struct **\_Char\_types**\
 Mapping from character type to associated types.  class **\_ExtPtr\_allocator**\
 An example allocator which uses a non-standard pointer type.  struct **\_Invalid\_type**\
 class **\_Pointer\_adapter**\
 class **\_Relative\_pointer\_impl**\
 A storage policy for use with \_Pointer\_adapter\<\> which stores the pointer's address as an offset value which is relative to its own address.  class **\_Relative\_pointer\_impl\< const \_Tp \>**\
 class **\_Std\_pointer\_impl**\
 A storage policy for use with \_Pointer\_adapter\<\> which yields a standard pointer.  struct **\_Unqualified\_type**\
 struct **annotate\_base**\
 Base class for checking address and label information about allocations. Create a std::map between the allocated address (void\*) and a datum for annotations, which are a pair of numbers corresponding to label and allocated size.  class **binary\_compose**\
 An **SGI extension** .  class **bitmap\_allocator**\
 Bitmap Allocator, primary template.  struct **char\_traits**\
 Base class used to implement std::char\_traits.  struct **character**\
 A POD class that serves as a character abstraction class.  struct **condition\_base**\
 Base struct for condition policy.  struct **constant\_binary\_fun**\
 An **SGI extension** .  struct **constant\_unary\_fun**\
 An **SGI extension** .  struct **constant\_void\_fun**\
 An **SGI extension** .  class **debug\_allocator**\
 A meta-allocator with debugging bits.  class **enc\_filebuf**\
 class enc\_filebuf.  struct **encoding\_char\_traits**\
 encoding\_char\_traits  class **encoding\_state**\
 Extension to use iconv for dealing with character encodings.  struct **forced\_error**\
 Thrown by utilities for testing exception safety.  class **free\_list**\
 The free list class for managing chunks of memory to be given to and returned by the bitmap\_allocator.  class **hash\_map**\
 class **hash\_multimap**\
 class **hash\_multiset**\
 class **hash\_set**\
 struct **limit\_condition**\
 Base class for incremental control and throw.  class **malloc\_allocator**\
 An allocator that uses malloc.  class **new\_allocator**\
 An allocator that uses global `new`, as per C++03 \[20.4.1\].  struct **project1st**\
 An **SGI extension** .  struct **project2nd**\
 An **SGI extension** .  struct **random\_condition**\
 Base class for random probability control and throw.  struct **rb\_tree**\
 class **rope**\
 struct **select1st**\
 An **SGI extension** .  struct **select2nd**\
 An **SGI extension** .  class **slist**\
 class **stdio\_filebuf**\
 Provides a layer of compatibility for C/POSIX.  class **stdio\_sync\_filebuf**\
 Provides a layer of compatibility for C.  class **subtractive\_rng**\
 struct **temporary\_buffer**\
 class **throw\_allocator\_base**\
 Allocator class with logging and exception generation control. Intended to be used as an allocator\_type in templatized code.  struct **throw\_allocator\_limit**\
 Allocator throwing via limit condition.  struct **throw\_allocator\_random**\
 Allocator throwing via random condition.  struct **throw\_value\_base**\
 Class with exception generation control. Intended to be used as a value\_type in templatized code.  struct **throw\_value\_limit**\
 Type throwing via limit condition.  struct **throw\_value\_random**\
 Type throwing via random condition.  class **unary\_compose**\
 An **SGI extension** .

### Typedefs

typedef void(\* **\_\_destroy\_handler**) (void \*)\
 template\<typename \_Tp \> using **\_\_int\_traits** = \_\_numeric\_traits\_integer\< \_Tp \>\
 Convenience alias for \_\_numeric\_traits\<integer-type\>.  typedef **\_\_versa\_string**\< char, **std::char\_traits**\< char \>, **std::allocator**\< char \>, **\_\_rc\_string\_base** \> **\_\_rc\_string**\
 typedef **\_\_vstring** **\_\_sso\_string**\
 typedef **\_\_versa\_string**\< char16\_t, **std::char\_traits**\< char16\_t \>, **std::allocator**\< char16\_t \>, **\_\_rc\_string\_base** \> **\_\_u16rc\_string**\
 typedef **\_\_u16vstring** **\_\_u16sso\_string**\
 typedef **\_\_versa\_string**\< char16\_t \> **\_\_u16vstring**\
 typedef **\_\_versa\_string**\< char32\_t, **std::char\_traits**\< char32\_t \>, **std::allocator**\< char32\_t \>, **\_\_rc\_string\_base** \> **\_\_u32rc\_string**\
 typedef **\_\_u32vstring** **\_\_u32sso\_string**\
 typedef **\_\_versa\_string**\< char32\_t \> **\_\_u32vstring**\
 typedef **\_\_versa\_string**\< char \> **\_\_vstring**\
 typedef **\_\_versa\_string**\< wchar\_t, **std::char\_traits**\< wchar\_t \>, **std::allocator**\< wchar\_t \>, **\_\_rc\_string\_base** \> **\_\_wrc\_string**\
 typedef **\_\_wvstring** **\_\_wsso\_string**\
 typedef **\_\_versa\_string**\< wchar\_t \> **\_\_wvstring**\
 typedef **rope**\< char \> **crope**\
 typedef **rope**\< wchar\_t \> **wrope**\

### Enumerations

enum { **\_S\_num\_primes** }\
 enum **\_Lock\_policy** { **\_S\_single**, **\_S\_mutex**, **\_S\_atomic** }\

### Functions

void **\_\_atomic\_add** (volatile \_Atomic\_word \*, int) noexcept\
 void **\_\_atomic\_add\_dispatch** (\_Atomic\_word \*\_\_mem, int \_\_val)\
 void **\_\_atomic\_add\_single** (\_Atomic\_word \*\_\_mem, int \_\_val)\
 template\<class \_Tp \> void **\_\_aux\_require\_boolean\_expr** (const \_Tp &\_\_t)\
 template\<typename \_ToType , typename \_FromType \> \_ToType **\_\_const\_pointer\_cast** (\_FromType \*\_\_arg)\
 template\<typename \_ToType , typename \_FromType \> \_ToType **\_\_const\_pointer\_cast** (const \_FromType &\_\_arg)\
 template\<typename \_InputIterator , typename \_Size , typename \_OutputIterator \> **std::pair**\< \_InputIterator, \_OutputIterator \> **\_\_copy\_n** (\_InputIterator \_\_first, \_Size \_\_count, \_OutputIterator \_\_result, **std::input\_iterator\_tag**)\
 template\<typename \_RAIterator , typename \_Size , typename \_OutputIterator \> **std::pair**\< \_RAIterator, \_OutputIterator \> **\_\_copy\_n** (\_RAIterator \_\_first, \_Size \_\_count, \_OutputIterator \_\_result, **std::random\_access\_iterator\_tag**)\
 template\<typename \_InputIterator , typename \_Distance \> void **\_\_distance** (\_InputIterator \_\_first, \_InputIterator \_\_last, \_Distance &\_\_n, **std::input\_iterator\_tag**)\
 template\<typename \_RandomAccessIterator , typename \_Distance \> void **\_\_distance** (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last, \_Distance &\_\_n, **std::random\_access\_iterator\_tag**)\
 template\<typename \_ToType , typename \_FromType \> \_ToType **\_\_dynamic\_pointer\_cast** (\_FromType \*\_\_arg)\
 template\<typename \_ToType , typename \_FromType \> \_ToType **\_\_dynamic\_pointer\_cast** (const \_FromType &\_\_arg)\
 void **\_\_error\_type\_must\_be\_a\_signed\_integer\_type** ()\
 void **\_\_error\_type\_must\_be\_an\_integer\_type** ()\
 void **\_\_error\_type\_must\_be\_an\_unsigned\_integer\_type** ()\
 \_Atomic\_word **\_\_exchange\_and\_add** (volatile \_Atomic\_word \*, int) noexcept\
 \_Atomic\_word **\_\_exchange\_and\_add\_dispatch** (\_Atomic\_word \*\_\_mem, int \_\_val)\
 \_Atomic\_word **\_\_exchange\_and\_add\_single** (\_Atomic\_word \*\_\_mem, int \_\_val)\
 template\<class \_Concept \> constexpr void **\_\_function\_requires** ()\
 template\<typename \_Type \> 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 \_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 \_Iterator , typename \_Container \> constexpr bool **operator!=** (const \_\_normal\_iterator\< \_Iterator, \_Container \> &\_\_lhs, const \_\_normal\_iterator\< \_Iterator, \_Container \> &\_\_rhs) noexcept\
 template\<typename \_IteratorL , typename \_IteratorR , typename \_Container \> constexpr bool **operator!=** (const \_\_normal\_iterator\< \_IteratorL, \_Container \> &\_\_lhs, const \_\_normal\_iterator\< \_IteratorR, \_Container \> &\_\_rhs) noexcept\
 template\<typename \_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 \_Iterator , typename \_Container \> constexpr bool **operator\<** (const \_\_normal\_iterator\< \_Iterator, \_Container \> &\_\_lhs, const \_\_normal\_iterator\< \_Iterator, \_Container \> &\_\_rhs) noexcept\
 template\<typename \_IteratorL , typename \_IteratorR , typename \_Container \> bool **operator\<** (const \_\_normal\_iterator\< \_IteratorL, \_Container \> &\_\_lhs, const \_\_normal\_iterator\< \_IteratorR, \_Container \> &\_\_rhs) noexcept\
 template\<typename \_CharT , typename \_Traits , typename \_Alloc , template\< typename, typename, typename \> class \_Base\> bool **operator\<** (const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_lhs, const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_rhs)\
 Test if string precedes string.  template\<typename \_CharT , typename \_Traits , typename \_Alloc , template\< typename, typename, typename \> class \_Base\> bool **operator\<** (const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_lhs, const \_CharT \*\_\_rhs)\
 Test if string precedes C string.  template\<typename \_CharT , typename \_Traits , typename \_Alloc , template\< typename, typename, typename \> class \_Base\> bool **operator\<** (const \_CharT \*\_\_lhs, const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_rhs)\
 Test if C string precedes string.  template\<typename \_Tp1 , typename \_Tp2 \> bool **operator\<** (const **\_Pointer\_adapter**\< \_Tp1 \> &\_\_lhs, \_Tp2 \_\_rhs)\
 template\<typename \_Tp1 , typename \_Tp2 \> bool **operator\<** (const **\_Pointer\_adapter**\< \_Tp1 \> &\_\_lhs, const **\_Pointer\_adapter**\< \_Tp2 \> &\_\_rhs)\
 template\<class \_CharT , class \_Alloc \> bool **operator\<** (const \_Rope\_const\_iterator\< \_CharT, \_Alloc \> &\_\_x, const \_Rope\_const\_iterator\< \_CharT, \_Alloc \> &\_\_y)\
 template\<class \_CharT , class \_Alloc \> bool **operator\<** (const \_Rope\_iterator\< \_CharT, \_Alloc \> &\_\_x, const \_Rope\_iterator\< \_CharT, \_Alloc \> &\_\_y)\
 template\<typename \_Value , typename \_Int , typename \_St \> bool **operator\<** (const **character**\< \_Value, \_Int, \_St \> &lhs, const **character**\< \_Value, \_Int, \_St \> &rhs)\
 template\<class \_CharT , class \_Alloc \> bool **operator\<** (const **rope**\< \_CharT, \_Alloc \> &\_\_left, const **rope**\< \_CharT, \_Alloc \> &\_\_right)\
 template\<class \_Tp , class \_Alloc \> bool **operator\<** (const **slist**\< \_Tp, \_Alloc \> &\_SL1, const **slist**\< \_Tp, \_Alloc \> &\_SL2)\
 template\<typename \_Cond \> bool **operator\<** (const **throw\_value\_base**\< \_Cond \> &\_\_a, const **throw\_value\_base**\< \_Cond \> &\_\_b)\
 template\<class \_CharT , class \_Traits , class \_Alloc \> **std::basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**std::basic\_ostream**\< \_CharT, \_Traits \> &\_\_o, const **rope**\< \_CharT, \_Alloc \> &\_\_r)\
 template\<typename \_RealType , typename \_CharT , typename \_Traits \> **std::basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**std::basic\_ostream**\< \_CharT, \_Traits \> &\_\_os, const \_\_gnu\_cxx::beta\_distribution\< \_RealType \> &\_\_x)\
 template\<typename \_UIntType , typename \_CharT , typename \_Traits \> **std::basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**std::basic\_ostream**\< \_CharT, \_Traits \> &\_\_os, const \_\_gnu\_cxx::hypergeometric\_distribution\< \_UIntType \> &\_\_x)\
 template\<size\_t \_Dimen, typename \_RealType , typename \_CharT , typename \_Traits \> **std::basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**std::basic\_ostream**\< \_CharT, \_Traits \> &\_\_os, const \_\_gnu\_cxx::normal\_mv\_distribution\< \_Dimen, \_RealType \> &\_\_x)\
 template\<typename \_UIntType , size\_t \_\_m, size\_t \_\_pos1, size\_t \_\_sl1, size\_t \_\_sl2, size\_t \_\_sr1, size\_t \_\_sr2, uint32\_t \_\_msk1, uint32\_t \_\_msk2, uint32\_t \_\_msk3, uint32\_t \_\_msk4, uint32\_t \_\_parity1, uint32\_t \_\_parity2, uint32\_t \_\_parity3, uint32\_t \_\_parity4, typename \_CharT , typename \_Traits \> **std::basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**std::basic\_ostream**\< \_CharT, \_Traits \> &\_\_os, const \_\_gnu\_cxx::simd\_fast\_mersenne\_twister\_engine\< \_UIntType, \_\_m, \_\_pos1, \_\_sl1, \_\_sl2, \_\_sr1, \_\_sr2, \_\_msk1, \_\_msk2, \_\_msk3, \_\_msk4, \_\_parity1, \_\_parity2, \_\_parity3, \_\_parity4 \> &\_\_x)\
 template\<typename \_RealType , typename \_CharT , typename \_Traits \> **std::basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**std::basic\_ostream**\< \_CharT, \_Traits \> &\_\_os, const \_\_gnu\_cxx::triangular\_distribution\< \_RealType \> &\_\_x)\
 template\<std::size\_t \_Dimen, typename \_RealType , typename \_CharT , typename \_Traits \> **std::basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**std::basic\_ostream**\< \_CharT, \_Traits \> &\_\_os, const \_\_gnu\_cxx::uniform\_inside\_sphere\_distribution\< \_Dimen, \_RealType \> &\_\_x)\
 template\<std::size\_t \_Dimen, typename \_RealType , typename \_CharT , typename \_Traits \> **std::basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**std::basic\_ostream**\< \_CharT, \_Traits \> &\_\_os, const \_\_gnu\_cxx::uniform\_on\_sphere\_distribution\< \_Dimen, \_RealType \> &\_\_x)\
 template\<typename \_RealType , typename \_CharT , typename \_Traits \> **std::basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**std::basic\_ostream**\< \_CharT, \_Traits \> &\_\_os, const \_\_gnu\_cxx::von\_mises\_distribution\< \_RealType \> &\_\_x)\
 template\<typename \_CharT , typename \_Traits , typename \_StoreT \> **std::basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**std::basic\_ostream**\< \_CharT, \_Traits \> &\_\_os, const **\_Pointer\_adapter**\< \_StoreT \> &\_\_p)\
 template\<typename \_RealType , typename \_CharT , typename \_Traits \> **std::basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**std::basic\_ostream**\< \_CharT, \_Traits \> &\_\_os, const arcsine\_distribution\< \_RealType \> &\_\_x)\
 template\<typename \_RealType , typename \_CharT , typename \_Traits \> **std::basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**std::basic\_ostream**\< \_CharT, \_Traits \> &\_\_os, const hoyt\_distribution\< \_RealType \> &\_\_x)\
 template\<typename \_RealType , typename \_CharT , typename \_Traits \> **std::basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**std::basic\_ostream**\< \_CharT, \_Traits \> &\_\_os, const k\_distribution\< \_RealType \> &\_\_x)\
 template\<typename \_RealType , typename \_CharT , typename \_Traits \> **std::basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**std::basic\_ostream**\< \_CharT, \_Traits \> &\_\_os, const logistic\_distribution\< \_RealType \> &\_\_x)\
 template\<typename \_RealType , typename \_CharT , typename \_Traits \> **std::basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**std::basic\_ostream**\< \_CharT, \_Traits \> &\_\_os, const nakagami\_distribution\< \_RealType \> &\_\_x)\
 template\<typename \_RealType , typename \_CharT , typename \_Traits \> **std::basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**std::basic\_ostream**\< \_CharT, \_Traits \> &\_\_os, const pareto\_distribution\< \_RealType \> &\_\_x)\
 template\<typename \_RealType , typename \_CharT , typename \_Traits \> **std::basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**std::basic\_ostream**\< \_CharT, \_Traits \> &\_\_os, const rice\_distribution\< \_RealType \> &\_\_x)\
 **std::ostream** & **operator\<\<** (**std::ostream** &os, const **annotate\_base** &\_\_b)\
 template\<typename \_Tp1 , typename \_Tp2 \> bool **operator\<=** (\_Tp1 \_\_lhs, const **\_Pointer\_adapter**\< \_Tp2 \> &\_\_rhs)\
 template\<typename \_Iterator , typename \_Container \> constexpr bool **operator\<=** (const \_\_normal\_iterator\< \_Iterator, \_Container \> &\_\_lhs, const \_\_normal\_iterator\< \_Iterator, \_Container \> &\_\_rhs) noexcept\
 template\<typename \_IteratorL , typename \_IteratorR , typename \_Container \> bool **operator\<=** (const \_\_normal\_iterator\< \_IteratorL, \_Container \> &\_\_lhs, const \_\_normal\_iterator\< \_IteratorR, \_Container \> &\_\_rhs) noexcept\
 template\<typename \_CharT , typename \_Traits , typename \_Alloc , template\< typename, typename, typename \> class \_Base\> bool **operator\<=** (const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_lhs, const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_rhs)\
 Test if string doesn't follow string.  template\<typename \_CharT , typename \_Traits , typename \_Alloc , template\< typename, typename, typename \> class \_Base\> bool **operator\<=** (const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_lhs, const \_CharT \*\_\_rhs)\
 Test if string doesn't follow C string.  template\<typename \_CharT , typename \_Traits , typename \_Alloc , template\< typename, typename, typename \> class \_Base\> bool **operator\<=** (const \_CharT \*\_\_lhs, const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_rhs)\
 Test if C string doesn't follow string.  template\<typename \_Tp \> bool **operator\<=** (const **\_Pointer\_adapter**\< \_Tp \> &\_\_lhs, const **\_Pointer\_adapter**\< \_Tp \> &\_\_rhs)\
 template\<typename \_Tp1 , typename \_Tp2 \> bool **operator\<=** (const **\_Pointer\_adapter**\< \_Tp1 \> &\_\_lhs, \_Tp2 \_\_rhs)\
 template\<typename \_Tp1 , typename \_Tp2 \> bool **operator\<=** (const **\_Pointer\_adapter**\< \_Tp1 \> &\_\_lhs, const **\_Pointer\_adapter**\< \_Tp2 \> &\_\_rhs)\
 template\<class \_CharT , class \_Alloc \> bool **operator\<=** (const \_Rope\_const\_iterator\< \_CharT, \_Alloc \> &\_\_x, const \_Rope\_const\_iterator\< \_CharT, \_Alloc \> &\_\_y)\
 template\<class \_CharT , class \_Alloc \> bool **operator\<=** (const \_Rope\_iterator\< \_CharT, \_Alloc \> &\_\_x, const \_Rope\_iterator\< \_CharT, \_Alloc \> &\_\_y)\
 template\<class \_CharT , class \_Alloc \> bool **operator\<=** (const **rope**\< \_CharT, \_Alloc \> &\_\_x, const **rope**\< \_CharT, \_Alloc \> &\_\_y)\
 template\<class \_Tp , class \_Alloc \> bool **operator\<=** (const **slist**\< \_Tp, \_Alloc \> &\_SL1, const **slist**\< \_Tp, \_Alloc \> &\_SL2)\
 template\<typename \_Tp1 , typename \_Tp2 \> bool **operator==** (\_Tp1 \_\_lhs, const **\_Pointer\_adapter**\< \_Tp2 \> &\_\_rhs)\
 template\<size\_t \_Dimen, typename \_RealType \> bool **operator==** (const \_\_gnu\_cxx::normal\_mv\_distribution\< \_Dimen, \_RealType \> &\_\_d1, const \_\_gnu\_cxx::normal\_mv\_distribution\< \_Dimen, \_RealType \> &\_\_d2)\
 template\<typename \_UIntType , size\_t \_\_m, size\_t \_\_pos1, size\_t \_\_sl1, size\_t \_\_sl2, size\_t \_\_sr1, size\_t \_\_sr2, uint32\_t \_\_msk1, uint32\_t \_\_msk2, uint32\_t \_\_msk3, uint32\_t \_\_msk4, uint32\_t \_\_parity1, uint32\_t \_\_parity2, uint32\_t \_\_parity3, uint32\_t \_\_parity4\> bool **operator==** (const \_\_gnu\_cxx::simd\_fast\_mersenne\_twister\_engine\< \_UIntType, \_\_m, \_\_pos1, \_\_sl1, \_\_sl2, \_\_sr1, \_\_sr2, \_\_msk1, \_\_msk2, \_\_msk3, \_\_msk4, \_\_parity1, \_\_parity2, \_\_parity3, \_\_parity4 \> &\_\_lhs, const \_\_gnu\_cxx::simd\_fast\_mersenne\_twister\_engine\< \_UIntType, \_\_m, \_\_pos1, \_\_sl1, \_\_sl2, \_\_sr1, \_\_sr2, \_\_msk1, \_\_msk2, \_\_msk3, \_\_msk4, \_\_parity1, \_\_parity2, \_\_parity3, \_\_parity4 \> &\_\_rhs)\
 template\<typename \_Tp , typename \_Poolp \> bool **operator==** (const **\_\_mt\_alloc**\< \_Tp, \_Poolp \> &, const **\_\_mt\_alloc**\< \_Tp, \_Poolp \> &)\
 template\<typename \_Iterator , typename \_Container \> constexpr bool **operator==** (const \_\_normal\_iterator\< \_Iterator, \_Container \> &\_\_lhs, const \_\_normal\_iterator\< \_Iterator, \_Container \> &\_\_rhs) noexcept\
 template\<typename \_IteratorL , typename \_IteratorR , typename \_Container \> constexpr bool **operator==** (const \_\_normal\_iterator\< \_IteratorL, \_Container \> &\_\_lhs, const \_\_normal\_iterator\< \_IteratorR, \_Container \> &\_\_rhs) noexcept\
 template\<typename \_Tp \> bool **operator==** (const **\_\_pool\_alloc**\< \_Tp \> &, const **\_\_pool\_alloc**\< \_Tp \> &)\
 template\<typename \_CharT , typename \_Traits , typename \_Alloc , template\< typename, typename, typename \> class \_Base\> bool **operator==** (const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_lhs, const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_rhs)\
 Test equivalence of two strings.  template\<typename \_CharT , typename \_Traits , typename \_Alloc , template\< typename, typename, typename \> class \_Base\> bool **operator==** (const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_lhs, const \_CharT \*\_\_rhs)\
 Test equivalence of string and C string.  template\<typename \_CharT , template\< typename, typename, typename \> class \_Base\> \_\_enable\_if\< std::\_\_is\_char\< \_CharT \>::\_\_value, bool \>::\_\_type **operator==** (const **\_\_versa\_string**\< \_CharT, **std::char\_traits**\< \_CharT \>, **std::allocator**\< \_CharT \>, \_Base \> &\_\_lhs, const **\_\_versa\_string**\< \_CharT, **std::char\_traits**\< \_CharT \>, **std::allocator**\< \_CharT \>, \_Base \> &\_\_rhs)\
 template\<typename \_CharT , typename \_Traits , typename \_Alloc , template\< typename, typename, typename \> class \_Base\> bool **operator==** (const \_CharT \*\_\_lhs, const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_rhs)\
 Test equivalence of C string and string.  template\<typename \_Tp \> bool **operator==** (const **\_Pointer\_adapter**\< \_Tp \> &\_\_lhs, const **\_Pointer\_adapter**\< \_Tp \> &\_\_rhs)\
 template\<typename \_Tp \> bool **operator==** (const **\_Pointer\_adapter**\< \_Tp \> &\_\_lhs, int \_\_rhs)\
 template\<typename \_Tp1 , typename \_Tp2 \> bool **operator==** (const **\_Pointer\_adapter**\< \_Tp1 \> &\_\_lhs, \_Tp2 \_\_rhs)\
 template\<typename \_Tp1 , typename \_Tp2 \> bool **operator==** (const **\_Pointer\_adapter**\< \_Tp1 \> &\_\_lhs, const **\_Pointer\_adapter**\< \_Tp2 \> &\_\_rhs)\
 template\<class \_CharT , class \_Alloc \> bool **operator==** (const \_Rope\_char\_ptr\_proxy\< \_CharT, \_Alloc \> &\_\_x, const \_Rope\_char\_ptr\_proxy\< \_CharT, \_Alloc \> &\_\_y)\
 template\<class \_CharT , class \_Alloc \> bool **operator==** (const \_Rope\_const\_iterator\< \_CharT, \_Alloc \> &\_\_x, const \_Rope\_const\_iterator\< \_CharT, \_Alloc \> &\_\_y)\
 template\<class \_CharT , class \_Alloc \> bool **operator==** (const \_Rope\_iterator\< \_CharT, \_Alloc \> &\_\_x, const \_Rope\_iterator\< \_CharT, \_Alloc \> &\_\_y)\
 template\<typename \_Tp1 , typename \_Tp2 \> bool **operator==** (const **bitmap\_allocator**\< \_Tp1 \> &, const **bitmap\_allocator**\< \_Tp2 \> &)  throw ()\
 template\<typename \_Value , typename \_Int , typename \_St \> bool **operator==** (const **character**\< \_Value, \_Int, \_St \> &lhs, const **character**\< \_Value, \_Int, \_St \> &rhs)\
 template\<class \_Key , class \_Tp , class \_HashFn , class \_EqlKey , class \_Alloc \> bool **operator==** (const **hash\_map**\< \_Key, \_Tp, \_HashFn, \_EqlKey, \_Alloc \> &\_\_hm1, const **hash\_map**\< \_Key, \_Tp, \_HashFn, \_EqlKey, \_Alloc \> &\_\_hm2)\
 template\<class \_Key , class \_Tp , class \_HF , class \_EqKey , class \_Alloc \> bool **operator==** (const **hash\_multimap**\< \_Key, \_Tp, \_HF, \_EqKey, \_Alloc \> &\_\_hm1, const **hash\_multimap**\< \_Key, \_Tp, \_HF, \_EqKey, \_Alloc \> &\_\_hm2)\
 template\<class \_Val , class \_HashFcn , class \_EqualKey , class \_Alloc \> bool **operator==** (const **hash\_multiset**\< \_Val, \_HashFcn, \_EqualKey, \_Alloc \> &\_\_hs1, const **hash\_multiset**\< \_Val, \_HashFcn, \_EqualKey, \_Alloc \> &\_\_hs2)\
 template\<class \_Value , class \_HashFcn , class \_EqualKey , class \_Alloc \> bool **operator==** (const **hash\_set**\< \_Value, \_HashFcn, \_EqualKey, \_Alloc \> &\_\_hs1, const **hash\_set**\< \_Value, \_HashFcn, \_EqualKey, \_Alloc \> &\_\_hs2)\
 template\<class \_Val , class \_Key , class \_HF , class \_Ex , class \_Eq , class \_All \> bool **operator==** (const hashtable\< \_Val, \_Key, \_HF, \_Ex, \_Eq, \_All \> &\_\_ht1, const hashtable\< \_Val, \_Key, \_HF, \_Ex, \_Eq, \_All \> &\_\_ht2)\
 template\<class \_CharT , class \_Alloc \> bool **operator==** (const **rope**\< \_CharT, \_Alloc \> &\_\_left, const **rope**\< \_CharT, \_Alloc \> &\_\_right)\
 template\<class \_Tp , class \_Alloc \> bool **operator==** (const **slist**\< \_Tp, \_Alloc \> &\_SL1, const **slist**\< \_Tp, \_Alloc \> &\_SL2)\
 template\<typename \_Tp , typename \_Cond \> bool **operator==** (const **throw\_allocator\_base**\< \_Tp, \_Cond \> &, const **throw\_allocator\_base**\< \_Tp, \_Cond \> &)\
 template\<typename \_Cond \> bool **operator==** (const **throw\_value\_base**\< \_Cond \> &\_\_a, const **throw\_value\_base**\< \_Cond \> &\_\_b)\
 template\<typename \_Tp \> bool **operator==** (int \_\_lhs, const **\_Pointer\_adapter**\< \_Tp \> &\_\_rhs)\
 template\<typename \_Tp1 , typename \_Tp2 \> bool **operator\>** (\_Tp1 \_\_lhs, const **\_Pointer\_adapter**\< \_Tp2 \> &\_\_rhs)\
 template\<typename \_Iterator , typename \_Container \> constexpr bool **operator\>** (const \_\_normal\_iterator\< \_Iterator, \_Container \> &\_\_lhs, const \_\_normal\_iterator\< \_Iterator, \_Container \> &\_\_rhs) noexcept\
 template\<typename \_IteratorL , typename \_IteratorR , typename \_Container \> bool **operator\>** (const \_\_normal\_iterator\< \_IteratorL, \_Container \> &\_\_lhs, const \_\_normal\_iterator\< \_IteratorR, \_Container \> &\_\_rhs) noexcept\
 template\<typename \_CharT , typename \_Traits , typename \_Alloc , template\< typename, typename, typename \> class \_Base\> bool **operator\>** (const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_lhs, const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_rhs)\
 Test if string follows string.  template\<typename \_CharT , typename \_Traits , typename \_Alloc , template\< typename, typename, typename \> class \_Base\> bool **operator\>** (const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_lhs, const \_CharT \*\_\_rhs)\
 Test if string follows C string.  template\<typename \_CharT , typename \_Traits , typename \_Alloc , template\< typename, typename, typename \> class \_Base\> bool **operator\>** (const \_CharT \*\_\_lhs, const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_rhs)\
 Test if C string follows string.  template\<typename \_Tp \> bool **operator\>** (const **\_Pointer\_adapter**\< \_Tp \> &\_\_lhs, const **\_Pointer\_adapter**\< \_Tp \> &\_\_rhs)\
 template\<typename \_Tp1 , typename \_Tp2 \> bool **operator\>** (const **\_Pointer\_adapter**\< \_Tp1 \> &\_\_lhs, \_Tp2 \_\_rhs)\
 template\<typename \_Tp1 , typename \_Tp2 \> bool **operator\>** (const **\_Pointer\_adapter**\< \_Tp1 \> &\_\_lhs, const **\_Pointer\_adapter**\< \_Tp2 \> &\_\_rhs)\
 template\<class \_CharT , class \_Alloc \> bool **operator\>** (const \_Rope\_const\_iterator\< \_CharT, \_Alloc \> &\_\_x, const \_Rope\_const\_iterator\< \_CharT, \_Alloc \> &\_\_y)\
 template\<class \_CharT , class \_Alloc \> bool **operator\>** (const \_Rope\_iterator\< \_CharT, \_Alloc \> &\_\_x, const \_Rope\_iterator\< \_CharT, \_Alloc \> &\_\_y)\
 template\<class \_CharT , class \_Alloc \> bool **operator\>** (const **rope**\< \_CharT, \_Alloc \> &\_\_x, const **rope**\< \_CharT, \_Alloc \> &\_\_y)\
 template\<class \_Tp , class \_Alloc \> bool **operator\>** (const **slist**\< \_Tp, \_Alloc \> &\_SL1, const **slist**\< \_Tp, \_Alloc \> &\_SL2)\
 template\<typename \_Tp1 , typename \_Tp2 \> bool **operator\>=** (\_Tp1 \_\_lhs, const **\_Pointer\_adapter**\< \_Tp2 \> &\_\_rhs)\
 template\<typename \_Iterator , typename \_Container \> constexpr bool **operator\>=** (const \_\_normal\_iterator\< \_Iterator, \_Container \> &\_\_lhs, const \_\_normal\_iterator\< \_Iterator, \_Container \> &\_\_rhs) noexcept\
 template\<typename \_IteratorL , typename \_IteratorR , typename \_Container \> bool **operator\>=** (const \_\_normal\_iterator\< \_IteratorL, \_Container \> &\_\_lhs, const \_\_normal\_iterator\< \_IteratorR, \_Container \> &\_\_rhs) noexcept\
 template\<typename \_CharT , typename \_Traits , typename \_Alloc , template\< typename, typename, typename \> class \_Base\> bool **operator\>=** (const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_lhs, const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_rhs)\
 Test if string doesn't precede string.  template\<typename \_CharT , typename \_Traits , typename \_Alloc , template\< typename, typename, typename \> class \_Base\> bool **operator\>=** (const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_lhs, const \_CharT \*\_\_rhs)\
 Test if string doesn't precede C string.  template\<typename \_CharT , typename \_Traits , typename \_Alloc , template\< typename, typename, typename \> class \_Base\> bool **operator\>=** (const \_CharT \*\_\_lhs, const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_rhs)\
 Test if C string doesn't precede string.  template\<typename \_Tp \> bool **operator\>=** (const **\_Pointer\_adapter**\< \_Tp \> &\_\_lhs, const **\_Pointer\_adapter**\< \_Tp \> &\_\_rhs)\
 template\<typename \_Tp1 , typename \_Tp2 \> bool **operator\>=** (const **\_Pointer\_adapter**\< \_Tp1 \> &\_\_lhs, \_Tp2 \_\_rhs)\
 template\<typename \_Tp1 , typename \_Tp2 \> bool **operator\>=** (const **\_Pointer\_adapter**\< \_Tp1 \> &\_\_lhs, const **\_Pointer\_adapter**\< \_Tp2 \> &\_\_rhs)\
 template\<class \_CharT , class \_Alloc \> bool **operator\>=** (const \_Rope\_const\_iterator\< \_CharT, \_Alloc \> &\_\_x, const \_Rope\_const\_iterator\< \_CharT, \_Alloc \> &\_\_y)\
 template\<class \_CharT , class \_Alloc \> bool **operator\>=** (const \_Rope\_iterator\< \_CharT, \_Alloc \> &\_\_x, const \_Rope\_iterator\< \_CharT, \_Alloc \> &\_\_y)\
 template\<class \_CharT , class \_Alloc \> bool **operator\>=** (const **rope**\< \_CharT, \_Alloc \> &\_\_x, const **rope**\< \_CharT, \_Alloc \> &\_\_y)\
 template\<class \_Tp , class \_Alloc \> bool **operator\>=** (const **slist**\< \_Tp, \_Alloc \> &\_SL1, const **slist**\< \_Tp, \_Alloc \> &\_SL2)\
 template\<typename \_RealType , typename \_CharT , typename \_Traits \> **std::basic\_istream**\< \_CharT, \_Traits \> & **operator\>\>** (**std::basic\_istream**\< \_CharT, \_Traits \> &\_\_is, \_\_gnu\_cxx::beta\_distribution\< \_RealType \> &\_\_x)\
 template\<typename \_UIntType , typename \_CharT , typename \_Traits \> **std::basic\_istream**\< \_CharT, \_Traits \> & **operator\>\>** (**std::basic\_istream**\< \_CharT, \_Traits \> &\_\_is, \_\_gnu\_cxx::hypergeometric\_distribution\< \_UIntType \> &\_\_x)\
 template\<size\_t \_Dimen, typename \_RealType , typename \_CharT , typename \_Traits \> **std::basic\_istream**\< \_CharT, \_Traits \> & **operator\>\>** (**std::basic\_istream**\< \_CharT, \_Traits \> &\_\_is, \_\_gnu\_cxx::normal\_mv\_distribution\< \_Dimen, \_RealType \> &\_\_x)\
 template\<typename \_UIntType , size\_t \_\_m, size\_t \_\_pos1, size\_t \_\_sl1, size\_t \_\_sl2, size\_t \_\_sr1, size\_t \_\_sr2, uint32\_t \_\_msk1, uint32\_t \_\_msk2, uint32\_t \_\_msk3, uint32\_t \_\_msk4, uint32\_t \_\_parity1, uint32\_t \_\_parity2, uint32\_t \_\_parity3, uint32\_t \_\_parity4, typename \_CharT , typename \_Traits \> **std::basic\_istream**\< \_CharT, \_Traits \> & **operator\>\>** (**std::basic\_istream**\< \_CharT, \_Traits \> &\_\_is, \_\_gnu\_cxx::simd\_fast\_mersenne\_twister\_engine\< \_UIntType, \_\_m, \_\_pos1, \_\_sl1, \_\_sl2, \_\_sr1, \_\_sr2, \_\_msk1, \_\_msk2, \_\_msk3, \_\_msk4, \_\_parity1, \_\_parity2, \_\_parity3, \_\_parity4 \> &\_\_x)\
 template\<typename \_RealType , typename \_CharT , typename \_Traits \> **std::basic\_istream**\< \_CharT, \_Traits \> & **operator\>\>** (**std::basic\_istream**\< \_CharT, \_Traits \> &\_\_is, \_\_gnu\_cxx::triangular\_distribution\< \_RealType \> &\_\_x)\
 template\<std::size\_t \_Dimen, typename \_RealType , typename \_CharT , typename \_Traits \> **std::basic\_istream**\< \_CharT, \_Traits \> & **operator\>\>** (**std::basic\_istream**\< \_CharT, \_Traits \> &\_\_is, \_\_gnu\_cxx::uniform\_inside\_sphere\_distribution\< \_Dimen, \_RealType \> &\_\_x)\
 template\<std::size\_t \_Dimen, typename \_RealType , typename \_CharT , typename \_Traits \> **std::basic\_istream**\< \_CharT, \_Traits \> & **operator\>\>** (**std::basic\_istream**\< \_CharT, \_Traits \> &\_\_is, \_\_gnu\_cxx::uniform\_on\_sphere\_distribution\< \_Dimen, \_RealType \> &\_\_x)\
 template\<typename \_RealType , typename \_CharT , typename \_Traits \> **std::basic\_istream**\< \_CharT, \_Traits \> & **operator\>\>** (**std::basic\_istream**\< \_CharT, \_Traits \> &\_\_is, \_\_gnu\_cxx::von\_mises\_distribution\< \_RealType \> &\_\_x)\
 template\<typename \_RealType , typename \_CharT , typename \_Traits \> **std::basic\_istream**\< \_CharT, \_Traits \> & **operator\>\>** (**std::basic\_istream**\< \_CharT, \_Traits \> &\_\_is, arcsine\_distribution\< \_RealType \> &\_\_x)\
 template\<typename \_RealType , typename \_CharT , typename \_Traits \> **std::basic\_istream**\< \_CharT, \_Traits \> & **operator\>\>** (**std::basic\_istream**\< \_CharT, \_Traits \> &\_\_is, hoyt\_distribution\< \_RealType \> &\_\_x)\
 template\<typename \_RealType , typename \_CharT , typename \_Traits \> **std::basic\_istream**\< \_CharT, \_Traits \> & **operator\>\>** (**std::basic\_istream**\< \_CharT, \_Traits \> &\_\_is, k\_distribution\< \_RealType \> &\_\_x)\
 template\<typename \_RealType , typename \_CharT , typename \_Traits \> **std::basic\_istream**\< \_CharT, \_Traits \> & **operator\>\>** (**std::basic\_istream**\< \_CharT, \_Traits \> &\_\_is, logistic\_distribution\< \_RealType \> &\_\_x)\
 template\<typename \_RealType , typename \_CharT , typename \_Traits \> **std::basic\_istream**\< \_CharT, \_Traits \> & **operator\>\>** (**std::basic\_istream**\< \_CharT, \_Traits \> &\_\_is, nakagami\_distribution\< \_RealType \> &\_\_x)\
 template\<typename \_RealType , typename \_CharT , typename \_Traits \> **std::basic\_istream**\< \_CharT, \_Traits \> & **operator\>\>** (**std::basic\_istream**\< \_CharT, \_Traits \> &\_\_is, pareto\_distribution\< \_RealType \> &\_\_x)\
 template\<typename \_RealType , typename \_CharT , typename \_Traits \> **std::basic\_istream**\< \_CharT, \_Traits \> & **operator\>\>** (**std::basic\_istream**\< \_CharT, \_Traits \> &\_\_is, rice\_distribution\< \_RealType \> &\_\_x)\
 template\<typename \_Tp , typename \_Integer \> \_Tp **power** (\_Tp \_\_x, \_Integer \_\_n)\
 template\<typename \_Tp , typename \_Integer , typename \_MonoidOperation \> \_Tp **power** (\_Tp \_\_x, \_Integer \_\_n, \_MonoidOperation \_\_monoid\_op)\
 template\<typename \_InputIterator , typename \_RandomAccessIterator \> \_RandomAccessIterator **random\_sample** (\_InputIterator \_\_first, \_InputIterator \_\_last, \_RandomAccessIterator \_\_out\_first, \_RandomAccessIterator \_\_out\_last)\
 template\<typename \_InputIterator , typename \_RandomAccessIterator , typename \_RandomNumberGenerator \> \_RandomAccessIterator **random\_sample** (\_InputIterator \_\_first, \_InputIterator \_\_last, \_RandomAccessIterator \_\_out\_first, \_RandomAccessIterator \_\_out\_last, \_RandomNumberGenerator &\_\_rand)\
 template\<typename \_ForwardIterator , typename \_OutputIterator , typename \_Distance \> \_OutputIterator **random\_sample\_n** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, \_OutputIterator \_\_out, const \_Distance \_\_n)\
 template\<typename \_ForwardIterator , typename \_OutputIterator , typename \_Distance , typename \_RandomNumberGenerator \> \_OutputIterator **random\_sample\_n** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, \_OutputIterator \_\_out, const \_Distance \_\_n, \_RandomNumberGenerator &\_\_rand)\
 void **rotate** (\_Rope\_iterator\< char, \_\_STL\_DEFAULT\_ALLOCATOR(char)\> \_\_first, \_Rope\_iterator\< char, \_\_STL\_DEFAULT\_ALLOCATOR(char)\> \_\_middle, \_Rope\_iterator\< char, \_\_STL\_DEFAULT\_ALLOCATOR(char)\> \_\_last)\
 template\<typename \_CharT , typename \_Traits , typename \_Alloc , template\< typename, typename, typename \> class \_Base\> void **swap** (**\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_lhs, **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_rhs)\
 Swap contents of two strings.  template\<typename \_Tp \> void **swap** (**\_ExtPtr\_allocator**\< \_Tp \> &\_\_larg, **\_ExtPtr\_allocator**\< \_Tp \> &\_\_rarg)\
 template\<class \_CharT , class \_\_Alloc \> void **swap** (\_Rope\_char\_ref\_proxy\< \_CharT, \_\_Alloc \> \_\_a, \_Rope\_char\_ref\_proxy\< \_CharT, \_\_Alloc \> \_\_b)\
 template\<class \_Key , class \_Tp , class \_HashFn , class \_EqlKey , class \_Alloc \> void **swap** (**hash\_map**\< \_Key, \_Tp, \_HashFn, \_EqlKey, \_Alloc \> &\_\_hm1, **hash\_map**\< \_Key, \_Tp, \_HashFn, \_EqlKey, \_Alloc \> &\_\_hm2)\
 template\<class \_Key , class \_Tp , class \_HashFn , class \_EqlKey , class \_Alloc \> void **swap** (**hash\_multimap**\< \_Key, \_Tp, \_HashFn, \_EqlKey, \_Alloc \> &\_\_hm1, **hash\_multimap**\< \_Key, \_Tp, \_HashFn, \_EqlKey, \_Alloc \> &\_\_hm2)\
 template\<class \_Val , class \_HashFcn , class \_EqualKey , class \_Alloc \> void **swap** (**hash\_multiset**\< \_Val, \_HashFcn, \_EqualKey, \_Alloc \> &\_\_hs1, **hash\_multiset**\< \_Val, \_HashFcn, \_EqualKey, \_Alloc \> &\_\_hs2)\
 template\<class \_Val , class \_HashFcn , class \_EqualKey , class \_Alloc \> void **swap** (**hash\_set**\< \_Val, \_HashFcn, \_EqualKey, \_Alloc \> &\_\_hs1, **hash\_set**\< \_Val, \_HashFcn, \_EqualKey, \_Alloc \> &\_\_hs2)\
 template\<class \_Val , class \_Key , class \_HF , class \_Extract , class \_EqKey , class \_All \> void **swap** (hashtable\< \_Val, \_Key, \_HF, \_Extract, \_EqKey, \_All \> &\_\_ht1, hashtable\< \_Val, \_Key, \_HF, \_Extract, \_EqKey, \_All \> &\_\_ht2)\
 template\<class \_CharT , class \_Alloc \> void **swap** (**rope**\< \_CharT, \_Alloc \> &\_\_x, **rope**\< \_CharT, \_Alloc \> &\_\_y)\
 template\<class \_Tp , class \_Alloc \> void **swap** (**slist**\< \_Tp, \_Alloc \> &\_\_x, **slist**\< \_Tp, \_Alloc \> &\_\_y)\
 template\<typename \_Cond \> void **swap** (**throw\_value\_base**\< \_Cond \> &\_\_a, **throw\_value\_base**\< \_Cond \> &\_\_b)\
 template\<typename \_InputIter , typename \_Size , typename \_ForwardIter \> **std::pair**\< \_InputIter, \_ForwardIter \> **uninitialized\_copy\_n** (\_InputIter \_\_first, \_Size \_\_count, \_ForwardIter \_\_result)\
 Copies the range \[first,last) into result.

### Variables

const \_Lock\_policy **\_\_default\_lock\_policy**\
 template\<class \_CharT , class \_Alloc \> **rope**\< \_CharT, \_Alloc \> **identity\_element** (\_Rope\_Concat\_fn\< \_CharT, \_Alloc \>)\

## Detailed Description

GNU extensions for public use.

## Typedef Documentation

### template\<typename \_Tp \> using \_\_gnu\_cxx::\_\_int\_traits = typedef \_\_numeric\_traits\_integer\<\_Tp\>

Convenience alias for \_\_numeric\_traits\<integer-type\>.

## Function Documentation

### template\<typename \_ToType , typename \_FromType \> \_ToType \_\_gnu\_cxx::\_\_static\_pointer\_cast (\_FromType \* \_\_arg)` [inline]`

Casting operations for cases where \_FromType is a standard pointer. \_ToType can be a standard or non-standard pointer.

### template\<typename \_ToType , typename \_FromType \> \_ToType \_\_gnu\_cxx::\_\_static\_pointer\_cast (const \_FromType & \_\_arg)` [inline]`

Casting operations for cases where \_FromType is not a standard pointer. \_ToType can be a standard or non-standard pointer. Given that \_FromType is not a pointer, it must have a get() method that returns the standard pointer equivalent of the address it points to, and must have an element\_type typedef which names the type it points to.

### std::size\_t \_\_gnu\_cxx::\_Bit\_scan\_forward (std::size\_t \_\_num)` [inline]`

Generic Version of the bsf instruction.

Referenced by **\_\_gnu\_cxx::bitmap\_allocator\< \_Tp \>::\_M\_allocate\_single\_object()**.

### template\<typename \_CharT , typename \_Traits , typename \_Alloc , template\< typename, typename, typename \> class \_Base\> bool \_\_gnu\_cxx::operator!= (const \_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \> & \_\_lhs, const \_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \> & \_\_rhs)` [inline]`

Test difference of two strings.

**Parameters**

*\_\_lhs* First string. \
 *\_\_rhs* Second string.

**Returns**

True if *\_\_lhs.compare*(*\_\_rhs*) != 0. False otherwise.

### template\<typename \_CharT , typename \_Traits , typename \_Alloc , template\< typename, typename, typename \> class \_Base\> bool \_\_gnu\_cxx::operator!= (const \_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \> & \_\_lhs, const \_CharT \* \_\_rhs)` [inline]`

Test difference of string and C string.

**Parameters**

*\_\_lhs* String. \
 *\_\_rhs* C string.

**Returns**

True if *\_\_lhs.compare*(*\_\_rhs*) != 0. False otherwise.

### template\<typename \_CharT , typename \_Traits , typename \_Alloc , template\< typename, typename, typename \> class \_Base\> bool \_\_gnu\_cxx::operator!= (const \_CharT \* \_\_lhs, const \_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \> & \_\_rhs)` [inline]`

Test difference of C string and string.

**Parameters**

*\_\_lhs* C string. \
 *\_\_rhs* String.

**Returns**

True if *\_\_rhs.compare*(*\_\_lhs*) != 0. False otherwise.

### template\<typename \_CharT , typename \_Traits , typename \_Alloc , template\< typename, typename, typename \> class \_Base\> \_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \> \_\_gnu\_cxx::operator+ (\_CharT \_\_lhs, const \_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \> & \_\_rhs)

Concatenate character and string.

**Parameters**

*\_\_lhs* First string. \
 *\_\_rhs* Last string.

**Returns**

New string with *\_\_lhs* followed by *\_\_rhs*.

References **\_\_gnu\_cxx::\_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \>::append()**, **\_\_gnu\_cxx::\_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \>::push\_back()**, **\_\_gnu\_cxx::\_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \>::reserve()**, and **\_\_gnu\_cxx::\_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \>::size()**.

### template\<typename \_CharT , typename \_Traits , typename \_Alloc , template\< typename, typename, typename \> class \_Base\> \_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \> \_\_gnu\_cxx::operator+ (const \_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \> & \_\_lhs, \_CharT \_\_rhs)

Concatenate string and character.

**Parameters**

*\_\_lhs* First string. \
 *\_\_rhs* Last string.

**Returns**

New string with *\_\_lhs* followed by *\_\_rhs*.

References **\_\_gnu\_cxx::\_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \>::append()**, **\_\_gnu\_cxx::\_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \>::push\_back()**, **\_\_gnu\_cxx::\_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \>::reserve()**, and **\_\_gnu\_cxx::\_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \>::size()**.

### template\<typename \_CharT , typename \_Traits , typename \_Alloc , template\< typename, typename, typename \> class \_Base\> \_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \> \_\_gnu\_cxx::operator+ (const \_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \> & \_\_lhs, const \_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \> & \_\_rhs)

Concatenate two strings.

**Parameters**

*\_\_lhs* First string. \
 *\_\_rhs* Last string.

**Returns**

New string with value of *\_\_lhs* followed by *\_\_rhs*.

References **\_\_gnu\_cxx::\_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \>::append()**, **\_\_gnu\_cxx::\_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \>::reserve()**, and **\_\_gnu\_cxx::\_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \>::size()**.

### template\<typename \_CharT , typename \_Traits , typename \_Alloc , template\< typename, typename, typename \> class \_Base\> \_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \> \_\_gnu\_cxx::operator+ (const \_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \> & \_\_lhs, const \_CharT \* \_\_rhs)

Concatenate string and C string.

**Parameters**

*\_\_lhs* First string. \
 *\_\_rhs* Last string.

**Returns**

New string with *\_\_lhs* followed by *\_\_rhs*.

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 \>::compare()**.

### template\<typename \_CharT , typename \_Traits , typename \_Alloc , template\< typename, typename, typename \> class \_Base\> bool \_\_gnu\_cxx::operator== (const \_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \> & \_\_lhs, const \_CharT \* \_\_rhs)` [inline]`

Test equivalence of string and C string.

**Parameters**

*\_\_lhs* String. \
 *\_\_rhs* C string.

**Returns**

True if *\_\_lhs.compare*(*\_\_rhs*) == 0. False otherwise.

References **\_\_gnu\_cxx::\_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \>::compare()**.

### template\<typename \_CharT , typename \_Traits , typename \_Alloc , template\< typename, typename, typename \> class \_Base\> bool \_\_gnu\_cxx::operator== (const \_CharT \* \_\_lhs, const \_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \> & \_\_rhs)` [inline]`

Test equivalence of C string and string.

**Parameters**

*\_\_lhs* C string. \
 *\_\_rhs* String.

**Returns**

True if *\_\_rhs.compare*(*\_\_lhs*) == 0. False otherwise.

References **\_\_gnu\_cxx::\_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \>::compare()**.

### template\<typename \_Tp \> bool \_\_gnu\_cxx::operator== (const \_Pointer\_adapter\< \_Tp \> & \_\_lhs, const \_Pointer\_adapter\< \_Tp \> & \_\_rhs)` [inline]`

Comparison operators for \_Pointer\_adapter defer to the base class' comparison operators, when possible.

### template\<typename \_CharT , typename \_Traits , typename \_Alloc , template\< typename, typename, typename \> class \_Base\> bool \_\_gnu\_cxx::operator\> (const \_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \> & \_\_lhs, const \_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \> & \_\_rhs)` [inline]`

Test if string follows string.

**Parameters**

*\_\_lhs* First string. \
 *\_\_rhs* Second string.

**Returns**

True if *\_\_lhs* follows *\_\_rhs*. False otherwise.

References **\_\_gnu\_cxx::\_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \>::compare()**.

### template\<typename \_CharT , typename \_Traits , typename \_Alloc , template\< typename, typename, typename \> class \_Base\> bool \_\_gnu\_cxx::operator\> (const \_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \> & \_\_lhs, const \_CharT \* \_\_rhs)` [inline]`

Test if string follows C string.

**Parameters**

*\_\_lhs* String. \
 *\_\_rhs* C string.

**Returns**

True if *\_\_lhs* follows *\_\_rhs*. False otherwise.

References **\_\_gnu\_cxx::\_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \>::compare()**.

### template\<typename \_CharT , typename \_Traits , typename \_Alloc , template\< typename, typename, typename \> class \_Base\> bool \_\_gnu\_cxx::operator\> (const \_CharT \* \_\_lhs, const \_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \> & \_\_rhs)` [inline]`

Test if C string follows string.

**Parameters**

*\_\_lhs* C string. \
 *\_\_rhs* String.

**Returns**

True if *\_\_lhs* follows *\_\_rhs*. False otherwise.

References **\_\_gnu\_cxx::\_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \>::compare()**.

### template\<typename \_CharT , typename \_Traits , typename \_Alloc , template\< typename, typename, typename \> class \_Base\> bool \_\_gnu\_cxx::operator\>= (const \_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \> & \_\_lhs, const \_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \> & \_\_rhs)` [inline]`

Test if string doesn't precede string.

**Parameters**

*\_\_lhs* First string. \
 *\_\_rhs* Second string.

**Returns**

True if *\_\_lhs* doesn't precede *\_\_rhs*. False otherwise.

References **\_\_gnu\_cxx::\_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \>::compare()**.

### template\<typename \_CharT , typename \_Traits , typename \_Alloc , template\< typename, typename, typename \> class \_Base\> bool \_\_gnu\_cxx::operator\>= (const \_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \> & \_\_lhs, const \_CharT \* \_\_rhs)` [inline]`

Test if string doesn't precede C string.

**Parameters**

*\_\_lhs* String. \
 *\_\_rhs* C string.

**Returns**

True if *\_\_lhs* doesn't precede *\_\_rhs*. False otherwise.

References **\_\_gnu\_cxx::\_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \>::compare()**.

### template\<typename \_CharT , typename \_Traits , typename \_Alloc , template\< typename, typename, typename \> class \_Base\> bool \_\_gnu\_cxx::operator\>= (const \_CharT \* \_\_lhs, const \_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \> & \_\_rhs)` [inline]`

Test if C string doesn't precede string.

**Parameters**

*\_\_lhs* C string. \
 *\_\_rhs* String.

**Returns**

True if *\_\_lhs* doesn't precede *\_\_rhs*. False otherwise.

References **\_\_gnu\_cxx::\_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \>::compare()**.

### template\<typename \_CharT , typename \_Traits , typename \_Alloc , template\< typename, typename, typename \> class \_Base\> void \_\_gnu\_cxx::swap (\_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \> & \_\_lhs, \_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \> & \_\_rhs)` [inline]`

Swap contents of two strings.

**Parameters**

*\_\_lhs* First string. \
 *\_\_rhs* Second string.

Exchanges the contents of *\_\_lhs* and *\_\_rhs* in constant time.

References **\_\_gnu\_cxx::\_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \>::swap()**.

## Author

Generated automatically by Doxygen for libstdc++ from the source code.
