---
name: "__gnu_cxx"
section: "3"
platform: "linux"
package: "gcc"
version: "16.2.1+r23+gd564253eb6c8-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/__gnu_cxx"
---

# \_\_gnu\_cxx(3)

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.  class **\_Temporary\_buffer**\
 struct **\_Unqualified\_type**\
 class **allocator**\
 The *standard* allocator, as per C++03 \[20.4.1\].  struct **annotate\_base**\
 Base class for checking address and label information about allocations. Create a std::map between the allocated address (void\*) and a datum for annotations, which are a pair of numbers corresponding to label and allocated size.  class **binary\_compose**\
 An **SGI extension** .  class **bitmap\_allocator**\
 Bitmap Allocator, primary template.  struct **char\_traits**\
 Base class used to implement std::char\_traits.  struct **character**\
 A POD class that serves as a character abstraction class.  struct **condition\_base**\
 Base struct for condition policy.  struct **constant\_binary\_fun**\
 An **SGI extension** .  struct **constant\_unary\_fun**\
 An **SGI extension** .  struct **constant\_void\_fun**\
 An **SGI extension** .  class **debug\_allocator**\
 A meta-allocator with debugging bits.  class **enc\_filebuf**\
 class enc\_filebuf.  struct **encoding\_char\_traits**\
 encoding\_char\_traits  class **encoding\_state**\
 Extension to use iconv for dealing with character encodings.  struct **equal\_to**\
 One of the **comparison functors**.  struct **forced\_error**\
 Thrown by utilities for testing exception safety.  class **free\_list**\
 The free list class for managing chunks of memory to be given to and returned by the bitmap\_allocator.  class **hash\_map**\
 class **hash\_multimap**\
 class **hash\_multiset**\
 class **hash\_set**\
 struct **limit\_condition**\
 Base class for incremental control and throw.  class **malloc\_allocator**\
 An allocator that uses malloc.  class **new\_allocator**\
 An allocator that uses global new, as per C++03 \[20.4.1\].  struct **pair**\
 Struct holding two objects (or references) of arbitrary type.  struct **project1st**\
 An **SGI extension** .  struct **project2nd**\
 An **SGI extension** .  struct **random\_condition**\
 Base class for random probability control and throw.  struct **rb\_tree**\
 class **recursive\_init\_error**\
 Exception thrown by \_\_cxa\_guard\_acquire.  class **rope**\
 struct **select1st**\
 An **SGI extension** .  struct **select2nd**\
 An **SGI extension** .  class **slist**\
 class **stdio\_filebuf**\
 Provides a layer of compatibility for C/POSIX.  class **stdio\_sync\_filebuf**\
 Provides a layer of compatibility for C.  class **subtractive\_rng**\
 struct **temporary\_buffer**\
 class **throw\_allocator\_base**\
 Allocator class with logging and exception generation control. Intended to be used as an allocator\_type in templatized code.  struct **throw\_allocator\_limit**\
 Allocator throwing via limit condition.  struct **throw\_allocator\_random**\
 Allocator throwing via random condition.  struct **throw\_value\_base**\
 Class with exception generation control. Intended to be used as a value\_type in templatized code.  struct **throw\_value\_limit**\
 Type throwing via limit condition.  struct **throw\_value\_random**\
 Type throwing via random condition.  class **unary\_compose**\
 An **SGI extension** .

### Typedefs

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

### Enumerations

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

### Functions

void **\_\_atomic\_add** (volatile \_Atomic\_word \*\_\_mem, int \_\_val)\
 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 \*\_\_mem, int \_\_val)\
 \_Atomic\_word **\_\_exchange\_and\_add\_dispatch** (\_Atomic\_word \*\_\_mem, int \_\_val)\
 \_Atomic\_word **\_\_exchange\_and\_add\_single** (\_Atomic\_word \*\_\_mem, int \_\_val)\
 template\<class \_Concept\> constexpr void **\_\_function\_requires** ()\
 template\<typename \_Type\> constexpr bool **\_\_is\_null\_pointer** (\_Type \*\_\_ptr)\
 template\<typename \_Type\> constexpr bool **\_\_is\_null\_pointer** (\_Type)\
 constexpr bool **\_\_is\_null\_pointer** (std::nullptr\_t)\
 bool **\_\_is\_single\_threaded** () noexcept\
 template\<typename \_InputIterator1, typename \_InputIterator2\> int **\_\_lexicographical\_compare\_3way** (\_InputIterator1 \_\_first1, \_InputIterator1 \_\_last1, \_InputIterator2 \_\_first2, \_InputIterator2 \_\_last2)\
 int **\_\_lexicographical\_compare\_3way** (const char \*\_\_first1, const char \*\_\_last1, const char \*\_\_first2, const char \*\_\_last2)\
 int **\_\_lexicographical\_compare\_3way** (const unsigned char \*\_\_first1, const unsigned char \*\_\_last1, const unsigned char \*\_\_first2, const unsigned char \*\_\_last2)\
 template\<typename \_Tp\> const \_Tp & **\_\_median** (const \_Tp &\_\_a, const \_Tp &\_\_b, const \_Tp &\_\_c)\
 Find the median of three values.  template\<typename \_Tp, typename \_Compare\> const \_Tp & **\_\_median** (const \_Tp &\_\_a, const \_Tp &\_\_b, const \_Tp &\_\_c, \_Compare \_\_comp)\
 Find the median of three values using a predicate for comparison.  crope::reference **\_\_mutable\_reference\_at** (crope &\_\_c, std::size\_t \_\_i)\
 template\<typename \_Tp, typename \_Integer\> \_Tp **\_\_power** (\_Tp \_\_x, \_Integer \_\_n)\
 template\<typename \_Tp, typename \_Integer, typename \_MonoidOperation\> \_Tp **\_\_power** (\_Tp \_\_x, \_Integer \_\_n, \_MonoidOperation \_\_monoid\_op)\
 template\<typename \_InputIterator, typename \_RandomAccessIterator, typename \_RandomNumberGenerator, typename \_Distance\> \_RandomAccessIterator **\_\_random\_sample** (\_InputIterator \_\_first, \_InputIterator \_\_last, \_RandomAccessIterator \_\_out, \_RandomNumberGenerator &\_\_rand, const \_Distance \_\_n)\
 template\<typename \_InputIterator, typename \_RandomAccessIterator, typename \_Distance\> \_RandomAccessIterator **\_\_random\_sample** (\_InputIterator \_\_first, \_InputIterator \_\_last, \_RandomAccessIterator \_\_out, const \_Distance \_\_n)\
 template\<typename \_ToType, typename \_FromType\> \_ToType **\_\_reinterpret\_pointer\_cast** (\_FromType \*\_\_arg)\
 template\<typename \_ToType, typename \_FromType\> \_ToType **\_\_reinterpret\_pointer\_cast** (const \_FromType &\_\_arg)\
 \_Slist\_node\_base \* **\_\_slist\_make\_link** (\_Slist\_node\_base \*\_\_prev\_node, \_Slist\_node\_base \*\_\_new\_node)\
 \_Slist\_node\_base \* **\_\_slist\_previous** (\_Slist\_node\_base \*\_\_head, const \_Slist\_node\_base \*\_\_node)\
 const \_Slist\_node\_base \* **\_\_slist\_previous** (const \_Slist\_node\_base \*\_\_head, const \_Slist\_node\_base \*\_\_node)\
 \_Slist\_node\_base \* **\_\_slist\_reverse** (\_Slist\_node\_base \*\_\_node)\
 std::size\_t **\_\_slist\_size** (\_Slist\_node\_base \*\_\_node)\
 void **\_\_slist\_splice\_after** (\_Slist\_node\_base \*\_\_pos, \_Slist\_node\_base \*\_\_before\_first, \_Slist\_node\_base \*\_\_before\_last)\
 void **\_\_slist\_splice\_after** (\_Slist\_node\_base \*\_\_pos, \_Slist\_node\_base \*\_\_head)\
 template\<typename \_ToType, typename \_FromType\> \_ToType **\_\_static\_pointer\_cast** (\_FromType \*\_\_arg)\
 template\<typename \_ToType, typename \_FromType\> \_ToType **\_\_static\_pointer\_cast** (const \_FromType &\_\_arg)\
 size\_t **\_\_stl\_hash\_string** (const char \*\_\_s)\
 unsigned long **\_\_stl\_next\_prime** (unsigned long \_\_n)\
 template\<typename \_TRet, typename \_Ret = \_TRet, typename \_CharT, typename... \_Base\> \_Ret **\_\_stoa** (\_TRet(\*\_\_convf)(const \_CharT \*, \_CharT \*\*, \_Base...), const char \*\_\_name, const \_CharT \*\_\_str, std::size\_t \*\_\_idx, \_Base... \_\_base)\
 void **\_\_throw\_concurrence\_lock\_error** ()\
 void **\_\_throw\_concurrence\_unlock\_error** ()\
 void **\_\_throw\_forced\_error** ()\
 template\<typename \_String, typename \_CharT = typename \_String::value\_type\> \_String **\_\_to\_xstring** (int(\*\_\_convf)(\_CharT \*, std::size\_t, const \_CharT \*, \_\_builtin\_va\_list), std::size\_t \_\_n, const \_CharT \*\_\_fmt,...)\
 template\<typename \_InputIter, typename \_Size, typename \_ForwardIter\> **std::pair**\< \_InputIter, \_ForwardIter \> **\_\_uninitialized\_copy\_n** (\_InputIter \_\_first, \_Size \_\_count, \_ForwardIter \_\_result)\
 template\<typename \_InputIter, typename \_Size, typename \_ForwardIter\> **std::pair**\< \_InputIter, \_ForwardIter \> **\_\_uninitialized\_copy\_n** (\_InputIter \_\_first, \_Size \_\_count, \_ForwardIter \_\_result, **std::input\_iterator\_tag**)\
 template\<typename \_RandomAccessIter, typename \_Size, typename \_ForwardIter\> **std::pair**\< \_RandomAccessIter, \_ForwardIter \> **\_\_uninitialized\_copy\_n** (\_RandomAccessIter \_\_first, \_Size \_\_count, \_ForwardIter \_\_result, **std::random\_access\_iterator\_tag**)\
 template\<typename \_InputIter, typename \_Size, typename \_ForwardIter, typename \_Allocator\> **std::pair**\< \_InputIter, \_ForwardIter \> **\_\_uninitialized\_copy\_n\_a** (\_InputIter \_\_first, \_Size \_\_count, \_ForwardIter \_\_result, \_Allocator \_\_alloc)\
 template\<typename \_InputIter, typename \_Size, typename \_ForwardIter, typename \_Tp\> **std::pair**\< \_InputIter, \_ForwardIter \> **\_\_uninitialized\_copy\_n\_a** (\_InputIter \_\_first, \_Size \_\_count, \_ForwardIter \_\_result, **std::allocator**\< \_Tp \>)\
 void **\_\_verbose\_terminate\_handler** ()\
 A replacement for the standard terminate\_handler which prints more information about the terminating exception (if any) on stderr.  std::size\_t **\_Bit\_scan\_forward** (std::size\_t \_\_num)\
 Generic Version of the bsf instruction.  template\<typename \_ForwardIterator, typename \_Allocator\> void **\_Destroy\_const** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, \_Allocator \_\_alloc)\
 template\<typename \_ForwardIterator, typename \_Tp\> void **\_Destroy\_const** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, **std::allocator**\< \_Tp \>)\
 template\<class \_CharT, class \_Traits\> void **\_Rope\_fill** (**std::basic\_ostream**\< \_CharT, \_Traits \> &\_\_o, std::size\_t \_\_n)\
 template\<class \_CharT\> bool **\_Rope\_is\_simple** (\_CharT \*)\
 bool **\_Rope\_is\_simple** (char \*)\
 bool **\_Rope\_is\_simple** (wchar\_t \*)\
 template\<class \_Rope\_iterator\> void **\_Rope\_rotate** (\_Rope\_iterator \_\_first, \_Rope\_iterator \_\_middle, \_Rope\_iterator \_\_last)\
 template\<class \_CharT\> void **\_S\_cond\_store\_eos** (\_CharT &)\
 void **\_S\_cond\_store\_eos** (char &\_\_c)\
 void **\_S\_cond\_store\_eos** (wchar\_t &\_\_c)\
 template\<class \_CharT\> \_CharT **\_S\_eos** (\_CharT \*)\
 template\<class \_CharT\> bool **\_S\_is\_basic\_char\_type** (\_CharT \*)\
 bool **\_S\_is\_basic\_char\_type** (char \*)\
 bool **\_S\_is\_basic\_char\_type** (wchar\_t \*)\
 template\<class \_CharT\> bool **\_S\_is\_one\_byte\_char\_type** (\_CharT \*)\
 bool **\_S\_is\_one\_byte\_char\_type** (char \*)\
 template\<typename \_Tp\> \_\_gnu\_cxx::\_\_promote\< \_Tp \>::\_\_type **airy\_ai** (\_Tp \_\_x)\
 float **airy\_aif** (float \_\_x)\
 long double **airy\_ail** (long double \_\_x)\
 template\<typename \_Tp\> \_\_gnu\_cxx::\_\_promote\< \_Tp \>::\_\_type **airy\_bi** (\_Tp \_\_x)\
 float **airy\_bif** (float \_\_x)\
 long double **airy\_bil** (long double \_\_x)\
 template\<class \_Operation1, class \_Operation2\> **unary\_compose**\< \_Operation1, \_Operation2 \> **compose1** (const \_Operation1 &\_\_fn1, const \_Operation2 &\_\_fn2)\
 An **SGI extension** .  template\<class \_Operation1, class \_Operation2, class \_Operation3\> **binary\_compose**\< \_Operation1, \_Operation2, \_Operation3 \> **compose2** (const \_Operation1 &\_\_fn1, const \_Operation2 &\_\_fn2, const \_Operation3 &\_\_fn3)\
 An **SGI extension** .  template\<typename \_Tpa, typename \_Tpc, typename \_Tp\> \_\_gnu\_cxx::\_\_promote\_3\< \_Tpa, \_Tpc, \_Tp \>::\_\_type **conf\_hyperg** (\_Tpa \_\_a, \_Tpc \_\_c, \_Tp \_\_x)\
 float **conf\_hypergf** (float \_\_a, float \_\_c, float \_\_x)\
 long double **conf\_hypergl** (long double \_\_a, long double \_\_c, long double \_\_x)\
 template\<class \_Result\> **constant\_void\_fun**\< \_Result \> **constant0** (const \_Result &\_\_val)\
 An **SGI extension** .  template\<class \_Result\> **constant\_unary\_fun**\< \_Result, \_Result \> **constant1** (const \_Result &\_\_val)\
 An **SGI extension** .  template\<class \_Result\> **constant\_binary\_fun**\< \_Result, \_Result, \_Result \> **constant2** (const \_Result &\_\_val)\
 An **SGI extension** .  template\<typename \_InputIterator, typename \_Size, typename \_OutputIterator\> **std::pair**\< \_InputIterator, \_OutputIterator \> **copy\_n** (\_InputIterator \_\_first, \_Size \_\_count, \_OutputIterator \_\_result)\
 Copies the range \[first,first+count) into \[result,result+count).  template\<typename \_InputIterator, typename \_Tp, typename \_Size\> void **count** (\_InputIterator \_\_first, \_InputIterator \_\_last, const \_Tp &\_\_value, \_Size &\_\_n)\
 template\<typename \_InputIterator, typename \_Predicate, typename \_Size\> void **count\_if** (\_InputIterator \_\_first, \_InputIterator \_\_last, \_Predicate \_\_pred, \_Size &\_\_n)\
 template\<typename \_InputIterator, typename \_Distance\> void **distance** (\_InputIterator \_\_first, \_InputIterator \_\_last, \_Distance &\_\_n)\
 template\<typename \_Tpa, typename \_Tpb, typename \_Tpc, typename \_Tp\> \_\_gnu\_cxx::\_\_promote\_4\< \_Tpa, \_Tpb, \_Tpc, \_Tp \>::\_\_type **hyperg** (\_Tpa \_\_a, \_Tpb \_\_b, \_Tpc \_\_c, \_Tp \_\_x)\
 float **hypergf** (float \_\_a, float \_\_b, float \_\_c, float \_\_x)\
 long double **hypergl** (long double \_\_a, long double \_\_b, long double \_\_c, long double \_\_x)\
 template\<class \_Tp\> \_Tp **identity\_element** (**std::multiplies**\< \_Tp \>)\
 An **SGI extension** .  template\<class \_Tp\> \_Tp **identity\_element** (**std::plus**\< \_Tp \>)\
 An **SGI extension** .  template\<typename \_ForwardIterator, typename \_Tp\> constexpr void **iota** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, \_Tp \_\_value)\
 Create a range of sequentially increasing values.  template\<typename \_RAIter\> constexpr bool **is\_heap** (\_RAIter, \_RAIter)\
 template\<typename \_FIter\> constexpr bool **is\_sorted** (\_FIter, \_FIter)\
 template\<typename \_InputIterator1, typename \_InputIterator2\> int **lexicographical\_compare\_3way** (\_InputIterator1 \_\_first1, \_InputIterator1 \_\_last1, \_InputIterator2 \_\_first2, \_InputIterator2 \_\_last2)\
 memcmp on steroids.  template\<class \_Ret, class \_Tp, class \_Arg\> **std::const\_mem\_fun1\_t**\< \_Ret, \_Tp, \_Arg \> **mem\_fun1** (\_Ret(\_Tp::\*\_\_f)(\_Arg) const)\
 template\<class \_Ret, class \_Tp, class \_Arg\> **std::mem\_fun1\_t**\< \_Ret, \_Tp, \_Arg \> **mem\_fun1** (\_Ret(\_Tp::\*\_\_f)(\_Arg))\
 template\<class \_Ret, class \_Tp, class \_Arg\> **std::const\_mem\_fun1\_ref\_t**\< \_Ret, \_Tp, \_Arg \> **mem\_fun1\_ref** (\_Ret(\_Tp::\*\_\_f)(\_Arg) const)\
 template\<class \_Ret, class \_Tp, class \_Arg\> **std::mem\_fun1\_ref\_t**\< \_Ret, \_Tp, \_Arg \> **mem\_fun1\_ref** (\_Ret(\_Tp::\*\_\_f)(\_Arg))\
 template\<typename \_Tp1, typename \_Tp2\> bool **operator!=** (\_Tp1 \_\_lhs, const **\_Pointer\_adapter**\< \_Tp2 \> &\_\_rhs)\
 template\<typename \_CharT, typename \_Traits, typename \_Alloc, template\< typename, typename, typename \> class \_Base\> bool **operator!=** (const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_lhs, const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_rhs)\
 Test difference of two strings.  template\<typename \_CharT, typename \_Traits, typename \_Alloc, template\< typename, typename, typename \> class \_Base\> bool **operator!=** (const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_lhs, const \_CharT \*\_\_rhs)\
 Test difference of string and C string.  template\<typename \_CharT, typename \_Traits, typename \_Alloc, template\< typename, typename, typename \> class \_Base\> bool **operator!=** (const \_CharT \*\_\_lhs, const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_rhs)\
 Test difference of C string and string.  template\<typename \_Tp\> bool **operator!=** (const **\_Pointer\_adapter**\< \_Tp \> &\_\_lhs, const **\_Pointer\_adapter**\< \_Tp \> &\_\_rhs)\
 template\<typename \_Tp\> bool **operator!=** (const **\_Pointer\_adapter**\< \_Tp \> &\_\_lhs, int \_\_rhs)\
 template\<typename \_Tp1, typename \_Tp2\> bool **operator!=** (const **\_Pointer\_adapter**\< \_Tp1 \> &\_\_lhs, \_Tp2 \_\_rhs)\
 template\<typename \_Tp1, typename \_Tp2\> bool **operator!=** (const **\_Pointer\_adapter**\< \_Tp1 \> &\_\_lhs, const **\_Pointer\_adapter**\< \_Tp2 \> &\_\_rhs)\
 template\<class \_CharT, class \_Alloc\> bool **operator!=** (const \_Rope\_char\_ptr\_proxy\< \_CharT, \_Alloc \> &\_\_x, const \_Rope\_char\_ptr\_proxy\< \_CharT, \_Alloc \> &\_\_y)\
 template\<class \_CharT, class \_Alloc\> bool **operator!=** (const \_Rope\_const\_iterator\< \_CharT, \_Alloc \> &\_\_x, const \_Rope\_const\_iterator\< \_CharT, \_Alloc \> &\_\_y)\
 template\<class \_CharT, class \_Alloc\> bool **operator!=** (const \_Rope\_iterator\< \_CharT, \_Alloc \> &\_\_x, const \_Rope\_iterator\< \_CharT, \_Alloc \> &\_\_y)\
 template\<class \_Key, class \_Tp, class \_HashFn, class \_EqlKey, class \_Alloc\> bool **operator!=** (const **hash\_map**\< \_Key, \_Tp, \_HashFn, \_EqlKey, \_Alloc \> &\_\_hm1, const **hash\_map**\< \_Key, \_Tp, \_HashFn, \_EqlKey, \_Alloc \> &\_\_hm2)\
 template\<class \_Key, class \_Tp, class \_HF, class \_EqKey, class \_Alloc\> bool **operator!=** (const **hash\_multimap**\< \_Key, \_Tp, \_HF, \_EqKey, \_Alloc \> &\_\_hm1, const **hash\_multimap**\< \_Key, \_Tp, \_HF, \_EqKey, \_Alloc \> &\_\_hm2)\
 template\<class \_Val, class \_HashFcn, class \_EqualKey, class \_Alloc\> bool **operator!=** (const **hash\_multiset**\< \_Val, \_HashFcn, \_EqualKey, \_Alloc \> &\_\_hs1, const **hash\_multiset**\< \_Val, \_HashFcn, \_EqualKey, \_Alloc \> &\_\_hs2)\
 template\<class \_Value, class \_HashFcn, class \_EqualKey, class \_Alloc\> bool **operator!=** (const **hash\_set**\< \_Value, \_HashFcn, \_EqualKey, \_Alloc \> &\_\_hs1, const **hash\_set**\< \_Value, \_HashFcn, \_EqualKey, \_Alloc \> &\_\_hs2)\
 template\<class \_Val, class \_Key, class \_HF, class \_Ex, class \_Eq, class \_All\> bool **operator!=** (const hashtable\< \_Val, \_Key, \_HF, \_Ex, \_Eq, \_All \> &\_\_ht1, const hashtable\< \_Val, \_Key, \_HF, \_Ex, \_Eq, \_All \> &\_\_ht2)\
 template\<class \_CharT, class \_Alloc\> bool **operator!=** (const **rope**\< \_CharT, \_Alloc \> &\_\_x, const **rope**\< \_CharT, \_Alloc \> &\_\_y)\
 template\<class \_Tp, class \_Alloc\> bool **operator!=** (const **slist**\< \_Tp, \_Alloc \> &\_SL1, const **slist**\< \_Tp, \_Alloc \> &\_SL2)\
 template\<typename \_Tp\> bool **operator!=** (int \_\_lhs, const **\_Pointer\_adapter**\< \_Tp \> &\_\_rhs)\
 template\<typename \_Cond\> **throw\_value\_base**\< \_Cond \> **operator\*** (const **throw\_value\_base**\< \_Cond \> &\_\_a, const **throw\_value\_base**\< \_Cond \> &\_\_b)\
 template\<typename \_CharT, typename \_Traits, typename \_Alloc, template\< typename, typename, typename \> class \_Base\> **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> **operator+** (**\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &&\_\_lhs, **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &&\_\_rhs)\
 template\<typename \_CharT, typename \_Traits, typename \_Alloc, template\< typename, typename, typename \> class \_Base\> **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> **operator+** (**\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &&\_\_lhs, \_CharT \_\_rhs)\
 template\<typename \_CharT, typename \_Traits, typename \_Alloc, template\< typename, typename, typename \> class \_Base\> **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> **operator+** (**\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &&\_\_lhs, const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_rhs)\
 template\<typename \_CharT, typename \_Traits, typename \_Alloc, template\< typename, typename, typename \> class \_Base\> **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> **operator+** (**\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &&\_\_lhs, const \_CharT \*\_\_rhs)\
 template\<typename \_CharT, typename \_Traits, typename \_Alloc, template\< typename, typename, typename \> class \_Base\> **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> **operator+** (\_CharT \_\_lhs, **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &&\_\_rhs)\
 template\<typename \_CharT, typename \_Traits, typename \_Alloc, template\< typename, typename, typename \> class \_Base\> **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> **operator+** (\_CharT \_\_lhs, const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_rhs)\
 Concatenate character and string.  template\<typename \_CharT, typename \_Traits, typename \_Alloc, template\< typename, typename, typename \> class \_Base\> **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> **operator+** (const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_lhs, **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &&\_\_rhs)\
 template\<typename \_CharT, typename \_Traits, typename \_Alloc, template\< typename, typename, typename \> class \_Base\> **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> **operator+** (const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_lhs, \_CharT \_\_rhs)\
 Concatenate string and character.  template\<typename \_CharT, typename \_Traits, typename \_Alloc, template\< typename, typename, typename \> class \_Base\> **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> **operator+** (const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_lhs, const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_rhs)\
 Concatenate two strings.  template\<typename \_CharT, typename \_Traits, typename \_Alloc, template\< typename, typename, typename \> class \_Base\> **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> **operator+** (const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_lhs, const \_CharT \*\_\_rhs)\
 Concatenate string and C string.  template\<typename \_CharT, typename \_Traits, typename \_Alloc, template\< typename, typename, typename \> class \_Base\> **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> **operator+** (const \_CharT \*\_\_lhs, **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &&\_\_rhs)\
 template\<typename \_CharT, typename \_Traits, typename \_Alloc, template\< typename, typename, typename \> class \_Base\> **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> **operator+** (const \_CharT \*\_\_lhs, const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_rhs)\
 Concatenate C string and string.  template\<class \_CharT, class \_Alloc\> \_Rope\_const\_iterator\< \_CharT, \_Alloc \> **operator+** (const \_Rope\_const\_iterator\< \_CharT, \_Alloc \> &\_\_x, std::ptrdiff\_t \_\_n)\
 template\<class \_CharT, class \_Alloc\> \_Rope\_iterator\< \_CharT, \_Alloc \> **operator+** (const \_Rope\_iterator\< \_CharT, \_Alloc \> &\_\_x, std::ptrdiff\_t \_\_n)\
 template\<class \_CharT, class \_Alloc\> **rope**\< \_CharT, \_Alloc \> **operator+** (const **rope**\< \_CharT, \_Alloc \> &\_\_left, \_CharT \_\_right)\
 template\<class \_CharT, class \_Alloc\> **rope**\< \_CharT, \_Alloc \> **operator+** (const **rope**\< \_CharT, \_Alloc \> &\_\_left, const \_CharT \*\_\_right)\
 template\<class \_CharT, class \_Alloc\> **rope**\< \_CharT, \_Alloc \> **operator+** (const **rope**\< \_CharT, \_Alloc \> &\_\_left, const **rope**\< \_CharT, \_Alloc \> &\_\_right)\
 template\<typename \_Cond\> **throw\_value\_base**\< \_Cond \> **operator+** (const **throw\_value\_base**\< \_Cond \> &\_\_a, const **throw\_value\_base**\< \_Cond \> &\_\_b)\
 template\<class \_CharT, class \_Alloc\> \_Rope\_const\_iterator\< \_CharT, \_Alloc \> **operator+** (std::ptrdiff\_t \_\_n, const \_Rope\_const\_iterator\< \_CharT, \_Alloc \> &\_\_x)\
 template\<class \_CharT, class \_Alloc\> \_Rope\_iterator\< \_CharT, \_Alloc \> **operator+** (std::ptrdiff\_t \_\_n, const \_Rope\_iterator\< \_CharT, \_Alloc \> &\_\_x)\
 template\<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\<class \_CharT, class \_Alloc\> std::ptrdiff\_t **operator-** (const \_Rope\_const\_iterator\< \_CharT, \_Alloc \> &\_\_x, const \_Rope\_const\_iterator\< \_CharT, \_Alloc \> &\_\_y)\
 template\<class \_CharT, class \_Alloc\> \_Rope\_const\_iterator\< \_CharT, \_Alloc \> **operator-** (const \_Rope\_const\_iterator\< \_CharT, \_Alloc \> &\_\_x, std::ptrdiff\_t \_\_n)\
 template\<class \_CharT, class \_Alloc\> std::ptrdiff\_t **operator-** (const \_Rope\_iterator\< \_CharT, \_Alloc \> &\_\_x, const \_Rope\_iterator\< \_CharT, \_Alloc \> &\_\_y)\
 template\<class \_CharT, class \_Alloc\> \_Rope\_iterator\< \_CharT, \_Alloc \> **operator-** (const \_Rope\_iterator\< \_CharT, \_Alloc \> &\_\_x, std::ptrdiff\_t \_\_n)\
 template\<typename \_Cond\> **throw\_value\_base**\< \_Cond \> **operator-** (const **throw\_value\_base**\< \_Cond \> &\_\_a, const **throw\_value\_base**\< \_Cond \> &\_\_b)\
 template\<typename \_Tp1, typename \_Tp2\> bool **operator\<** (\_Tp1 \_\_lhs, const **\_Pointer\_adapter**\< \_Tp2 \> &\_\_rhs)\
 template\<typename \_CharT, typename \_Traits, typename \_Alloc, template\< typename, typename, typename \> class \_Base\> bool **operator\<** (const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_lhs, const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_rhs)\
 Test if string precedes string.  template\<typename \_CharT, typename \_Traits, typename \_Alloc, template\< typename, typename, typename \> class \_Base\> bool **operator\<** (const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_lhs, const \_CharT \*\_\_rhs)\
 Test if string precedes C string.  template\<typename \_CharT, typename \_Traits, typename \_Alloc, template\< typename, typename, typename \> class \_Base\> bool **operator\<** (const \_CharT \*\_\_lhs, const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_rhs)\
 Test if C string precedes string.  template\<typename \_Tp1, typename \_Tp2\> bool **operator\<** (const **\_Pointer\_adapter**\< \_Tp1 \> &\_\_lhs, \_Tp2 \_\_rhs)\
 template\<typename \_Tp1, typename \_Tp2\> bool **operator\<** (const **\_Pointer\_adapter**\< \_Tp1 \> &\_\_lhs, const **\_Pointer\_adapter**\< \_Tp2 \> &\_\_rhs)\
 template\<class \_CharT, class \_Alloc\> bool **operator\<** (const \_Rope\_const\_iterator\< \_CharT, \_Alloc \> &\_\_x, const \_Rope\_const\_iterator\< \_CharT, \_Alloc \> &\_\_y)\
 template\<class \_CharT, class \_Alloc\> bool **operator\<** (const \_Rope\_iterator\< \_CharT, \_Alloc \> &\_\_x, const \_Rope\_iterator\< \_CharT, \_Alloc \> &\_\_y)\
 template\<typename \_Value, typename \_Int, typename \_St\> bool **operator\<** (const **character**\< \_Value, \_Int, \_St \> &lhs, const **character**\< \_Value, \_Int, \_St \> &rhs)\
 template\<class \_CharT, class \_Alloc\> bool **operator\<** (const **rope**\< \_CharT, \_Alloc \> &\_\_left, const **rope**\< \_CharT, \_Alloc \> &\_\_right)\
 template\<class \_Tp, class \_Alloc\> bool **operator\<** (const **slist**\< \_Tp, \_Alloc \> &\_SL1, const **slist**\< \_Tp, \_Alloc \> &\_SL2)\
 template\<typename \_Cond\> bool **operator\<** (const **throw\_value\_base**\< \_Cond \> &\_\_a, const **throw\_value\_base**\< \_Cond \> &\_\_b)\
 template\<class \_CharT, class \_Traits, class \_Alloc\> **std::basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**std::basic\_ostream**\< \_CharT, \_Traits \> &\_\_o, const **rope**\< \_CharT, \_Alloc \> &\_\_r)\
 template\<typename \_RealType, typename \_CharT, typename \_Traits\> **std::basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**std::basic\_ostream**\< \_CharT, \_Traits \> &\_\_os, const \_\_gnu\_cxx::beta\_distribution\< \_RealType \> &\_\_x)\
 template\<typename \_UIntType, typename \_CharT, typename \_Traits\> **std::basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**std::basic\_ostream**\< \_CharT, \_Traits \> &\_\_os, const \_\_gnu\_cxx::hypergeometric\_distribution\< \_UIntType \> &\_\_x)\
 template\<size\_t \_Dimen, typename \_RealType, typename \_CharT, typename \_Traits\> **std::basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**std::basic\_ostream**\< \_CharT, \_Traits \> &\_\_os, const \_\_gnu\_cxx::normal\_mv\_distribution\< \_Dimen, \_RealType \> &\_\_x)\
 template\<typename \_UIntType, size\_t \_\_m, size\_t \_\_pos1, size\_t \_\_sl1, size\_t \_\_sl2, size\_t \_\_sr1, size\_t \_\_sr2, uint32\_t \_\_msk1, uint32\_t \_\_msk2, uint32\_t \_\_msk3, uint32\_t \_\_msk4, uint32\_t \_\_parity1, uint32\_t \_\_parity2, uint32\_t \_\_parity3, uint32\_t \_\_parity4, typename \_CharT, typename \_Traits\> **std::basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**std::basic\_ostream**\< \_CharT, \_Traits \> &\_\_os, const \_\_gnu\_cxx::simd\_fast\_mersenne\_twister\_engine\< \_UIntType, \_\_m, \_\_pos1, \_\_sl1, \_\_sl2, \_\_sr1, \_\_sr2, \_\_msk1, \_\_msk2, \_\_msk3, \_\_msk4, \_\_parity1, \_\_parity2, \_\_parity3, \_\_parity4 \> &\_\_x)\
 template\<typename \_RealType, typename \_CharT, typename \_Traits\> **std::basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**std::basic\_ostream**\< \_CharT, \_Traits \> &\_\_os, const \_\_gnu\_cxx::triangular\_distribution\< \_RealType \> &\_\_x)\
 template\<std::size\_t \_Dimen, typename \_RealType, typename \_CharT, typename \_Traits\> **std::basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**std::basic\_ostream**\< \_CharT, \_Traits \> &\_\_os, const \_\_gnu\_cxx::uniform\_inside\_sphere\_distribution\< \_Dimen, \_RealType \> &\_\_x)\
 template\<std::size\_t \_Dimen, typename \_RealType, typename \_CharT, typename \_Traits\> **std::basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**std::basic\_ostream**\< \_CharT, \_Traits \> &\_\_os, const \_\_gnu\_cxx::uniform\_on\_sphere\_distribution\< \_Dimen, \_RealType \> &\_\_x)\
 template\<typename \_RealType, typename \_CharT, typename \_Traits\> **std::basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**std::basic\_ostream**\< \_CharT, \_Traits \> &\_\_os, const \_\_gnu\_cxx::von\_mises\_distribution\< \_RealType \> &\_\_x)\
 template\<typename \_CharT, typename \_Traits, typename \_StoreT\> **std::basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**std::basic\_ostream**\< \_CharT, \_Traits \> &\_\_os, const **\_Pointer\_adapter**\< \_StoreT \> &\_\_p)\
 template\<typename \_RealType, typename \_CharT, typename \_Traits\> **std::basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**std::basic\_ostream**\< \_CharT, \_Traits \> &\_\_os, const arcsine\_distribution\< \_RealType \> &\_\_x)\
 template\<typename \_RealType, typename \_CharT, typename \_Traits\> **std::basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**std::basic\_ostream**\< \_CharT, \_Traits \> &\_\_os, const hoyt\_distribution\< \_RealType \> &\_\_x)\
 template\<typename \_RealType, typename \_CharT, typename \_Traits\> **std::basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**std::basic\_ostream**\< \_CharT, \_Traits \> &\_\_os, const k\_distribution\< \_RealType \> &\_\_x)\
 template\<typename \_RealType, typename \_CharT, typename \_Traits\> **std::basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**std::basic\_ostream**\< \_CharT, \_Traits \> &\_\_os, const logistic\_distribution\< \_RealType \> &\_\_x)\
 template\<typename \_RealType, typename \_CharT, typename \_Traits\> **std::basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**std::basic\_ostream**\< \_CharT, \_Traits \> &\_\_os, const nakagami\_distribution\< \_RealType \> &\_\_x)\
 template\<typename \_RealType, typename \_CharT, typename \_Traits\> **std::basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**std::basic\_ostream**\< \_CharT, \_Traits \> &\_\_os, const pareto\_distribution\< \_RealType \> &\_\_x)\
 template\<typename \_RealType, typename \_CharT, typename \_Traits\> **std::basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**std::basic\_ostream**\< \_CharT, \_Traits \> &\_\_os, const rice\_distribution\< \_RealType \> &\_\_x)\
 **std::ostream** & **operator\<\<** (**std::ostream** &os, const **annotate\_base** &\_\_b)\
 template\<typename \_Tp1, typename \_Tp2\> bool **operator\<=** (\_Tp1 \_\_lhs, const **\_Pointer\_adapter**\< \_Tp2 \> &\_\_rhs)\
 template\<typename \_CharT, typename \_Traits, typename \_Alloc, template\< typename, typename, typename \> class \_Base\> bool **operator\<=** (const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_lhs, const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_rhs)\
 Test if string doesn't follow string.  template\<typename \_CharT, typename \_Traits, typename \_Alloc, template\< typename, typename, typename \> class \_Base\> bool **operator\<=** (const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_lhs, const \_CharT \*\_\_rhs)\
 Test if string doesn't follow C string.  template\<typename \_CharT, typename \_Traits, typename \_Alloc, template\< typename, typename, typename \> class \_Base\> bool **operator\<=** (const \_CharT \*\_\_lhs, const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_rhs)\
 Test if C string doesn't follow string.  template\<typename \_Tp\> bool **operator\<=** (const **\_Pointer\_adapter**\< \_Tp \> &\_\_lhs, const **\_Pointer\_adapter**\< \_Tp \> &\_\_rhs)\
 template\<typename \_Tp1, typename \_Tp2\> bool **operator\<=** (const **\_Pointer\_adapter**\< \_Tp1 \> &\_\_lhs, \_Tp2 \_\_rhs)\
 template\<typename \_Tp1, typename \_Tp2\> bool **operator\<=** (const **\_Pointer\_adapter**\< \_Tp1 \> &\_\_lhs, const **\_Pointer\_adapter**\< \_Tp2 \> &\_\_rhs)\
 template\<class \_CharT, class \_Alloc\> bool **operator\<=** (const \_Rope\_const\_iterator\< \_CharT, \_Alloc \> &\_\_x, const \_Rope\_const\_iterator\< \_CharT, \_Alloc \> &\_\_y)\
 template\<class \_CharT, class \_Alloc\> bool **operator\<=** (const \_Rope\_iterator\< \_CharT, \_Alloc \> &\_\_x, const \_Rope\_iterator\< \_CharT, \_Alloc \> &\_\_y)\
 template\<class \_CharT, class \_Alloc\> bool **operator\<=** (const **rope**\< \_CharT, \_Alloc \> &\_\_x, const **rope**\< \_CharT, \_Alloc \> &\_\_y)\
 template\<class \_Tp, class \_Alloc\> bool **operator\<=** (const **slist**\< \_Tp, \_Alloc \> &\_SL1, const **slist**\< \_Tp, \_Alloc \> &\_SL2)\
 template\<typename \_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 \_Tp\> bool **operator==** (const **\_\_pool\_alloc**\< \_Tp \> &, const **\_\_pool\_alloc**\< \_Tp \> &)\
 template\<typename \_CharT, typename \_Traits, typename \_Alloc, template\< typename, typename, typename \> class \_Base\> bool **operator==** (const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_lhs, const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_rhs)\
 Test equivalence of two strings.  template\<typename \_CharT, typename \_Traits, typename \_Alloc, template\< typename, typename, typename \> class \_Base\> bool **operator==** (const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_lhs, const \_CharT \*\_\_rhs)\
 Test equivalence of string and C string.  template\<typename \_CharT, typename \_Traits, typename \_Alloc, template\< typename, typename, typename \> class \_Base\> bool **operator==** (const \_CharT \*\_\_lhs, const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_rhs)\
 Test equivalence of C string and string.  template\<typename \_Tp\> bool **operator==** (const **\_Pointer\_adapter**\< \_Tp \> &\_\_lhs, const **\_Pointer\_adapter**\< \_Tp \> &\_\_rhs)\
 template\<typename \_Tp\> bool **operator==** (const **\_Pointer\_adapter**\< \_Tp \> &\_\_lhs, int \_\_rhs)\
 template\<typename \_Tp1, typename \_Tp2\> bool **operator==** (const **\_Pointer\_adapter**\< \_Tp1 \> &\_\_lhs, \_Tp2 \_\_rhs)\
 template\<typename \_Tp1, typename \_Tp2\> bool **operator==** (const **\_Pointer\_adapter**\< \_Tp1 \> &\_\_lhs, const **\_Pointer\_adapter**\< \_Tp2 \> &\_\_rhs)\
 template\<class \_CharT, class \_Alloc\> bool **operator==** (const \_Rope\_char\_ptr\_proxy\< \_CharT, \_Alloc \> &\_\_x, const \_Rope\_char\_ptr\_proxy\< \_CharT, \_Alloc \> &\_\_y)\
 template\<class \_CharT, class \_Alloc\> bool **operator==** (const \_Rope\_const\_iterator\< \_CharT, \_Alloc \> &\_\_x, const \_Rope\_const\_iterator\< \_CharT, \_Alloc \> &\_\_y)\
 template\<class \_CharT, class \_Alloc\> bool **operator==** (const \_Rope\_iterator\< \_CharT, \_Alloc \> &\_\_x, const \_Rope\_iterator\< \_CharT, \_Alloc \> &\_\_y)\
 template\<typename \_Tp1, typename \_Tp2\> bool **operator==** (const **bitmap\_allocator**\< \_Tp1 \> &, const **bitmap\_allocator**\< \_Tp2 \> &)  throw ()\
 template\<typename \_Value, typename \_Int, typename \_St\> bool **operator==** (const **character**\< \_Value, \_Int, \_St \> &lhs, const **character**\< \_Value, \_Int, \_St \> &rhs)\
 template\<class \_Key, class \_Tp, class \_HashFn, class \_EqlKey, class \_Alloc\> bool **operator==** (const **hash\_map**\< \_Key, \_Tp, \_HashFn, \_EqlKey, \_Alloc \> &\_\_hm1, const **hash\_map**\< \_Key, \_Tp, \_HashFn, \_EqlKey, \_Alloc \> &\_\_hm2)\
 template\<class \_Key, class \_Tp, class \_HF, class \_EqKey, class \_Alloc\> bool **operator==** (const **hash\_multimap**\< \_Key, \_Tp, \_HF, \_EqKey, \_Alloc \> &\_\_hm1, const **hash\_multimap**\< \_Key, \_Tp, \_HF, \_EqKey, \_Alloc \> &\_\_hm2)\
 template\<class \_Val, class \_HashFcn, class \_EqualKey, class \_Alloc\> bool **operator==** (const **hash\_multiset**\< \_Val, \_HashFcn, \_EqualKey, \_Alloc \> &\_\_hs1, const **hash\_multiset**\< \_Val, \_HashFcn, \_EqualKey, \_Alloc \> &\_\_hs2)\
 template\<class \_Value, class \_HashFcn, class \_EqualKey, class \_Alloc\> bool **operator==** (const **hash\_set**\< \_Value, \_HashFcn, \_EqualKey, \_Alloc \> &\_\_hs1, const **hash\_set**\< \_Value, \_HashFcn, \_EqualKey, \_Alloc \> &\_\_hs2)\
 template\<class \_Val, class \_Key, class \_HF, class \_Ex, class \_Eq, class \_All\> bool **operator==** (const hashtable\< \_Val, \_Key, \_HF, \_Ex, \_Eq, \_All \> &\_\_ht1, const hashtable\< \_Val, \_Key, \_HF, \_Ex, \_Eq, \_All \> &\_\_ht2)\
 template\<class \_CharT, class \_Alloc\> bool **operator==** (const **rope**\< \_CharT, \_Alloc \> &\_\_left, const **rope**\< \_CharT, \_Alloc \> &\_\_right)\
 template\<class \_Tp, class \_Alloc\> bool **operator==** (const **slist**\< \_Tp, \_Alloc \> &\_SL1, const **slist**\< \_Tp, \_Alloc \> &\_SL2)\
 template\<typename \_Tp, typename \_Cond\> bool **operator==** (const **throw\_allocator\_base**\< \_Tp, \_Cond \> &, const **throw\_allocator\_base**\< \_Tp, \_Cond \> &)\
 template\<typename \_Cond\> bool **operator==** (const **throw\_value\_base**\< \_Cond \> &\_\_a, const **throw\_value\_base**\< \_Cond \> &\_\_b)\
 template\<typename \_Tp\> bool **operator==** (int \_\_lhs, const **\_Pointer\_adapter**\< \_Tp \> &\_\_rhs)\
 template\<typename \_Tp1, typename \_Tp2\> bool **operator\>** (\_Tp1 \_\_lhs, const **\_Pointer\_adapter**\< \_Tp2 \> &\_\_rhs)\
 template\<typename \_CharT, typename \_Traits, typename \_Alloc, template\< typename, typename, typename \> class \_Base\> bool **operator\>** (const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_lhs, const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_rhs)\
 Test if string follows string.  template\<typename \_CharT, typename \_Traits, typename \_Alloc, template\< typename, typename, typename \> class \_Base\> bool **operator\>** (const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_lhs, const \_CharT \*\_\_rhs)\
 Test if string follows C string.  template\<typename \_CharT, typename \_Traits, typename \_Alloc, template\< typename, typename, typename \> class \_Base\> bool **operator\>** (const \_CharT \*\_\_lhs, const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_rhs)\
 Test if C string follows string.  template\<typename \_Tp\> bool **operator\>** (const **\_Pointer\_adapter**\< \_Tp \> &\_\_lhs, const **\_Pointer\_adapter**\< \_Tp \> &\_\_rhs)\
 template\<typename \_Tp1, typename \_Tp2\> bool **operator\>** (const **\_Pointer\_adapter**\< \_Tp1 \> &\_\_lhs, \_Tp2 \_\_rhs)\
 template\<typename \_Tp1, typename \_Tp2\> bool **operator\>** (const **\_Pointer\_adapter**\< \_Tp1 \> &\_\_lhs, const **\_Pointer\_adapter**\< \_Tp2 \> &\_\_rhs)\
 template\<class \_CharT, class \_Alloc\> bool **operator\>** (const \_Rope\_const\_iterator\< \_CharT, \_Alloc \> &\_\_x, const \_Rope\_const\_iterator\< \_CharT, \_Alloc \> &\_\_y)\
 template\<class \_CharT, class \_Alloc\> bool **operator\>** (const \_Rope\_iterator\< \_CharT, \_Alloc \> &\_\_x, const \_Rope\_iterator\< \_CharT, \_Alloc \> &\_\_y)\
 template\<class \_CharT, class \_Alloc\> bool **operator\>** (const **rope**\< \_CharT, \_Alloc \> &\_\_x, const **rope**\< \_CharT, \_Alloc \> &\_\_y)\
 template\<class \_Tp, class \_Alloc\> bool **operator\>** (const **slist**\< \_Tp, \_Alloc \> &\_SL1, const **slist**\< \_Tp, \_Alloc \> &\_SL2)\
 template\<typename \_Tp1, typename \_Tp2\> bool **operator\>=** (\_Tp1 \_\_lhs, const **\_Pointer\_adapter**\< \_Tp2 \> &\_\_rhs)\
 template\<typename \_CharT, typename \_Traits, typename \_Alloc, template\< typename, typename, typename \> class \_Base\> bool **operator\>=** (const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_lhs, const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_rhs)\
 Test if string doesn't precede string.  template\<typename \_CharT, typename \_Traits, typename \_Alloc, template\< typename, typename, typename \> class \_Base\> bool **operator\>=** (const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_lhs, const \_CharT \*\_\_rhs)\
 Test if string doesn't precede C string.  template\<typename \_CharT, typename \_Traits, typename \_Alloc, template\< typename, typename, typename \> class \_Base\> bool **operator\>=** (const \_CharT \*\_\_lhs, const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_rhs)\
 Test if C string doesn't precede string.  template\<typename \_Tp\> bool **operator\>=** (const **\_Pointer\_adapter**\< \_Tp \> &\_\_lhs, const **\_Pointer\_adapter**\< \_Tp \> &\_\_rhs)\
 template\<typename \_Tp1, typename \_Tp2\> bool **operator\>=** (const **\_Pointer\_adapter**\< \_Tp1 \> &\_\_lhs, \_Tp2 \_\_rhs)\
 template\<typename \_Tp1, typename \_Tp2\> bool **operator\>=** (const **\_Pointer\_adapter**\< \_Tp1 \> &\_\_lhs, const **\_Pointer\_adapter**\< \_Tp2 \> &\_\_rhs)\
 template\<class \_CharT, class \_Alloc\> bool **operator\>=** (const \_Rope\_const\_iterator\< \_CharT, \_Alloc \> &\_\_x, const \_Rope\_const\_iterator\< \_CharT, \_Alloc \> &\_\_y)\
 template\<class \_CharT, class \_Alloc\> bool **operator\>=** (const \_Rope\_iterator\< \_CharT, \_Alloc \> &\_\_x, const \_Rope\_iterator\< \_CharT, \_Alloc \> &\_\_y)\
 template\<class \_CharT, class \_Alloc\> bool **operator\>=** (const **rope**\< \_CharT, \_Alloc \> &\_\_x, const **rope**\< \_CharT, \_Alloc \> &\_\_y)\
 template\<class \_Tp, class \_Alloc\> bool **operator\>=** (const **slist**\< \_Tp, \_Alloc \> &\_SL1, const **slist**\< \_Tp, \_Alloc \> &\_SL2)\
 template\<typename \_RealType, typename \_CharT, typename \_Traits\> **std::basic\_istream**\< \_CharT, \_Traits \> & **operator\>\>** (**std::basic\_istream**\< \_CharT, \_Traits \> &\_\_is, \_\_gnu\_cxx::beta\_distribution\< \_RealType \> &\_\_x)\
 template\<typename \_UIntType, typename \_CharT, typename \_Traits\> **std::basic\_istream**\< \_CharT, \_Traits \> & **operator\>\>** (**std::basic\_istream**\< \_CharT, \_Traits \> &\_\_is, \_\_gnu\_cxx::hypergeometric\_distribution\< \_UIntType \> &\_\_x)\
 template\<size\_t \_Dimen, typename \_RealType, typename \_CharT, typename \_Traits\> **std::basic\_istream**\< \_CharT, \_Traits \> & **operator\>\>** (**std::basic\_istream**\< \_CharT, \_Traits \> &\_\_is, \_\_gnu\_cxx::normal\_mv\_distribution\< \_Dimen, \_RealType \> &\_\_x)\
 template\<typename \_UIntType, size\_t \_\_m, size\_t \_\_pos1, size\_t \_\_sl1, size\_t \_\_sl2, size\_t \_\_sr1, size\_t \_\_sr2, uint32\_t \_\_msk1, uint32\_t \_\_msk2, uint32\_t \_\_msk3, uint32\_t \_\_msk4, uint32\_t \_\_parity1, uint32\_t \_\_parity2, uint32\_t \_\_parity3, uint32\_t \_\_parity4, typename \_CharT, typename \_Traits\> **std::basic\_istream**\< \_CharT, \_Traits \> & **operator\>\>** (**std::basic\_istream**\< \_CharT, \_Traits \> &\_\_is, \_\_gnu\_cxx::simd\_fast\_mersenne\_twister\_engine\< \_UIntType, \_\_m, \_\_pos1, \_\_sl1, \_\_sl2, \_\_sr1, \_\_sr2, \_\_msk1, \_\_msk2, \_\_msk3, \_\_msk4, \_\_parity1, \_\_parity2, \_\_parity3, \_\_parity4 \> &\_\_x)\
 template\<typename \_RealType, typename \_CharT, typename \_Traits\> **std::basic\_istream**\< \_CharT, \_Traits \> & **operator\>\>** (**std::basic\_istream**\< \_CharT, \_Traits \> &\_\_is, \_\_gnu\_cxx::triangular\_distribution\< \_RealType \> &\_\_x)\
 template\<std::size\_t \_Dimen, typename \_RealType, typename \_CharT, typename \_Traits\> **std::basic\_istream**\< \_CharT, \_Traits \> & **operator\>\>** (**std::basic\_istream**\< \_CharT, \_Traits \> &\_\_is, \_\_gnu\_cxx::uniform\_inside\_sphere\_distribution\< \_Dimen, \_RealType \> &\_\_x)\
 template\<std::size\_t \_Dimen, typename \_RealType, typename \_CharT, typename \_Traits\> **std::basic\_istream**\< \_CharT, \_Traits \> & **operator\>\>** (**std::basic\_istream**\< \_CharT, \_Traits \> &\_\_is, \_\_gnu\_cxx::uniform\_on\_sphere\_distribution\< \_Dimen, \_RealType \> &\_\_x)\
 template\<typename \_RealType, typename \_CharT, typename \_Traits\> **std::basic\_istream**\< \_CharT, \_Traits \> & **operator\>\>** (**std::basic\_istream**\< \_CharT, \_Traits \> &\_\_is, \_\_gnu\_cxx::von\_mises\_distribution\< \_RealType \> &\_\_x)\
 template\<typename \_RealType, typename \_CharT, typename \_Traits\> **std::basic\_istream**\< \_CharT, \_Traits \> & **operator\>\>** (**std::basic\_istream**\< \_CharT, \_Traits \> &\_\_is, arcsine\_distribution\< \_RealType \> &\_\_x)\
 template\<typename \_RealType, typename \_CharT, typename \_Traits\> **std::basic\_istream**\< \_CharT, \_Traits \> & **operator\>\>** (**std::basic\_istream**\< \_CharT, \_Traits \> &\_\_is, hoyt\_distribution\< \_RealType \> &\_\_x)\
 template\<typename \_RealType, typename \_CharT, typename \_Traits\> **std::basic\_istream**\< \_CharT, \_Traits \> & **operator\>\>** (**std::basic\_istream**\< \_CharT, \_Traits \> &\_\_is, k\_distribution\< \_RealType \> &\_\_x)\
 template\<typename \_RealType, typename \_CharT, typename \_Traits\> **std::basic\_istream**\< \_CharT, \_Traits \> & **operator\>\>** (**std::basic\_istream**\< \_CharT, \_Traits \> &\_\_is, logistic\_distribution\< \_RealType \> &\_\_x)\
 template\<typename \_RealType, typename \_CharT, typename \_Traits\> **std::basic\_istream**\< \_CharT, \_Traits \> & **operator\>\>** (**std::basic\_istream**\< \_CharT, \_Traits \> &\_\_is, nakagami\_distribution\< \_RealType \> &\_\_x)\
 template\<typename \_RealType, typename \_CharT, typename \_Traits\> **std::basic\_istream**\< \_CharT, \_Traits \> & **operator\>\>** (**std::basic\_istream**\< \_CharT, \_Traits \> &\_\_is, pareto\_distribution\< \_RealType \> &\_\_x)\
 template\<typename \_RealType, typename \_CharT, typename \_Traits\> **std::basic\_istream**\< \_CharT, \_Traits \> & **operator\>\>** (**std::basic\_istream**\< \_CharT, \_Traits \> &\_\_is, rice\_distribution\< \_RealType \> &\_\_x)\
 template\<typename \_Tp, typename \_Integer\> \_Tp **power** (\_Tp \_\_x, \_Integer \_\_n)\
 template\<typename \_Tp, typename \_Integer, typename \_MonoidOperation\> \_Tp **power** (\_Tp \_\_x, \_Integer \_\_n, \_MonoidOperation \_\_monoid\_op)\
 template\<typename \_InputIterator, typename \_RandomAccessIterator\> \_RandomAccessIterator **random\_sample** (\_InputIterator \_\_first, \_InputIterator \_\_last, \_RandomAccessIterator \_\_out\_first, \_RandomAccessIterator \_\_out\_last)\
 template\<typename \_InputIterator, typename \_RandomAccessIterator, typename \_RandomNumberGenerator\> \_RandomAccessIterator **random\_sample** (\_InputIterator \_\_first, \_InputIterator \_\_last, \_RandomAccessIterator \_\_out\_first, \_RandomAccessIterator \_\_out\_last, \_RandomNumberGenerator &\_\_rand)\
 template\<typename \_ForwardIterator, typename \_OutputIterator, typename \_Distance\> \_OutputIterator **random\_sample\_n** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, \_OutputIterator \_\_out, const \_Distance \_\_n)\
 template\<typename \_ForwardIterator, typename \_OutputIterator, typename \_Distance, typename \_RandomNumberGenerator\> \_OutputIterator **random\_sample\_n** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, \_OutputIterator \_\_out, const \_Distance \_\_n, \_RandomNumberGenerator &\_\_rand)\
 void **rotate** (\_Rope\_iterator\< char, \_\_STL\_DEFAULT\_ALLOCATOR(char)\> \_\_first, \_Rope\_iterator\< char, \_\_STL\_DEFAULT\_ALLOCATOR(char)\> \_\_middle, \_Rope\_iterator\< char, \_\_STL\_DEFAULT\_ALLOCATOR(char)\> \_\_last)\
 double **stod** (const \_\_vstring &\_\_str, std::size\_t \*\_\_idx=0)\
 double **stod** (const \_\_wvstring &\_\_str, std::size\_t \*\_\_idx=0)\
 float **stof** (const \_\_vstring &\_\_str, std::size\_t \*\_\_idx=0)\
 float **stof** (const \_\_wvstring &\_\_str, std::size\_t \*\_\_idx=0)\
 int **stoi** (const \_\_vstring &\_\_str, std::size\_t \*\_\_idx=0, int \_\_base=10)\
 int **stoi** (const \_\_wvstring &\_\_str, std::size\_t \*\_\_idx=0, int \_\_base=10)\
 long **stol** (const \_\_vstring &\_\_str, std::size\_t \*\_\_idx=0, int \_\_base=10)\
 long **stol** (const \_\_wvstring &\_\_str, std::size\_t \*\_\_idx=0, int \_\_base=10)\
 long double **stold** (const \_\_vstring &\_\_str, std::size\_t \*\_\_idx=0)\
 long double **stold** (const \_\_wvstring &\_\_str, std::size\_t \*\_\_idx=0)\
 long long **stoll** (const \_\_vstring &\_\_str, std::size\_t \*\_\_idx=0, int \_\_base=10)\
 long long **stoll** (const \_\_wvstring &\_\_str, std::size\_t \*\_\_idx=0, int \_\_base=10)\
 unsigned long **stoul** (const \_\_vstring &\_\_str, std::size\_t \*\_\_idx=0, int \_\_base=10)\
 unsigned long **stoul** (const \_\_wvstring &\_\_str, std::size\_t \*\_\_idx=0, int \_\_base=10)\
 unsigned long long **stoull** (const \_\_vstring &\_\_str, std::size\_t \*\_\_idx, int \_\_base=10)\
 unsigned long long **stoull** (const \_\_wvstring &\_\_str, std::size\_t \*\_\_idx=0, int \_\_base=10)\
 template\<typename \_CharT, typename \_Traits, typename \_Alloc, template\< typename, typename, typename \> class \_Base\> void **swap** (**\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_lhs, **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_rhs)\
 Swap contents of two strings.  template\<typename \_Tp\> void **swap** (**\_ExtPtr\_allocator**\< \_Tp \> &\_\_larg, **\_ExtPtr\_allocator**\< \_Tp \> &\_\_rarg)\
 template\<class \_CharT, class \_\_Alloc\> void **swap** (\_Rope\_char\_ref\_proxy\< \_CharT, \_\_Alloc \> \_\_a, \_Rope\_char\_ref\_proxy\< \_CharT, \_\_Alloc \> \_\_b)\
 template\<class \_Key, class \_Tp, class \_HashFn, class \_EqlKey, class \_Alloc\> void **swap** (**hash\_map**\< \_Key, \_Tp, \_HashFn, \_EqlKey, \_Alloc \> &\_\_hm1, **hash\_map**\< \_Key, \_Tp, \_HashFn, \_EqlKey, \_Alloc \> &\_\_hm2)\
 template\<class \_Key, class \_Tp, class \_HashFn, class \_EqlKey, class \_Alloc\> void **swap** (**hash\_multimap**\< \_Key, \_Tp, \_HashFn, \_EqlKey, \_Alloc \> &\_\_hm1, **hash\_multimap**\< \_Key, \_Tp, \_HashFn, \_EqlKey, \_Alloc \> &\_\_hm2)\
 template\<class \_Val, class \_HashFcn, class \_EqualKey, class \_Alloc\> void **swap** (**hash\_multiset**\< \_Val, \_HashFcn, \_EqualKey, \_Alloc \> &\_\_hs1, **hash\_multiset**\< \_Val, \_HashFcn, \_EqualKey, \_Alloc \> &\_\_hs2)\
 template\<class \_Val, class \_HashFcn, class \_EqualKey, class \_Alloc\> void **swap** (**hash\_set**\< \_Val, \_HashFcn, \_EqualKey, \_Alloc \> &\_\_hs1, **hash\_set**\< \_Val, \_HashFcn, \_EqualKey, \_Alloc \> &\_\_hs2)\
 template\<class \_Val, class \_Key, class \_HF, class \_Extract, class \_EqKey, class \_All\> void **swap** (hashtable\< \_Val, \_Key, \_HF, \_Extract, \_EqKey, \_All \> &\_\_ht1, hashtable\< \_Val, \_Key, \_HF, \_Extract, \_EqKey, \_All \> &\_\_ht2)\
 template\<class \_CharT, class \_Alloc\> void **swap** (**rope**\< \_CharT, \_Alloc \> &\_\_x, **rope**\< \_CharT, \_Alloc \> &\_\_y)\
 template\<class \_Tp, class \_Alloc\> void **swap** (**slist**\< \_Tp, \_Alloc \> &\_\_x, **slist**\< \_Tp, \_Alloc \> &\_\_y)\
 template\<typename \_Cond\> void **swap** (**throw\_value\_base**\< \_Cond \> &\_\_a, **throw\_value\_base**\< \_Cond \> &\_\_b)\
 \_\_vstring **to\_string** (double \_\_val)\
 \_\_vstring **to\_string** (float \_\_val)\
 \_\_vstring **to\_string** (int \_\_val)\
 \_\_vstring **to\_string** (long \_\_val)\
 \_\_vstring **to\_string** (long double \_\_val)\
 \_\_vstring **to\_string** (long long \_\_val)\
 \_\_vstring **to\_string** (unsigned \_\_val)\
 \_\_vstring **to\_string** (unsigned long \_\_val)\
 \_\_vstring **to\_string** (unsigned long long \_\_val)\
 \_\_wvstring **to\_wstring** (double \_\_val)\
 \_\_wvstring **to\_wstring** (float \_\_val)\
 \_\_wvstring **to\_wstring** (int \_\_val)\
 \_\_wvstring **to\_wstring** (long \_\_val)\
 \_\_wvstring **to\_wstring** (long double \_\_val)\
 \_\_wvstring **to\_wstring** (long long \_\_val)\
 \_\_wvstring **to\_wstring** (unsigned \_\_val)\
 \_\_wvstring **to\_wstring** (unsigned long \_\_val)\
 \_\_wvstring **to\_wstring** (unsigned long long \_\_val)\
 template\<typename \_InputIter, typename \_Size, typename \_ForwardIter\> **std::pair**\< \_InputIter, \_ForwardIter \> **uninitialized\_copy\_n** (\_InputIter \_\_first, \_Size \_\_count, \_ForwardIter \_\_result)\
 Copies the range \[first,last) into result.

### Variables

const \_Lock\_policy **\_\_default\_lock\_policy**\
 template\<typename \_RealType\> constexpr \_RealType **\_\_math\_constants\< \_RealType \>::\_\_e**\
 template\<typename \_RealType\> constexpr \_RealType **\_\_math\_constants\< \_RealType \>::\_\_gamma\_e**\
 template\<typename \_RealType\> constexpr \_RealType **\_\_math\_constants\< \_RealType \>::\_\_ln\_10**\
 template\<typename \_RealType\> constexpr \_RealType **\_\_math\_constants\< \_RealType \>::\_\_ln\_2**\
 template\<typename \_RealType\> constexpr \_RealType **\_\_math\_constants\< \_RealType \>::\_\_ln\_3**\
 template\<typename \_RealType\> constexpr \_RealType **\_\_math\_constants\< \_RealType \>::\_\_log10\_e**\
 template\<typename \_RealType\> constexpr \_RealType **\_\_math\_constants\< \_RealType \>::\_\_log2\_e**\
 template\<typename \_RealType\> constexpr \_RealType **\_\_math\_constants\< \_RealType \>::\_\_one\_div\_e**\
 template\<typename \_RealType\> constexpr \_RealType **\_\_math\_constants\< \_RealType \>::\_\_one\_div\_pi**\
 template\<typename \_RealType\> constexpr \_RealType **\_\_math\_constants\< \_RealType \>::\_\_one\_div\_root\_2**\
 template\<typename \_RealType\> constexpr \_RealType **\_\_math\_constants\< \_RealType \>::\_\_phi**\
 template\<typename \_RealType\> constexpr \_RealType **\_\_math\_constants\< \_RealType \>::\_\_pi**\
 template\<typename \_RealType\> constexpr \_RealType **\_\_math\_constants\< \_RealType \>::\_\_pi\_half**\
 template\<typename \_RealType\> constexpr \_RealType **\_\_math\_constants\< \_RealType \>::\_\_pi\_quarter**\
 template\<typename \_RealType\> constexpr \_RealType **\_\_math\_constants\< \_RealType \>::\_\_pi\_third**\
 template\<typename \_RealType\> constexpr \_RealType **\_\_math\_constants\< \_RealType \>::\_\_root\_2**\
 template\<typename \_RealType\> constexpr \_RealType **\_\_math\_constants\< \_RealType \>::\_\_root\_3**\
 template\<typename \_RealType\> constexpr \_RealType **\_\_math\_constants\< \_RealType \>::\_\_root\_5**\
 template\<typename \_RealType\> constexpr \_RealType **\_\_math\_constants\< \_RealType \>::\_\_root\_7**\
 template\<typename \_RealType\> constexpr \_RealType **\_\_math\_constants\< \_RealType \>::\_\_root\_pi\_div\_2**\
 template\<typename \_RealType\> constexpr \_RealType **\_\_math\_constants\< \_RealType \>::\_\_two\_div\_pi**\
 template\<typename \_RealType\> constexpr \_RealType **\_\_math\_constants\< \_RealType \>::\_\_two\_div\_root\_pi**\
 template\<typename \_Value\> const int **\_\_numeric\_traits\_floating\< \_Value \>::\_\_digits10**\
 template\<typename \_Value\> const bool **\_\_numeric\_traits\_floating\< \_Value \>::\_\_is\_signed**\
 template\<typename \_Value\> const int **\_\_numeric\_traits\_floating\< \_Value \>::\_\_max\_digits10**\
 template\<typename \_Value\> const int **\_\_numeric\_traits\_floating\< \_Value \>::\_\_max\_exponent10**\
 template\<typename \_Value\> const int **\_\_numeric\_traits\_integer\< \_Value \>::\_\_digits**\
 template\<typename \_Value\> const bool **\_\_numeric\_traits\_integer\< \_Value \>::\_\_is\_signed**\
 template\<typename \_Value\> const \_Value **\_\_numeric\_traits\_integer\< \_Value \>::\_\_max**\
 template\<typename \_Value\> const \_Value **\_\_numeric\_traits\_integer\< \_Value \>::\_\_min**\
 template\<typename \_Tp\> \_Atomic\_word **\_\_pool\_alloc\< \_Tp \>::\_S\_force\_new**\
 template\<typename \_CharT, typename \_Traits, typename \_Alloc\> **\_\_rc\_string\_base**\< \_CharT, \_Traits, \_Alloc \>::\_Rep\_empty **\_\_rc\_string\_base\< \_CharT, \_Traits, \_Alloc \>::\_S\_empty\_rep**\
 template\<typename \_CharT, typename \_Traits, typename \_Alloc, template\< typename, typename, typename \> class \_Base\> const **\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \>::size\_type **\_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \>::npos**\
 template\<typename \_PrimeType\> const \_PrimeType **\_Hashtable\_prime\_list\< \_PrimeType \>::\_\_stl\_prime\_list** \[\_S\_num\_primes\]\
 template\<typename \_Tp\> std::size\_t **bitmap\_allocator\< \_Tp \>::\_S\_block\_size**\
 template\<typename \_Tp\> **bitmap\_allocator**\< \_Tp \>::\_BPVector::size\_type **bitmap\_allocator\< \_Tp \>::\_S\_last\_dealloc\_index**\
 template\<typename \_Tp\> **bitmap\_allocator**\< \_Tp \>::\_BPVector **bitmap\_allocator\< \_Tp \>::\_S\_mem\_blocks**\
 template\<typename \_Tp\> **bitmap\_allocator**\< \_Tp \>::\_\_mutex\_type **bitmap\_allocator\< \_Tp \>::\_S\_mut**\
 template\<class \_CharT, class \_Alloc\> **rope**\< \_CharT, \_Alloc \> **identity\_element** (\_Rope\_Concat\_fn\< \_CharT, \_Alloc \>)\
 template\<class \_CharT, class \_Alloc\> \_CharT **rope\< \_CharT, \_Alloc \>::\_S\_empty\_c\_str** \[1\]\
 template\<class \_CharT, class \_Alloc\> const unsigned long **rope\< \_CharT, \_Alloc \>::\_S\_min\_len** \[int(\_\_detail::\_S\_max\_rope\_depth)+1\]\
 template\<class \_CharT, class \_Alloc\> const **rope**\< \_CharT, \_Alloc \>::size\_type **rope\< \_CharT, \_Alloc \>::npos**\

## Detailed Description

GNU extensions for public use.

## Typedef Documentation

### template\<typename \_Tp\> using \_\_gnu\_cxx::\_\_int\_traits

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

## Function Documentation

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

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

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

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

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

Generic Version of the bsf instruction.

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

### template\<typename \_ForwardIterator, typename \_Tp\> void std::iota (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, \_Tp \_\_value) \[constexpr\]

Create a range of sequentially increasing values. For each element in the range \[first,last) assigns value and increments value as if by ++value.

**Parameters**

*\_\_first* Start of range. \
 *\_\_last* End of range. \
 *\_\_value* Starting value.

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

Test difference of two strings.

**Parameters**

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

**Returns**

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

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

Test difference of string and C string.

**Parameters**

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

**Returns**

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

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

Test difference of C string and string.

**Parameters**

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

**Returns**

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

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

Concatenate character and string.

**Parameters**

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

**Returns**

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

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

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

Concatenate string and character.

**Parameters**

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

**Returns**

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

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

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

Concatenate two strings.

**Parameters**

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

**Returns**

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

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

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

Concatenate string and C string.

**Parameters**

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

**Returns**

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

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

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

Concatenate C string and string.

**Parameters**

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

**Returns**

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

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

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

Test if string precedes string.

**Parameters**

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

**Returns**

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

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

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

Test if string precedes C string.

**Parameters**

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

**Returns**

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

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

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

Test if C string precedes string.

**Parameters**

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

**Returns**

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

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

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

Test if string doesn't follow string.

**Parameters**

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

**Returns**

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

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

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

Test if string doesn't follow C string.

**Parameters**

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

**Returns**

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

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

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

Test if C string doesn't follow string.

**Parameters**

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

**Returns**

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

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

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

Test equivalence of two strings.

**Parameters**

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

**Returns**

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

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

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

Test equivalence of string and C string.

**Parameters**

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

**Returns**

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

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

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

Test equivalence of C string and string.

**Parameters**

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

**Returns**

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

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

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

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

Test if string follows string.

**Parameters**

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

**Returns**

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

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

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

Test if string follows C string.

**Parameters**

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

**Returns**

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

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

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

Test if C string follows string.

**Parameters**

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

**Returns**

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

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

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

Test if string doesn't precede string.

**Parameters**

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

**Returns**

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

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

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

Test if string doesn't precede C string.

**Parameters**

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

**Returns**

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

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

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

Test if C string doesn't precede string.

**Parameters**

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

**Returns**

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

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

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

Swap contents of two strings.

**Parameters**

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

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

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

## Author

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