---
name: "Namespace_Std"
section: "3"
platform: "linux"
package: "libstdc++5-3.3-doc"
version: "1:3.3.6-15"
release: "Debian 4.0 (Etch)"
platforms: ["linux"]
url: "https://new.carta.tech/Namespace_Std"
---

# Namespace\_Std(3)

Everything defined by the ISO C++ Standard is within namespace std.

## NAME

std - Everything defined by the ISO C++ Standard is within namespace std.

## SYNOPSIS

### Classes

class **exception**\
 *Base class for all library exceptions.*  class **bad\_exception**\
 class **bad\_alloc**\
 *Exception possibly thrown by* `new`*.*  struct **nothrow\_t**\
 class **type\_info**\
 *Part of RTTI.*  class **bad\_cast**\
 *Thrown during incorrect typecasting.*  class **bad\_typeid**\
 class **strstreambuf**\
 class **istrstream**\
 class **ostrstream**\
 class **strstream**\
 class **basic\_ios**\
 *Virtual base class for all stream classes.*  class **basic\_string**\
 *Managing sequences of characters and character-like objects.*  struct **char\_traits**\
 *Basis for explicit traits specializations.*  struct **char\_traits\< char \>**\
 *21.1.3.1* **char\_traits** *specializations*  struct **Char\_traits\_match**\
 struct **\_\_is\_void**\
 struct **\_\_is\_void\< void \>**\
 struct **\_\_is\_integer**\
 struct **\_\_is\_integer\< bool \>**\
 struct **\_\_is\_integer\< char \>**\
 struct **\_\_is\_integer\< signed char \>**\
 struct **\_\_is\_integer\< unsigned char \>**\
 struct **\_\_is\_integer\< short \>**\
 struct **\_\_is\_integer\< unsigned short \>**\
 struct **\_\_is\_integer\< int \>**\
 struct **\_\_is\_integer\< unsigned int \>**\
 struct **\_\_is\_integer\< long \>**\
 struct **\_\_is\_integer\< unsigned long \>**\
 struct **\_\_is\_integer\< long long \>**\
 struct **\_\_is\_integer\< unsigned long long \>**\
 struct **\_\_is\_floating**\
 struct **\_\_is\_floating\< float \>**\
 struct **\_\_is\_floating\< double \>**\
 struct **\_\_is\_floating\< long double \>**\
 struct **\_\_is\_arithmetic**\
 struct **\_\_is\_fundamental**\
 struct **\_\_is\_pod**\
 class **fpos**\
 class **gslice**\
 class **gslice\_array**\
 class **indirect\_array**\
 class **ios\_base**\
 *The very top of the I/O class hierarchy.*  class **locale**\
 struct **\_\_pad**\
 class **ctype\_abstract\_base**\
 class **ctype**\
 class **ctype\< char \>**\
 class **ctype\_byname**\
 class **num\_base**\
 class **numpunct**\
 class **numpunct\_byname**\
 class **num\_get**\
 class **num\_put**\
 class **collate**\
 class **collate\_byname**\
 class **time\_base**\
 class **\_\_timepunct**\
 class **time\_get**\
 class **time\_get\_byname**\
 class **time\_put**\
 class **time\_put\_byname**\
 class **money\_base**\
 class **moneypunct**\
 class **moneypunct\_byname**\
 class **money\_get**\
 class **money\_put**\
 struct **messages\_base**\
 class **messages**\
 class **messages\_byname**\
 class **\_\_locale\_cache\_base**\
 class **\_\_locale\_cache**\
 class **\_\_locale\_cache\< numpunct\< CharT \> \>**\
 class **mask\_array**\
 union **Pthread\_alloc\_obj**\
 struct **Pthread\_alloc\_per\_thread\_state**\
 class **Pthread\_alloc\_template**\
 class **pthread\_allocator**\
 class **pthread\_allocator\< void \>**\
 struct **Alloc\_traits\< Type, Pthread\_alloc\_template\< Max\_size \> \>**\
 struct **Alloc\_traits\< Type, allocator\< Atype, Pthread\_alloc\_template\< Max \> \> \>**\
 struct **Alloc\_traits\< Type, pthread\_allocator\< Atype \> \>**\
 class **slice**\
 class **slice\_array**\
 struct **copy\_backward\_dispatch**\
 struct **copy\_backward\_dispatch\< Type \*, Type \*, \_\_true\_type \>**\
 struct **copy\_backward\_dispatch\< const Type \*, Type \*, \_\_true\_type \>**\
 class **new\_alloc**\
 class **\_\_malloc\_alloc\_template**\
 class **simple\_alloc**\
 class **\_\_debug\_alloc**\
 class **\_\_default\_alloc\_template**\
 struct **allocator**\
 *The 'standard' allocator, as per \[20.4\].*  class **allocator\< void \>**\
 struct **allocator\< void, Alloc \>**\
 struct **Alloc\_traits**\
 struct **Alloc\_traits\< Type, allocator\< Type1 \> \>**\
 *The version for the default allocator.*  struct **Alloc\_traits\< Type, \_\_malloc\_alloc\_template\< inst \> \>**\
 *Versions for the predefined 'SGI' style allocators.*  struct **Alloc\_traits\< Type, \_\_default\_alloc\_template\< \_\_threads, inst \> \>**\
 struct **Alloc\_traits\< Type, \_\_debug\_alloc\< Alloc \> \>**\
 struct **Alloc\_traits\< Type, allocator\< Type1, \_\_malloc\_alloc\_template\< inst \> \> \>**\
 *'SGI' style allocators.*  struct **Alloc\_traits\< Type, allocator\< Type1, \_\_default\_alloc\_template\< \_\_thr, inst \> \> \>**\
 struct **Alloc\_traits\< Type, allocator\< Type1, \_\_debug\_alloc\< Alloc \> \> \>**\
 struct **Bit\_reference**\
 struct **Bit\_iterator\_base**\
 struct **Bit\_iterator**\
 struct **Bit\_const\_iterator**\
 class **Bvector\_alloc\_base**\
 class **Bvector\_alloc\_base\< Allocator, true \>**\
 class **Bvector\_base**\
 class **vector\< bool, Alloc \>**\
 struct **Deque\_iterator**\
 *A* **deque::iterator***.*  class **Deque\_alloc\_base**\
 class **Deque\_alloc\_base\< Type, Alloc, true \>**\
 class **Deque\_base**\
 class **deque**\
 *A standard container using fixed-size memory allocation and constant-time manipulation of elements at either end.*  struct **unary\_function**\
 struct **binary\_function**\
 struct **plus**\
 *One of the* **math functors***.*  struct **minus**\
 *One of the* **math functors***.*  struct **multiplies**\
 *One of the* **math functors***.*  struct **divides**\
 *One of the* **math functors***.*  struct **modulus**\
 *One of the* **math functors***.*  struct **negate**\
 *One of the* **math functors***.*  struct **equal\_to**\
 *One of the* **comparison functors***.*  struct **not\_equal\_to**\
 *One of the* **comparison functors***.*  struct **greater**\
 *One of the* **comparison functors***.*  struct **less**\
 *One of the* **comparison functors***.*  struct **greater\_equal**\
 *One of the* **comparison functors***.*  struct **less\_equal**\
 *One of the* **comparison functors***.*  struct **logical\_and**\
 *One of the* **Boolean operations functors***.*  struct **logical\_or**\
 *One of the* **Boolean operations functors***.*  struct **logical\_not**\
 *One of the* **Boolean operations functors***.*  class **unary\_negate**\
 *One of the* **negation functors***.*  class **binary\_negate**\
 *One of the* **negation functors***.*  class **binder1st**\
 *One of the* **binder functors***.*  class **binder2nd**\
 *One of the* **binder functors***.*  class **pointer\_to\_unary\_function**\
 *One of the* **adaptors for function pointers***.*  class **pointer\_to\_binary\_function**\
 *One of the* **adaptors for function pointers***.*  struct **Identity**\
 struct **Select1st**\
 struct **Select2nd**\
 class **mem\_fun\_t**\
 *One of the* **adaptors for member pointers***.*  class **const\_mem\_fun\_t**\
 *One of the* **adaptors for member pointers***.*  class **mem\_fun\_ref\_t**\
 *One of the* **adaptors for member pointers***.*  class **const\_mem\_fun\_ref\_t**\
 *One of the* **adaptors for member pointers***.*  class **mem\_fun1\_t**\
 *One of the* **adaptors for member pointers***.*  class **const\_mem\_fun1\_t**\
 *One of the* **adaptors for member pointers***.*  class **mem\_fun1\_ref\_t**\
 *One of the* **adaptors for member pointers***.*  class **const\_mem\_fun1\_ref\_t**\
 *One of the* **adaptors for member pointers***.*  class **mem\_fun\_t\< void, Type \>**\
 *One of the* **adaptors for member pointers***.*  class **const\_mem\_fun\_t\< void, Type \>**\
 *One of the* **adaptors for member pointers***.*  class **mem\_fun\_ref\_t\< void, Type \>**\
 *One of the* **adaptors for member pointers***.*  class **const\_mem\_fun\_ref\_t\< void, Type \>**\
 *One of the* **adaptors for member pointers***.*  class **mem\_fun1\_t\< void, Type, Arg \>**\
 *One of the* **adaptors for member pointers***.*  class **const\_mem\_fun1\_t\< void, Type, Arg \>**\
 *One of the* **adaptors for member pointers***.*  class **mem\_fun1\_ref\_t\< void, Type, Arg \>**\
 *One of the* **adaptors for member pointers***.*  class **const\_mem\_fun1\_ref\_t\< void, Type, Arg \>**\
 *One of the* **adaptors for member pointers***.*  class **reverse\_iterator**\
 class **back\_insert\_iterator**\
 *Turns assignment into insertion.*  class **front\_insert\_iterator**\
 *Turns assignment into insertion.*  class **insert\_iterator**\
 *Turns assignment into insertion.*  struct **input\_iterator\_tag**\
 *Marking input iterators.*  struct **output\_iterator\_tag**\
 *Marking output iterators.*  struct **forward\_iterator\_tag**\
 *Forward iterators support a superset of input iterator operations.*  struct **bidirectional\_iterator\_tag**\
 *Bidirectional iterators support a superset of forward iterator operations.*  struct **random\_access\_iterator\_tag**\
 *Random-access iterators support a superset of bidirectional iterator operations.*  struct **iterator**\
 *Common iterator class.*  struct **iterator\_traits**\
 struct **iterator\_traits\< Type \* \>**\
 struct **iterator\_traits\< const Type \* \>**\
 struct **List\_node\_base**\
 struct **List\_node**\
 struct **List\_iterator\_base**\
 struct **List\_iterator**\
 *A* **list::iterator***.*  class **List\_alloc\_base**\
 class **List\_alloc\_base\< Type, Allocator, true \>**\
 class **List\_base**\
 class **list**\
 *A standard container with linear time access to elements, and fixed time insertion/deletion at any point in the sequence.*  class **map**\
 *A standard container made up of (key,value) pairs, which can be retrieved based on a key, in logarithmic time.*  class **multimap**\
 *A standard container made up of (key,value) pairs, which can be retrieved based on a key, in logarithmic time.*  class **multiset**\
 struct **pair**\
 *pair holds two objects of arbitrary type.*  class **queue**\
 *A standard container giving FIFO behavior.*  class **priority\_queue**\
 *A standard container automatically sorting its contents.*  class **raw\_storage\_iterator**\
 class **set**\
 class **stack**\
 *A standard container giving FILO behavior.*  class **Temporary\_buffer**\
 struct **RefcountBase**\
 struct **STL\_mutex\_lock**\
 struct **STL\_auto\_lock**\
 struct **Rb\_tree\_node\_base**\
 struct **Rb\_tree\_node**\
 struct **Rb\_tree\_base\_iterator**\
 struct **Rb\_tree\_iterator**\
 class **Rb\_tree\_alloc\_base**\
 class **Rb\_tree\_alloc\_base\< Type, Alloc, true \>**\
 struct **Rb\_tree\_base**\
 class **Rb\_tree**\
 class **Vector\_alloc\_base**\
 class **Vector\_alloc\_base\< Type, Allocator, true \>**\
 struct **Vector\_base**\
 class **vector**\
 *A standard container which offers fixed time access to individual elements in any order.*  class **istream\_iterator**\
 class **ostream\_iterator**\
 class **istreambuf\_iterator**\
 class **ostreambuf\_iterator**\
 struct **Array\_default\_ctor**\
 struct **Array\_default\_ctor\< Type, true \>**\
 struct **Array\_init\_ctor**\
 struct **Array\_init\_ctor\< Type, true \>**\
 struct **Array\_copy\_ctor**\
 struct **Array\_copy\_ctor\< Type, true \>**\
 struct **Array\_copier**\
 struct **Array\_copier\< Type, true \>**\
 struct **Array**\
 struct **abs**\
 struct **cos**\
 struct **acos**\
 struct **cosh**\
 struct **sin**\
 struct **asin**\
 struct **sinh**\
 struct **\_\_tan**\
 struct **atan**\
 struct **\_\_tanh**\
 struct **\_\_exp**\
 struct **\_\_log**\
 struct **\_\_log10**\
 struct **sqrt**\
 struct **\_\_unary\_plus**\
 struct **\_\_bitwise\_not**\
 struct **\_\_plus**\
 struct **\_\_minus**\
 struct **\_\_multiplies**\
 struct **\_\_divides**\
 struct **\_\_modulus**\
 struct **\_\_bitwise\_xor**\
 struct **\_\_bitwise\_and**\
 struct **\_\_bitwise\_or**\
 struct **shift\_left**\
 struct **shift\_right**\
 struct **\_\_logical\_and**\
 struct **\_\_logical\_or**\
 struct **\_\_logical\_not**\
 struct **\_\_equal\_to**\
 struct **\_\_less**\
 struct **\_\_greater**\
 struct **\_\_less\_equal**\
 struct **\_\_greater\_equal**\
 struct **atan2**\
 struct **\_\_pow**\
 struct **\_\_fun**\
 struct **\_\_fun\< \_\_logical\_not, Type \>**\
 struct **\_\_fun\< \_\_logical\_and, Type \>**\
 struct **\_\_fun\< \_\_logical\_or, Type \>**\
 struct **\_\_fun\< \_\_less, Type \>**\
 struct **\_\_fun\< \_\_greater, Type \>**\
 struct **\_\_fun\< \_\_less\_equal, Type \>**\
 struct **\_\_fun\< \_\_greater\_equal, Type \>**\
 struct **\_\_fun\< \_\_equal\_to, Type \>**\
 struct **\_\_fun\< not\_equal\_to, Type \>**\
 class **FunBase**\
 struct **ValFunClos\< Expr, Dom \>**\
 struct **ValFunClos\< ValArray, Type \>**\
 struct **RefFunClos\< Expr, Dom \>**\
 struct **RefFunClos\< ValArray, Type \>**\
 class **UnBase**\
 struct **UnClos\< Oper, Expr, Dom \>**\
 struct **UnClos\< Oper, ValArray, Type \>**\
 class **BinBase**\
 class **BinBase2**\
 class **BinBase1**\
 struct **BinClos\< Oper, Expr, Expr, Dom1, Dom2 \>**\
 struct **BinClos\< Oper, ValArray, ValArray, Type, Type \>**\
 struct **BinClos\< Oper, ValArray, Constant, Type, Type \>**\
 struct **BinClos\< Oper, Constant, ValArray, Type, Type \>**\
 class **SBase**\
 class **SBase\< Array\< Type \> \>**\
 struct **SClos\< Expr, Dom \>**\
 struct **SClos\< ValArray, Type \>**\
 class **GBase**\
 class **GBase\< Array\< Type \> \>**\
 struct **GClos\< Expr, Dom \>**\
 struct **GClos\< ValArray, Type \>**\
 class **IBase**\
 struct **IClos\< Expr, Dom \>**\
 struct **IClos\< ValArray, Type \>**\
 class **Expr**\
 struct **Base\_bitset**\
 struct **Base\_bitset\< 1 \>**\
 struct **Base\_bitset\< 0 \>**\
 struct **Sanitize**\
 struct **Sanitize\< 0 \>**\
 class **bitset**\
 *The bitset class represents a fixed-size sequence of bits.*  class **complex**\
 struct **Norm\_helper**\
 struct **Norm\_helper\< true \>**\
 class **complex\< float \>**\
 class **complex\< double \>**\
 class **complex\< long double \>**\
 class **basic\_filebuf**\
 *The actual work of input and output (for files).*  class **basic\_ifstream**\
 *Controlling input for files.*  class **basic\_ofstream**\
 *Controlling output for files.*  class **basic\_fstream**\
 *Controlling intput and output for files.*  class **\_\_basic\_file\< char \>**\
 struct **\_\_ios\_flags**\
 struct **Resetiosflags**\
 struct **Setiosflags**\
 struct **Setbase**\
 struct **Setfill**\
 struct **Setprecision**\
 struct **Setw**\
 class **basic\_istream**\
 *Controlling input.*  class **basic\_iostream**\
 *Merging istream and ostream capabilities.*  struct **numeric\_limits\_base**\
 struct **numeric\_limits**\
 struct **numeric\_limits\< bool \>**\
 struct **numeric\_limits\< char \>**\
 struct **numeric\_limits\< signed char \>**\
 struct **numeric\_limits\< unsigned char \>**\
 struct **numeric\_limits\< wchar\_t \>**\
 struct **numeric\_limits\< short \>**\
 struct **numeric\_limits\< unsigned short \>**\
 struct **numeric\_limits\< int \>**\
 struct **numeric\_limits\< unsigned int \>**\
 struct **numeric\_limits\< long \>**\
 struct **numeric\_limits\< unsigned long \>**\
 struct **numeric\_limits\< long long \>**\
 struct **numeric\_limits\< unsigned long long \>**\
 struct **numeric\_limits\< float \>**\
 struct **numeric\_limits\< double \>**\
 struct **numeric\_limits\< long double \>**\
 struct **auto\_ptr\_ref**\
 class **auto\_ptr**\
 *A simple smart pointer providing strict ownership semantics.*  class **basic\_ostream**\
 *Controlling output.*  class **basic\_stringbuf**\
 *The actual work of input and output (for* **std::string***).*  class **basic\_istringstream**\
 *Controlling input for* **std::string***.*  class **basic\_ostringstream**\
 *Controlling output for* **std::string***.*  class **basic\_stringstream**\
 *Controlling input and output for* **std::string***.*  class **logic\_error**\
 *One of two subclasses of exception.*  class **domain\_error**\
 class **invalid\_argument**\
 class **length\_error**\
 class **out\_of\_range**\
 class **runtime\_error**\
 *One of two subclasses of exception.*  class **range\_error**\
 class **overflow\_error**\
 class **underflow\_error**\
 class **basic\_streambuf**\
 *The actual work of input and output (interface).*  class **valarray**\
 struct **BinClos\< Oper, Expr, ValArray, Dom, typename Dom::value\_type \>**\
 struct **BinClos\< Oper, ValArray, Expr, typename Dom::value\_type, Dom \>**\
 struct **BinClos\< Oper, Expr, Constant, Dom, typename Dom::value\_type \>**\
 struct **BinClos\< Oper, Constant, Expr, typename Dom::value\_type, Dom \>**\
 class **insert\_iterator\< \_\_gnu\_cxx::hash\_map\< Key, Type, HashFn, EqKey, Alloc \> \>**\
 class **insert\_iterator\< \_\_gnu\_cxx::hash\_multimap\< Key, Type, HashFn, EqKey, Alloc \> \>**\
 class **insert\_iterator\< \_\_gnu\_cxx::hash\_set\< Value, HashFcn, EqualKey, Alloc \> \>**\
 class **insert\_iterator\< \_\_gnu\_cxx::hash\_multiset\< Value, HashFcn, EqualKey, Alloc \> \>**\
 class **insert\_iterator\< \_\_gnu\_cxx::slist\< Type, Alloc \> \>**\

### Namespaces

namespace **rel\_ops**\
 *The generated relational operators are sequestered here.*

### Typedefs

typedef char fake\_istream\[sizeof(**istream**)\] **attribute\_\_** ((aligned(alignof\_\_(**istream**))))\
 typedef char fake\_ostream\[sizeof(**ostream**)\] **attribute\_\_** ((aligned(alignof\_\_(**ostream**))))\
 typedef **basic\_string**\< C \> **S**\
 typedef void(\*) **terminate\_handler** ()\
 *If you write a replacement terminate handler, it must be of this type.*  typedef void(\*) **unexpected\_handler** ()\
 *If you write a replacement unexpected handler, it must be of this type.*  typedef void(\*) **new\_handler** ()\
 typedef **fpos**\< **mbstate\_t** \> **streampos**\
 *27.2, paragraph 10 about fpos/char\_traits circularity*  typedef **Pthread\_alloc\_template** **pthread\_alloc**\
 typedef **new\_alloc** **\_\_mem\_interface**\
 typedef **\_\_default\_alloc\_template**\< true, 0 \> **alloc**\
 typedef **\_\_default\_alloc\_template**\< false, 0 \> **single\_client\_alloc**\
 typedef unsigned long **Bit\_type**\
 typedef **vector**\< bool, **alloc** \> **bit\_vector**\
 typedef **basic\_string**\< char \> **string**\
 typedef long **streamoff**\
 typedef ptrdiff\_t **streamsize**\
 typedef fpos\_t **c\_streampos**\
 typedef \_\_gthread\_mutex\_t **c\_lock**\
 typedef FILE **c\_file**\
 typedef \_\_locale\_t **c\_locale**\
 typedef **basic\_ios**\< char \> **ios**\
 *One of the* **I/O forward declarations** *.*  typedef **basic\_streambuf**\< char \> **streambuf**\
 *One of the* **I/O forward declarations** *.*  typedef **basic\_istream**\< char \> **istream**\
 *One of the* **I/O forward declarations** *.*  typedef **basic\_ostream**\< char \> **ostream**\
 *One of the* **I/O forward declarations** *.*  typedef **basic\_iostream**\< char \> **iostream**\
 *One of the* **I/O forward declarations** *.*  typedef **basic\_stringbuf**\< char \> **stringbuf**\
 *One of the* **I/O forward declarations** *.*  typedef **basic\_istringstream**\< char \> **istringstream**\
 *One of the* **I/O forward declarations** *.*  typedef **basic\_ostringstream**\< char \> **ostringstream**\
 *One of the* **I/O forward declarations** *.*  typedef **basic\_stringstream**\< char \> **stringstream**\
 *One of the* **I/O forward declarations** *.*  typedef **basic\_filebuf**\< char \> **filebuf**\
 *One of the* **I/O forward declarations** *.*  typedef **basic\_ifstream**\< char \> **ifstream**\
 *One of the* **I/O forward declarations** *.*  typedef **basic\_ofstream**\< char \> **ofstream**\
 *One of the* **I/O forward declarations** *.*  typedef **basic\_fstream**\< char \> **fstream**\
 *One of the* **I/O forward declarations** *.*

### Enumerations

enum **IosFmtflags** \
 enum **IosOpenmode** \
 enum **IosIostate** \
 enum **IosSeekdir** \
 enum \
 enum \
 enum \
 enum **Rb\_tree\_color** \
 enum **float\_round\_style** \
 enum **float\_denorm\_style** \

### Functions

void **\_\_throw\_bad\_exception** (void)\
 void **\_\_throw\_bad\_alloc** (void)\
 void **\_\_throw\_bad\_cast** (void)\
 void **\_\_throw\_bad\_typeid** (void)\
 void **\_\_throw\_logic\_error** (const char \*)\
 void **\_\_throw\_domain\_error** (const char \*)\
 void **\_\_throw\_invalid\_argument** (const char \*)\
 void **\_\_throw\_length\_error** (const char \*)\
 void **\_\_throw\_out\_of\_range** (const char \*)\
 void **\_\_throw\_runtime\_error** (const char \*)\
 void **\_\_throw\_range\_error** (const char \*)\
 void **\_\_throw\_overflow\_error** (const char \*)\
 void **\_\_throw\_underflow\_error** (const char \*)\
 void **\_\_throw\_ios\_failure** (const char \*)\
 size\_t **\_\_valarray\_product** (const **valarray**\< size\_t \> &a)\
 void **\_\_gslice\_to\_index** (size\_t \_\_o, const **valarray**\< size\_t \> &\_\_l, const **valarray**\< size\_t \> &s, **valarray**\< size\_t \> &\_\_i)\
 **terminate\_handler** **set\_terminate** (**terminate\_handler**)  throw ()\
 *Takes a new handler function as an argument, returns the old function.*  void **terminate** () **attribute\_\_**((noreturn\_\_))\
 **unexpected\_handler** **set\_unexpected** (**unexpected\_handler**)  throw ()\
 *Takes a new handler function as an argument, returns the old function.*  void **unexpected** () **attribute\_\_**((noreturn\_\_))\
 bool **uncaught\_exception** ()  throw ()\
 **new\_handler** **set\_new\_handler** (**new\_handler**)  throw ()\
 *Takes a replacement handler as the argument, returns the previous handler.*  template\<typename CharT, typename Traits, typename Alloc\> **basic\_string**\< CharT, Traits, Alloc \> **operator+** (const **basic\_string**\< CharT, Traits, Alloc \> &\_\_lhs, const **basic\_string**\< CharT, Traits, Alloc \> &\_\_rhs)\
 template\<typename CharT, typename Traits, typename Alloc\> **basic\_string**\< CharT, Traits, Alloc \> **operator+** (const CharT \*\_\_lhs, const **basic\_string**\< CharT, Traits, Alloc \> &\_\_rhs)\
 template\<typename CharT, typename Traits, typename Alloc\> **basic\_string**\< CharT, Traits, Alloc \> **operator+** (CharT \_\_lhs, const **basic\_string**\< CharT, Traits, Alloc \> &\_\_rhs)\
 template\<typename CharT, typename Traits, typename Alloc\> **basic\_string**\< CharT, Traits, Alloc \> **operator+** (const **basic\_string**\< CharT, Traits, Alloc \> &\_\_lhs, const CharT \*\_\_rhs)\
 template\<typename CharT, typename Traits, typename Alloc\> **basic\_string**\< CharT, Traits, Alloc \> **operator+** (const **basic\_string**\< CharT, Traits, Alloc \> &\_\_lhs, CharT \_\_rhs)\
 template\<typename CharT, typename Traits, typename Alloc\> bool **operator==** (const **basic\_string**\< CharT, Traits, Alloc \> &\_\_lhs, const **basic\_string**\< CharT, Traits, Alloc \> &\_\_rhs)\
 template\<typename CharT, typename Traits, typename Alloc\> bool **operator==** (const CharT \*\_\_lhs, const **basic\_string**\< CharT, Traits, Alloc \> &\_\_rhs)\
 template\<typename CharT, typename Traits, typename Alloc\> bool **operator==** (const **basic\_string**\< CharT, Traits, Alloc \> &\_\_lhs, const CharT \*\_\_rhs)\
 template\<typename CharT, typename Traits, typename Alloc\> bool **operator!=** (const **basic\_string**\< CharT, Traits, Alloc \> &\_\_lhs, const **basic\_string**\< CharT, Traits, Alloc \> &\_\_rhs)\
 template\<typename CharT, typename Traits, typename Alloc\> bool **operator!=** (const CharT \*\_\_lhs, const **basic\_string**\< CharT, Traits, Alloc \> &\_\_rhs)\
 template\<typename CharT, typename Traits, typename Alloc\> bool **operator!=** (const **basic\_string**\< CharT, Traits, Alloc \> &\_\_lhs, const CharT \*\_\_rhs)\
 template\<typename CharT, typename Traits, typename Alloc\> bool **operator\<** (const **basic\_string**\< CharT, Traits, Alloc \> &\_\_lhs, const **basic\_string**\< CharT, Traits, Alloc \> &\_\_rhs)\
 template\<typename CharT, typename Traits, typename Alloc\> bool **operator\<** (const **basic\_string**\< CharT, Traits, Alloc \> &\_\_lhs, const CharT \*\_\_rhs)\
 template\<typename CharT, typename Traits, typename Alloc\> bool **operator\<** (const CharT \*\_\_lhs, const **basic\_string**\< CharT, Traits, Alloc \> &\_\_rhs)\
 template\<typename CharT, typename Traits, typename Alloc\> bool **operator\>** (const **basic\_string**\< CharT, Traits, Alloc \> &\_\_lhs, const **basic\_string**\< CharT, Traits, Alloc \> &\_\_rhs)\
 template\<typename CharT, typename Traits, typename Alloc\> bool **operator\>** (const **basic\_string**\< CharT, Traits, Alloc \> &\_\_lhs, const CharT \*\_\_rhs)\
 template\<typename CharT, typename Traits, typename Alloc\> bool **operator\>** (const CharT \*\_\_lhs, const **basic\_string**\< CharT, Traits, Alloc \> &\_\_rhs)\
 template\<typename CharT, typename Traits, typename Alloc\> bool **operator\<=** (const **basic\_string**\< CharT, Traits, Alloc \> &\_\_lhs, const **basic\_string**\< CharT, Traits, Alloc \> &\_\_rhs)\
 template\<typename CharT, typename Traits, typename Alloc\> bool **operator\<=** (const **basic\_string**\< CharT, Traits, Alloc \> &\_\_lhs, const CharT \*\_\_rhs)\
 template\<typename CharT, typename Traits, typename Alloc\> bool **operator\<=** (const CharT \*\_\_lhs, const **basic\_string**\< CharT, Traits, Alloc \> &\_\_rhs)\
 template\<typename CharT, typename Traits, typename Alloc\> bool **operator\>=** (const **basic\_string**\< CharT, Traits, Alloc \> &\_\_lhs, const **basic\_string**\< CharT, Traits, Alloc \> &\_\_rhs)\
 template\<typename CharT, typename Traits, typename Alloc\> bool **operator\>=** (const **basic\_string**\< CharT, Traits, Alloc \> &\_\_lhs, const CharT \*\_\_rhs)\
 template\<typename CharT, typename Traits, typename Alloc\> bool **operator\>=** (const CharT \*\_\_lhs, const **basic\_string**\< CharT, Traits, Alloc \> &\_\_rhs)\
 template\<typename CharT, typename Traits, typename Alloc\> void **swap** (**basic\_string**\< CharT, Traits, Alloc \> &\_\_lhs, **basic\_string**\< CharT, Traits, Alloc \> &\_\_rhs)\
 template\<typename CharT, typename Traits, typename Alloc\> **basic\_istream**\< CharT, Traits \> & **operator\>\>** (**basic\_istream**\< CharT, Traits \> &\_\_is, **basic\_string**\< CharT, Traits, Alloc \> &str)\
 template\<typename CharT, typename Traits, typename Alloc\> **basic\_ostream**\< CharT, Traits \> & **operator\<\<** (**basic\_ostream**\< CharT, Traits \> &\_\_os, const **basic\_string**\< CharT, Traits, Alloc \> &str)\
 template\<typename CharT, typename Traits, typename Alloc\> **basic\_istream**\< CharT, Traits \> & **getline** (**basic\_istream**\< CharT, Traits \> &\_\_is, **basic\_string**\< CharT, Traits, Alloc \> &str, CharT \_\_delim)\
 template\<typename CharT, typename Traits, typename Alloc\> **basic\_istream**\< CharT, Traits \> & **getline** (**basic\_istream**\< CharT, Traits \> &\_\_is, **basic\_string**\< CharT, Traits, Alloc \> &str)\
 template\<class CharT, class Traits, class Alloc\> void **S\_string\_copy** (const **basic\_string**\< CharT, Traits, Alloc \> &str, CharT \*\_\_buf, typename Alloc::size\_type \_\_bufsiz)\
 template\<typename Type\> export Type **cmath\_power** (Type x, unsigned int n)\
 **IosFmtflags** **operator &** (**IosFmtflags** a, **IosFmtflags** \_\_b)\
 **IosFmtflags** **operator\|** (**IosFmtflags** a, **IosFmtflags** \_\_b)\
 **IosFmtflags** **operator^** (**IosFmtflags** a, **IosFmtflags** \_\_b)\
 **IosFmtflags** **operator\|=** (**IosFmtflags** &a, **IosFmtflags** \_\_b)\
 **IosFmtflags** **operator &=** (**IosFmtflags** &a, **IosFmtflags** \_\_b)\
 **IosFmtflags** **operator^=** (**IosFmtflags** &a, **IosFmtflags** \_\_b)\
 **IosFmtflags** **operator~** (**IosFmtflags** a)\
 **IosOpenmode** **operator &** (**IosOpenmode** a, **IosOpenmode** \_\_b)\
 **IosOpenmode** **operator\|** (**IosOpenmode** a, **IosOpenmode** \_\_b)\
 **IosOpenmode** **operator^** (**IosOpenmode** a, **IosOpenmode** \_\_b)\
 **IosOpenmode** **operator\|=** (**IosOpenmode** &a, **IosOpenmode** \_\_b)\
 **IosOpenmode** **operator &=** (**IosOpenmode** &a, **IosOpenmode** \_\_b)\
 **IosOpenmode** **operator^=** (**IosOpenmode** &a, **IosOpenmode** \_\_b)\
 **IosOpenmode** **operator~** (**IosOpenmode** a)\
 **IosIostate** **operator &** (**IosIostate** a, **IosIostate** \_\_b)\
 **IosIostate** **operator\|** (**IosIostate** a, **IosIostate** \_\_b)\
 **IosIostate** **operator^** (**IosIostate** a, **IosIostate** \_\_b)\
 **IosIostate** **operator\|=** (**IosIostate** &a, **IosIostate** \_\_b)\
 **IosIostate** **operator &=** (**IosIostate** &a, **IosIostate** \_\_b)\
 **IosIostate** **operator^=** (**IosIostate** &a, **IosIostate** \_\_b)\
 **IosIostate** **operator~** (**IosIostate** a)\
 **ios\_base** & **boolalpha** (**ios\_base** &\_\_base)\
 *Calls base.setf(ios\_base::boolalpha).*  **ios\_base** & **noboolalpha** (**ios\_base** &\_\_base)\
 *Calls base.unsetf(ios\_base::boolalpha).*  **ios\_base** & **showbase** (**ios\_base** &\_\_base)\
 *Calls base.setf(ios\_base::showbase).*  **ios\_base** & **noshowbase** (**ios\_base** &\_\_base)\
 *Calls base.unsetf(ios\_base::showbase).*  **ios\_base** & **showpoint** (**ios\_base** &\_\_base)\
 *Calls base.setf(ios\_base::showpoint).*  **ios\_base** & **noshowpoint** (**ios\_base** &\_\_base)\
 *Calls base.unsetf(ios\_base::showpoint).*  **ios\_base** & **showpos** (**ios\_base** &\_\_base)\
 *Calls base.setf(ios\_base::showpos).*  **ios\_base** & **noshowpos** (**ios\_base** &\_\_base)\
 *Calls base.unsetf(ios\_base::showpos).*  **ios\_base** & **skipws** (**ios\_base** &\_\_base)\
 *Calls base.setf(ios\_base::skipws).*  **ios\_base** & **noskipws** (**ios\_base** &\_\_base)\
 *Calls base.unsetf(ios\_base::skipws).*  **ios\_base** & **uppercase** (**ios\_base** &\_\_base)\
 *Calls base.setf(ios\_base::uppercase).*  **ios\_base** & **nouppercase** (**ios\_base** &\_\_base)\
 *Calls base.unsetf(ios\_base::uppercase).*  **ios\_base** & **unitbuf** (**ios\_base** &\_\_base)\
 *Calls base.setf(ios\_base::unitbuf).*  **ios\_base** & **nounitbuf** (**ios\_base** &\_\_base)\
 *Calls base.unsetf(ios\_base::unitbuf).*  **ios\_base** & **internal** (**ios\_base** &\_\_base)\
 *Calls base.setf(ios\_base::internal, ios\_base::adjustfield).*  **ios\_base** & **left** (**ios\_base** &\_\_base)\
 *Calls base.setf(ios\_base::left, ios\_base::adjustfield).*  **ios\_base** & **right** (**ios\_base** &\_\_base)\
 *Calls base.setf(ios\_base::right, ios\_base::adjustfield).*  **ios\_base** & **dec** (**ios\_base** &\_\_base)\
 *Calls base.setf(ios\_base::dec, ios\_base::basefield).*  **ios\_base** & **hex** (**ios\_base** &\_\_base)\
 *Calls base.setf(ios\_base::hex, ios\_base::basefield).*  **ios\_base** & **oct** (**ios\_base** &\_\_base)\
 *Calls base.setf(ios\_base::oct, ios\_base::basefield).*  **ios\_base** & **fixed** (**ios\_base** &\_\_base)\
 *Calls base.setf(ios\_base::fixed, ios\_base::floatfield).*  **ios\_base** & **scientific** (**ios\_base** &\_\_base)\
 *Calls base.setf(ios\_base::scientific, ios\_base::floatfield).*  template\<typename CharT, typename Traits\> **basic\_istream**\< CharT, Traits \> & **ws** (**basic\_istream**\< CharT, Traits \> &\_\_is)\
 *Quick and easy way to eat whitespace.*  void **\_List\_base\_reverse** (**List\_node\_base** \*\_\_p)\
 template\<typename CharT\> bool **\_\_verify\_grouping** (const **basic\_string**\< CharT \> &\_\_grouping, **basic\_string**\< CharT \> &\_\_grouping\_tmp)\
 template\<typename CharT\> CharT \* **add\_grouping** (CharT \*s, CharT sep, const char \*\_\_gbeg, const char \*\_\_gend, const CharT \*first, const CharT \*last)\
 template\<typename CharT\> **ostreambuf\_iterator**\< CharT \> **\_\_write** (**ostreambuf\_iterator**\< CharT \> s, const CharT \*\_\_ws, int \_\_len)\
 template\<typename CharT, typename OutIter\> OutIter **\_\_write** (OutIter s, const CharT \*\_\_ws, int \_\_len)\
 template\<typename CharT\> bool **isspace** (CharT c, const **locale** &\_\_loc)\
 template\<typename CharT\> bool **isprint** (CharT c, const **locale** &\_\_loc)\
 template\<typename CharT\> bool **iscntrl** (CharT c, const **locale** &\_\_loc)\
 template\<typename CharT\> bool **isupper** (CharT c, const **locale** &\_\_loc)\
 template\<typename CharT\> bool **islower** (CharT c, const **locale** &\_\_loc)\
 template\<typename CharT\> bool **isalpha** (CharT c, const **locale** &\_\_loc)\
 template\<typename CharT\> bool **isdigit** (CharT c, const **locale** &\_\_loc)\
 template\<typename CharT\> bool **ispunct** (CharT c, const **locale** &\_\_loc)\
 template\<typename CharT\> bool **isxdigit** (CharT c, const **locale** &\_\_loc)\
 template\<typename CharT\> bool **isalnum** (CharT c, const **locale** &\_\_loc)\
 template\<typename CharT\> bool **isgraph** (CharT c, const **locale** &\_\_loc)\
 template\<typename CharT\> CharT **toupper** (CharT c, const **locale** &\_\_loc)\
 template\<typename CharT\> CharT **tolower** (CharT c, const **locale** &\_\_loc)\
 template\<typename Facet\> const Facet & **use\_facet** (const **locale** &\_\_loc)\
 template\<typename Facet\> bool **has\_facet** (const **locale** &\_\_loc)  throw ()\
 template\<typename Facet\> const **\_\_locale\_cache**\< Facet \> & **\_\_use\_cache** (const **locale** &\_\_loc)\
 template\<typename CharT\> int **int\_to\_char** (CharT \*out, const int size, long \_\_v, const CharT \*\_\_lit, **ios\_base::fmtflags** \_\_flags)\
 template\<typename CharT\> int **int\_to\_char** (CharT \*out, const int size, unsigned long \_\_v, const CharT \*\_\_lit, **ios\_base::fmtflags** \_\_flags)\
 template\<typename CharT, typename ValueT\> int **int\_to\_char** (CharT \*out, const int size, ValueT \_\_v, const CharT \*\_\_lit, **ios\_base::fmtflags** \_\_flags, bool neg)\
 template\<size\_t Max\_size\> bool **operator==** (const **Pthread\_alloc\_template**\< Max\_size \> &, const **Pthread\_alloc\_template**\< Max\_size \> &)\
 template\<class T1, class T2\> bool **operator==** (const **pthread\_allocator**\< T1 \> &, const **pthread\_allocator**\< T2 \> &a2)\
 template\<class T1, class T2\> bool **operator!=** (const **pthread\_allocator**\< T1 \> &, const **pthread\_allocator**\< T2 \> &)\
 template\<typename Type\> const Type & **\_\_median** (const Type &a, const Type &\_\_b, const Type &c)\
 *Find the median of three values.*  template\<typename Type, typename Compare\> const Type & **\_\_median** (const Type &a, const Type &\_\_b, const Type &c, Compare comp)\
 *Find the median of three values using a predicate for comparison.*  template\<typename InputIter, typename Function\> Function **for\_each** (InputIter first, InputIter last, Function \_\_f)\
 *Apply a function to every element of a sequence.*  template\<typename InputIter, typename Type\> InputIter **find** (InputIter first, InputIter last, const Type &\_\_val, **input\_iterator\_tag**)\
 template\<typename InputIter, typename Predicate\> InputIter **find\_if** (InputIter first, InputIter last, Predicate pred, **input\_iterator\_tag**)\
 template\<typename RandomAccessIter, typename Type\> RandomAccessIter **find** (RandomAccessIter first, RandomAccessIter last, const Type &\_\_val, **random\_access\_iterator\_tag**)\
 template\<typename RandomAccessIter, typename Predicate\> RandomAccessIter **find\_if** (RandomAccessIter first, RandomAccessIter last, Predicate pred, **random\_access\_iterator\_tag**)\
 template\<typename InputIter, typename Type\> InputIter **find** (InputIter first, InputIter last, const Type &\_\_val)\
 *Find the first occurrence of a value in a sequence.*  template\<typename InputIter, typename Predicate\> InputIter **find\_if** (InputIter first, InputIter last, Predicate pred)\
 *Find the first element in a sequence for which a predicate is true.*  template\<typename ForwardIter\> ForwardIter **adjacent\_find** (ForwardIter first, ForwardIter last)\
 *Find two adjacent values in a sequence that are equal.*  template\<typename ForwardIter, typename BinaryPredicate\> ForwardIter **adjacent\_find** (ForwardIter first, ForwardIter last, BinaryPredicate \_\_binary\_pred)\
 *Find two adjacent values in a sequence using a predicate.*  template\<typename InputIter, typename Type\> **iterator\_traits**\< InputIter \>::difference\_type **count** (InputIter first, InputIter last, const Type &value)\
 *Count the number of copies of a value in a sequence.*  template\<typename InputIter, typename Predicate\> **iterator\_traits**\< InputIter \>::difference\_type **count\_if** (InputIter first, InputIter last, Predicate pred)\
 *Count the elements of a sequence for which a predicate is true.*  template\<typename ForwardIter1, typename ForwardIter2\> ForwardIter1 **search** (ForwardIter1 first1, ForwardIter1 last1, ForwardIter2 first2, ForwardIter2 last2)\
 *Search a sequence for a matching sub-sequence.*  template\<typename ForwardIter1, typename ForwardIter2, typename BinaryPred\> ForwardIter1 **search** (ForwardIter1 first1, ForwardIter1 last1, ForwardIter2 first2, ForwardIter2 last2, BinaryPred predicate)\
 *Search a sequence for a matching sub-sequence using a predicate.*  template\<typename ForwardIter, typename Integer, typename Type\> ForwardIter **search\_n** (ForwardIter first, ForwardIter last, Integer count, const Type &\_\_val)\
 *Search a sequence for a number of consecutive values.*  template\<typename ForwardIter, typename Integer, typename Type, typename BinaryPred\> ForwardIter **search\_n** (ForwardIter first, ForwardIter last, Integer count, const Type &\_\_val, BinaryPred \_\_binary\_pred)\
 *Search a sequence for a number of consecutive values using a predicate.*  template\<typename ForwardIter1, typename ForwardIter2\> ForwardIter2 **swap\_ranges** (ForwardIter1 first1, ForwardIter1 last1, ForwardIter2 first2)\
 *Swap the elements of two sequences.*  template\<typename InputIter, typename OutputIter, typename UnaryOperation\> OutputIter **transform** (InputIter first, InputIter last, OutputIter \_\_result, UnaryOperation \_\_unary\_op)\
 *Perform an operation on a sequence.*  template\<typename InputIter1, typename InputIter2, typename OutputIter, typename BinaryOperation\> OutputIter **transform** (InputIter1 first1, InputIter1 last1, InputIter2 first2, OutputIter \_\_result, BinaryOperation \_\_binary\_op)\
 *Perform an operation on corresponding elements of two sequences.*  template\<typename ForwardIter, typename Type\> void **replace** (ForwardIter first, ForwardIter last, const Type &\_\_old\_value, const Type &new\_value)\
 *Replace each occurrence of one value in a sequence with another value.*  template\<typename ForwardIter, typename Predicate, typename Type\> void **replace\_if** (ForwardIter first, ForwardIter last, Predicate pred, const Type &new\_value)\
 *Replace each value in a sequence for which a predicate returns true with another value.*  template\<typename InputIter, typename OutputIter, typename Type\> OutputIter **replace\_copy** (InputIter first, InputIter last, OutputIter \_\_result, const Type &\_\_old\_value, const Type &new\_value)\
 *Copy a sequence, replacing each element of one value with another value.*  template\<typename InputIter, typename OutputIter, typename Predicate, typename Type\> OutputIter **replace\_copy\_if** (InputIter first, InputIter last, OutputIter \_\_result, Predicate pred, const Type &new\_value)\
 *Copy a sequence, replacing each value for which a predicate returns true with another value.*  template\<typename ForwardIter, typename Generator\> void **generate** (ForwardIter first, ForwardIter last, Generator \_\_gen)\
 *Assign the result of a function object to each value in a sequence.*  template\<typename OutputIter, typename Size, typename Generator\> OutputIter **generate\_n** (OutputIter first, Size n, Generator \_\_gen)\
 *Assign the result of a function object to each value in a sequence.*  template\<typename InputIter, typename OutputIter, typename Type\> OutputIter **remove\_copy** (InputIter first, InputIter last, OutputIter \_\_result, const Type &value)\
 *Copy a sequence, removing elements of a given value.*  template\<typename InputIter, typename OutputIter, typename Predicate\> OutputIter **remove\_copy\_if** (InputIter first, InputIter last, OutputIter \_\_result, Predicate pred)\
 *Copy a sequence, removing elements for which a predicate is true.*  template\<typename ForwardIter, typename Type\> ForwardIter **remove** (ForwardIter first, ForwardIter last, const Type &value)\
 *Remove elements from a sequence.*  template\<typename ForwardIter, typename Predicate\> ForwardIter **remove\_if** (ForwardIter first, ForwardIter last, Predicate pred)\
 *Remove elements from a sequence using a predicate.*  template\<typename InputIter, typename OutputIter\> OutputIter **\_\_unique\_copy** (InputIter first, InputIter last, OutputIter \_\_result, **output\_iterator\_tag**)\
 template\<typename InputIter, typename ForwardIter\> ForwardIter **\_\_unique\_copy** (InputIter first, InputIter last, ForwardIter \_\_result, **forward\_iterator\_tag**)\
 template\<typename InputIter, typename OutputIter\> OutputIter **unique\_copy** (InputIter first, InputIter last, OutputIter \_\_result)\
 *Copy a sequence, removing consecutive duplicate values.*  template\<typename InputIter, typename OutputIter, typename BinaryPredicate\> OutputIter **\_\_unique\_copy** (InputIter first, InputIter last, OutputIter \_\_result, BinaryPredicate \_\_binary\_pred, **output\_iterator\_tag**)\
 template\<typename InputIter, typename ForwardIter, typename BinaryPredicate\> ForwardIter **\_\_unique\_copy** (InputIter first, InputIter last, ForwardIter \_\_result, BinaryPredicate \_\_binary\_pred, **forward\_iterator\_tag**)\
 template\<typename InputIter, typename OutputIter, typename BinaryPredicate\> OutputIter **unique\_copy** (InputIter first, InputIter last, OutputIter \_\_result, BinaryPredicate \_\_binary\_pred)\
 *Copy a sequence, removing consecutive values using a predicate.*  template\<typename ForwardIter\> ForwardIter **unique** (ForwardIter first, ForwardIter last)\
 *Remove consecutive duplicate values from a sequence.*  template\<typename ForwardIter, typename BinaryPredicate\> ForwardIter **unique** (ForwardIter first, ForwardIter last, BinaryPredicate \_\_binary\_pred)\
 *Remove consecutive values from a sequence using a predicate.*  template\<typename BidirectionalIter\> void **\_\_reverse** (BidirectionalIter first, BidirectionalIter last, **bidirectional\_iterator\_tag**)\
 template\<typename RandomAccessIter\> void **\_\_reverse** (RandomAccessIter first, RandomAccessIter last, **random\_access\_iterator\_tag**)\
 template\<typename BidirectionalIter\> void **reverse** (BidirectionalIter first, BidirectionalIter last)\
 *Reverse a sequence.*  template\<typename BidirectionalIter, typename OutputIter\> OutputIter **reverse\_copy** (BidirectionalIter first, BidirectionalIter last, OutputIter \_\_result)\
 *Copy a sequence, reversing its elements.*  template\<typename EuclideanRingElement\> EuclideanRingElement **\_\_gcd** (EuclideanRingElement \_\_m, EuclideanRingElement n)\
 template\<typename ForwardIter\> void **\_\_rotate** (ForwardIter first, ForwardIter \_\_middle, ForwardIter last, **forward\_iterator\_tag**)\
 template\<typename BidirectionalIter\> void **\_\_rotate** (BidirectionalIter first, BidirectionalIter \_\_middle, BidirectionalIter last, **bidirectional\_iterator\_tag**)\
 template\<typename RandomAccessIter\> void **\_\_rotate** (RandomAccessIter first, RandomAccessIter \_\_middle, RandomAccessIter last, **random\_access\_iterator\_tag**)\
 template\<typename ForwardIter\> void **rotate** (ForwardIter first, ForwardIter \_\_middle, ForwardIter last)\
 *Rotate the elements of a sequence.*  template\<typename ForwardIter, typename OutputIter\> OutputIter **rotate\_copy** (ForwardIter first, ForwardIter \_\_middle, ForwardIter last, OutputIter \_\_result)\
 *Copy a sequence, rotating its elements.*  template\<typename Distance\> Distance **\_\_random\_number** (Distance n)\
 template\<typename RandomAccessIter\> void **random\_shuffle** (RandomAccessIter first, RandomAccessIter last)\
 *Randomly shuffle the elements of a sequence.*  template\<typename RandomAccessIter, typename RandomNumberGenerator\> void **random\_shuffle** (RandomAccessIter first, RandomAccessIter last, RandomNumberGenerator &\_\_rand)\
 *Shuffle the elements of a sequence using a random number generator.*  template\<typename ForwardIter, typename Predicate\> ForwardIter **\_\_partition** (ForwardIter first, ForwardIter last, Predicate pred, **forward\_iterator\_tag**)\
 template\<typename BidirectionalIter, typename Predicate\> BidirectionalIter **\_\_partition** (BidirectionalIter first, BidirectionalIter last, Predicate pred, **bidirectional\_iterator\_tag**)\
 template\<typename ForwardIter, typename Predicate\> ForwardIter **partition** (ForwardIter first, ForwardIter last, Predicate pred)\
 *Move elements for which a predicate is true to the beginning of a sequence.*  template\<typename ForwardIter, typename Predicate, typename Distance\> ForwardIter **inplace\_stable\_partition** (ForwardIter first, ForwardIter last, Predicate pred, Distance \_\_len)\
 template\<typename ForwardIter, typename Pointer, typename Predicate, typename Distance\> ForwardIter **stable\_partition\_adaptive** (ForwardIter first, ForwardIter last, Predicate pred, Distance \_\_len, Pointer \_\_buffer, Distance \_\_buffer\_size)\
 template\<typename ForwardIter, typename Predicate\> ForwardIter **stable\_partition** (ForwardIter first, ForwardIter last, Predicate pred)\
 *Move elements for which a predicate is true to the beginning of a sequence, preserving relative ordering.*  template\<typename RandomAccessIter, typename Type\> RandomAccessIter **\_\_unguarded\_partition** (RandomAccessIter first, RandomAccessIter last, Type \_\_pivot)\
 template\<typename RandomAccessIter, typename Type, typename Compare\> RandomAccessIter **\_\_unguarded\_partition** (RandomAccessIter first, RandomAccessIter last, Type \_\_pivot, Compare comp)\
 template\<typename RandomAccessIter, typename Type\> void **\_\_unguarded\_linear\_insert** (RandomAccessIter last, Type \_\_val)\
 template\<typename RandomAccessIter, typename Type, typename Compare\> void **\_\_unguarded\_linear\_insert** (RandomAccessIter last, Type \_\_val, Compare comp)\
 template\<typename RandomAccessIter\> void **insertion\_sort** (RandomAccessIter first, RandomAccessIter last)\
 template\<typename RandomAccessIter, typename Compare\> void **insertion\_sort** (RandomAccessIter first, RandomAccessIter last, Compare comp)\
 template\<typename RandomAccessIter\> void **\_\_unguarded\_insertion\_sort** (RandomAccessIter first, RandomAccessIter last)\
 template\<typename RandomAccessIter, typename Compare\> void **\_\_unguarded\_insertion\_sort** (RandomAccessIter first, RandomAccessIter last, Compare comp)\
 template\<typename RandomAccessIter\> void **\_\_final\_insertion\_sort** (RandomAccessIter first, RandomAccessIter last)\
 template\<typename RandomAccessIter, typename Compare\> void **\_\_final\_insertion\_sort** (RandomAccessIter first, RandomAccessIter last, Compare comp)\
 template\<typename Size\> Size **\_\_lg** (Size n)\
 template\<typename RandomAccessIter, typename Size\> void **introsort\_loop** (RandomAccessIter first, RandomAccessIter last, Size \_\_depth\_limit)\
 template\<typename RandomAccessIter, typename Size, typename Compare\> void **introsort\_loop** (RandomAccessIter first, RandomAccessIter last, Size \_\_depth\_limit, Compare comp)\
 template\<typename RandomAccessIter\> void **sort** (RandomAccessIter first, RandomAccessIter last)\
 *Sort the elements of a sequence.*  template\<typename RandomAccessIter, typename Compare\> void **sort** (RandomAccessIter first, RandomAccessIter last, Compare comp)\
 *Sort the elements of a sequence using a predicate for comparison.*  template\<typename RandomAccessIter\> void **inplace\_stable\_sort** (RandomAccessIter first, RandomAccessIter last)\
 template\<typename RandomAccessIter, typename Compare\> void **inplace\_stable\_sort** (RandomAccessIter first, RandomAccessIter last, Compare comp)\
 template\<typename RandomAccessIter1, typename RandomAccessIter2, typename Distance\> void **\_\_merge\_sort\_loop** (RandomAccessIter1 first, RandomAccessIter1 last, RandomAccessIter2 \_\_result, Distance step\_size)\
 template\<typename RandomAccessIter1, typename RandomAccessIter2, typename Distance, typename Compare\> void **\_\_merge\_sort\_loop** (RandomAccessIter1 first, RandomAccessIter1 last, RandomAccessIter2 \_\_result, Distance step\_size, Compare comp)\
 template\<typename RandomAccessIter, typename Distance\> void **chunk\_insertion\_sort** (RandomAccessIter first, RandomAccessIter last, Distance chunk\_size)\
 template\<typename RandomAccessIter, typename Distance, typename Compare\> void **chunk\_insertion\_sort** (RandomAccessIter first, RandomAccessIter last, Distance chunk\_size, Compare comp)\
 template\<typename RandomAccessIter, typename Pointer\> void **\_\_merge\_sort\_with\_buffer** (RandomAccessIter first, RandomAccessIter last, Pointer \_\_buffer)\
 template\<typename RandomAccessIter, typename Pointer, typename Compare\> void **\_\_merge\_sort\_with\_buffer** (RandomAccessIter first, RandomAccessIter last, Pointer \_\_buffer, Compare comp)\
 template\<typename RandomAccessIter, typename Pointer, typename Distance\> void **stable\_sort\_adaptive** (RandomAccessIter first, RandomAccessIter last, Pointer \_\_buffer, Distance \_\_buffer\_size)\
 template\<typename RandomAccessIter, typename Pointer, typename Distance, typename Compare\> void **stable\_sort\_adaptive** (RandomAccessIter first, RandomAccessIter last, Pointer \_\_buffer, Distance \_\_buffer\_size, Compare comp)\
 template\<typename RandomAccessIter\> void **stable\_sort** (RandomAccessIter first, RandomAccessIter last)\
 *Sort the elements of a sequence, preserving the relative order of equivalent elements.*  template\<typename RandomAccessIter, typename Compare\> void **stable\_sort** (RandomAccessIter first, RandomAccessIter last, Compare comp)\
 *Sort the elements of a sequence using a predicate for comparison, preserving the relative order of equivalent elements.*  template\<typename RandomAccessIter\> void **partial\_sort** (RandomAccessIter first, RandomAccessIter \_\_middle, RandomAccessIter last)\
 *Sort the smallest elements of a sequence.*  template\<typename RandomAccessIter, typename Compare\> void **partial\_sort** (RandomAccessIter first, RandomAccessIter \_\_middle, RandomAccessIter last, Compare comp)\
 *Sort the smallest elements of a sequence using a predicate for comparison.*  template\<typename InputIter, typename RandomAccessIter\> RandomAccessIter **partial\_sort\_copy** (InputIter first, InputIter last, RandomAccessIter \_\_result\_first, RandomAccessIter \_\_result\_last)\
 *Copy the smallest elements of a sequence.*  template\<typename InputIter, typename RandomAccessIter, typename Compare\> RandomAccessIter **partial\_sort\_copy** (InputIter first, InputIter last, RandomAccessIter \_\_result\_first, RandomAccessIter \_\_result\_last, Compare comp)\
 *Copy the smallest elements of a sequence using a predicate for comparison.*  template\<typename RandomAccessIter\> void **nth\_element** (RandomAccessIter first, RandomAccessIter nth, RandomAccessIter last)\
 *Sort a sequence just enough to find a particular position.*  template\<typename RandomAccessIter, typename Compare\> void **nth\_element** (RandomAccessIter first, RandomAccessIter nth, RandomAccessIter last, Compare comp)\
 *Sort a sequence just enough to find a particular position using a predicate for comparison.*  template\<typename ForwardIter, typename Type\> ForwardIter **lower\_bound** (ForwardIter first, ForwardIter last, const Type &\_\_val)\
 *Finds the first position in which val could be inserted without changing the ordering.*  template\<typename ForwardIter, typename Type, typename Compare\> ForwardIter **lower\_bound** (ForwardIter first, ForwardIter last, const Type &\_\_val, Compare comp)\
 *Finds the first position in which val could be inserted without changing the ordering.*  template\<typename ForwardIter, typename Type\> ForwardIter **upper\_bound** (ForwardIter first, ForwardIter last, const Type &\_\_val)\
 *Finds the last position in which val could be inserted without changing the ordering.*  template\<typename ForwardIter, typename Type, typename Compare\> ForwardIter **upper\_bound** (ForwardIter first, ForwardIter last, const Type &\_\_val, Compare comp)\
 *Finds the last position in which val could be inserted without changing the ordering.*  template\<typename ForwardIter, typename Type\> **pair**\< ForwardIter, ForwardIter \> **equal\_range** (ForwardIter first, ForwardIter last, const Type &\_\_val)\
 *Finds the largest subrange in which val could be inserted at any place in it without changing the ordering.*  template\<typename ForwardIter, typename Type, typename Compare\> **pair**\< ForwardIter, ForwardIter \> **equal\_range** (ForwardIter first, ForwardIter last, const Type &\_\_val, Compare comp)\
 *Finds the largest subrange in which val could be inserted at any place in it without changing the ordering.*  template\<typename ForwardIter, typename Type\> bool **binary\_search** (ForwardIter first, ForwardIter last, const Type &\_\_val)\
 *Determines whether an element exists in a range.*  template\<typename ForwardIter, typename Type, typename Compare\> bool **binary\_search** (ForwardIter first, ForwardIter last, const Type &\_\_val, Compare comp)\
 *Determines whether an element exists in a range.*  template\<typename InputIter1, typename InputIter2, typename OutputIter\> OutputIter **merge** (InputIter1 first1, InputIter1 last1, InputIter2 first2, InputIter2 last2, OutputIter \_\_result)\
 *Merges two sorted ranges.*  template\<typename InputIter1, typename InputIter2, typename OutputIter, typename Compare\> OutputIter **merge** (InputIter1 first1, InputIter1 last1, InputIter2 first2, InputIter2 last2, OutputIter \_\_result, Compare comp)\
 *Merges two sorted ranges.*  template\<typename BidirectionalIter, typename Distance\> void **\_\_merge\_without\_buffer** (BidirectionalIter first, BidirectionalIter \_\_middle, BidirectionalIter last, Distance \_\_len1, Distance \_\_len2)\
 template\<typename BidirectionalIter, typename Distance, typename Compare\> void **\_\_merge\_without\_buffer** (BidirectionalIter first, BidirectionalIter \_\_middle, BidirectionalIter last, Distance \_\_len1, Distance \_\_len2, Compare comp)\
 template\<typename BidirectionalIter1, typename BidirectionalIter2, typename Distance\> BidirectionalIter1 **\_\_rotate\_adaptive** (BidirectionalIter1 first, BidirectionalIter1 \_\_middle, BidirectionalIter1 last, Distance \_\_len1, Distance \_\_len2, BidirectionalIter2 \_\_buffer, Distance \_\_buffer\_size)\
 template\<typename BidirectionalIter1, typename BidirectionalIter2, typename BidirectionalIter3\> BidirectionalIter3 **\_\_merge\_backward** (BidirectionalIter1 first1, BidirectionalIter1 last1, BidirectionalIter2 first2, BidirectionalIter2 last2, BidirectionalIter3 \_\_result)\
 template\<typename BidirectionalIter1, typename BidirectionalIter2, typename BidirectionalIter3, typename Compare\> BidirectionalIter3 **\_\_merge\_backward** (BidirectionalIter1 first1, BidirectionalIter1 last1, BidirectionalIter2 first2, BidirectionalIter2 last2, BidirectionalIter3 \_\_result, Compare comp)\
 template\<typename BidirectionalIter, typename Distance, typename Pointer\> void **\_\_merge\_adaptive** (BidirectionalIter first, BidirectionalIter \_\_middle, BidirectionalIter last, Distance \_\_len1, Distance \_\_len2, Pointer \_\_buffer, Distance \_\_buffer\_size)\
 template\<typename BidirectionalIter, typename Distance, typename Pointer, typename Compare\> void **\_\_merge\_adaptive** (BidirectionalIter first, BidirectionalIter \_\_middle, BidirectionalIter last, Distance \_\_len1, Distance \_\_len2, Pointer \_\_buffer, Distance \_\_buffer\_size, Compare comp)\
 template\<typename BidirectionalIter\> void **inplace\_merge** (BidirectionalIter first, BidirectionalIter \_\_middle, BidirectionalIter last)\
 *Merges two sorted ranges in place.*  template\<typename BidirectionalIter, typename Compare\> void **inplace\_merge** (BidirectionalIter first, BidirectionalIter \_\_middle, BidirectionalIter last, Compare comp)\
 *Merges two sorted ranges in place.*  template\<typename InputIter1, typename InputIter2\> bool **includes** (InputIter1 first1, InputIter1 last1, InputIter2 first2, InputIter2 last2)\
 template\<typename InputIter1, typename InputIter2, typename Compare\> bool **includes** (InputIter1 first1, InputIter1 last1, InputIter2 first2, InputIter2 last2, Compare comp)\
 template\<typename InputIter1, typename InputIter2, typename OutputIter\> OutputIter **set\_union** (InputIter1 first1, InputIter1 last1, InputIter2 first2, InputIter2 last2, OutputIter \_\_result)\
 template\<typename InputIter1, typename InputIter2, typename OutputIter, typename Compare\> OutputIter **set\_union** (InputIter1 first1, InputIter1 last1, InputIter2 first2, InputIter2 last2, OutputIter \_\_result, Compare comp)\
 template\<typename InputIter1, typename InputIter2, typename OutputIter\> OutputIter **set\_intersection** (InputIter1 first1, InputIter1 last1, InputIter2 first2, InputIter2 last2, OutputIter \_\_result)\
 template\<typename InputIter1, typename InputIter2, typename OutputIter, typename Compare\> OutputIter **set\_intersection** (InputIter1 first1, InputIter1 last1, InputIter2 first2, InputIter2 last2, OutputIter \_\_result, Compare comp)\
 template\<typename InputIter1, typename InputIter2, typename OutputIter\> OutputIter **set\_difference** (InputIter1 first1, InputIter1 last1, InputIter2 first2, InputIter2 last2, OutputIter \_\_result)\
 template\<typename InputIter1, typename InputIter2, typename OutputIter, typename Compare\> OutputIter **set\_difference** (InputIter1 first1, InputIter1 last1, InputIter2 first2, InputIter2 last2, OutputIter \_\_result, Compare comp)\
 template\<typename InputIter1, typename InputIter2, typename OutputIter\> OutputIter **set\_symmetric\_difference** (InputIter1 first1, InputIter1 last1, InputIter2 first2, InputIter2 last2, OutputIter \_\_result)\
 template\<typename InputIter1, typename InputIter2, typename OutputIter, typename Compare\> OutputIter **set\_symmetric\_difference** (InputIter1 first1, InputIter1 last1, InputIter2 first2, InputIter2 last2, OutputIter \_\_result, Compare comp)\
 template\<typename ForwardIter\> ForwardIter **max\_element** (ForwardIter first, ForwardIter last)\
 template\<typename ForwardIter, typename Compare\> ForwardIter **max\_element** (ForwardIter first, ForwardIter last, Compare comp)\
 template\<typename ForwardIter\> ForwardIter **min\_element** (ForwardIter first, ForwardIter last)\
 template\<typename ForwardIter, typename Compare\> ForwardIter **min\_element** (ForwardIter first, ForwardIter last, Compare comp)\
 template\<typename BidirectionalIter\> bool **next\_permutation** (BidirectionalIter first, BidirectionalIter last)\
 template\<typename BidirectionalIter, typename Compare\> bool **next\_permutation** (BidirectionalIter first, BidirectionalIter last, Compare comp)\
 template\<typename BidirectionalIter\> bool **prev\_permutation** (BidirectionalIter first, BidirectionalIter last)\
 template\<typename BidirectionalIter, typename Compare\> bool **prev\_permutation** (BidirectionalIter first, BidirectionalIter last, Compare comp)\
 template\<typename InputIter, typename ForwardIter\> InputIter **find\_first\_of** (InputIter first1, InputIter last1, ForwardIter first2, ForwardIter last2)\
 template\<typename InputIter, typename ForwardIter, typename BinaryPredicate\> InputIter **find\_first\_of** (InputIter first1, InputIter last1, ForwardIter first2, ForwardIter last2, BinaryPredicate comp)\
 template\<typename ForwardIter1, typename ForwardIter2\> ForwardIter1 **\_\_find\_end** (ForwardIter1 first1, ForwardIter1 last1, ForwardIter2 first2, ForwardIter2 last2, **forward\_iterator\_tag**, **forward\_iterator\_tag**)\
 template\<typename ForwardIter1, typename ForwardIter2, typename BinaryPredicate\> ForwardIter1 **\_\_find\_end** (ForwardIter1 first1, ForwardIter1 last1, ForwardIter2 first2, ForwardIter2 last2, **forward\_iterator\_tag**, **forward\_iterator\_tag**, BinaryPredicate comp)\
 template\<typename BidirectionalIter1, typename BidirectionalIter2\> BidirectionalIter1 **\_\_find\_end** (BidirectionalIter1 first1, BidirectionalIter1 last1, BidirectionalIter2 first2, BidirectionalIter2 last2, **bidirectional\_iterator\_tag**, **bidirectional\_iterator\_tag**)\
 template\<typename BidirectionalIter1, typename BidirectionalIter2, typename BinaryPredicate\> BidirectionalIter1 **\_\_find\_end** (BidirectionalIter1 first1, BidirectionalIter1 last1, BidirectionalIter2 first2, BidirectionalIter2 last2, **bidirectional\_iterator\_tag**, **bidirectional\_iterator\_tag**, BinaryPredicate comp)\
 template\<typename ForwardIter1, typename ForwardIter2\> ForwardIter1 **find\_end** (ForwardIter1 first1, ForwardIter1 last1, ForwardIter2 first2, ForwardIter2 last2)\
 template\<typename ForwardIter1, typename ForwardIter2, typename BinaryPredicate\> ForwardIter1 **find\_end** (ForwardIter1 first1, ForwardIter1 last1, ForwardIter2 first2, ForwardIter2 last2, BinaryPredicate comp)\
 template\<typename ForwardIter1, typename ForwardIter2\> void **iter\_swap** (ForwardIter1 a, ForwardIter2 \_\_b)\
 *Swaps the contents of two iterators.*  template\<typename Type\> void **swap** (Type &a, Type &\_\_b)\
 *Swaps two values.*  template\<typename Type\> const Type & **min** (const Type &a, const Type &\_\_b)\
 *This does what you think it does.*  template\<typename Type\> const Type & **max** (const Type &a, const Type &\_\_b)\
 *This does what you think it does.*  template\<typename Type, typename Compare\> const Type & **min** (const Type &a, const Type &\_\_b, Compare comp)\
 *This does what you think it does.*  template\<typename Type, typename Compare\> const Type & **max** (const Type &a, const Type &\_\_b, Compare comp)\
 *This does what you think it does.*  template\<typename InputIter, typename OutputIter\> OutputIter **copy** (InputIter first, InputIter last, OutputIter \_\_result, **input\_iterator\_tag**)\
 template\<typename RandomAccessIter, typename OutputIter\> OutputIter **copy** (RandomAccessIter first, RandomAccessIter last, OutputIter \_\_result, **random\_access\_iterator\_tag**)\
 template\<typename Type\> Type \* **copy\_trivial** (const Type \*first, const Type \*last, Type \*\_\_result)\
 template\<typename InputIter, typename OutputIter\> OutputIter **copy\_aux2** (InputIter first, InputIter last, OutputIter \_\_result, **\_\_false\_type**)\
 template\<typename InputIter, typename OutputIter\> OutputIter **copy\_aux2** (InputIter first, InputIter last, OutputIter \_\_result, **\_\_true\_type**)\
 template\<typename Type\> Type \* **copy\_aux2** (Type \*first, Type \*last, Type \*\_\_result, **\_\_true\_type**)\
 template\<typename Type\> Type \* **copy\_aux2** (const Type \*first, const Type \*last, Type \*\_\_result, **\_\_true\_type**)\
 template\<typename InputIter, typename OutputIter\> OutputIter **copy\_ni2** (InputIter first, InputIter last, OutputIter \_\_result, **\_\_true\_type**)\
 template\<typename InputIter, typename OutputIter\> OutputIter **copy\_ni2** (InputIter first, InputIter last, OutputIter \_\_result, **\_\_false\_type**)\
 template\<typename InputIter, typename OutputIter\> OutputIter **copy\_ni1** (InputIter first, InputIter last, OutputIter \_\_result, **\_\_true\_type**)\
 template\<typename InputIter, typename OutputIter\> OutputIter **copy\_ni1** (InputIter first, InputIter last, OutputIter \_\_result, **\_\_false\_type**)\
 template\<typename InputIter, typename OutputIter\> OutputIter **copy** (InputIter first, InputIter last, OutputIter \_\_result)\
 *Copies the range \[first,last) into result.*  template\<typename BidirectionalIter1, typename BidirectionalIter2\> BidirectionalIter2 **copy\_backward** (BidirectionalIter1 first, BidirectionalIter1 last, BidirectionalIter2 \_\_result, **bidirectional\_iterator\_tag**)\
 template\<typename RandomAccessIter, typename BidirectionalIter\> BidirectionalIter **copy\_backward** (RandomAccessIter first, RandomAccessIter last, BidirectionalIter \_\_result, **random\_access\_iterator\_tag**)\
 template\<typename BI1, typename BI2\> BI2 **copy\_backward\_aux** (BI1 first, BI1 last, BI2 \_\_result)\
 template\<typename BI1, typename BI2\> BI2 **copy\_backward\_output\_normal\_iterator** (BI1 first, BI1 last, BI2 \_\_result, **\_\_true\_type**)\
 template\<typename BI1, typename BI2\> BI2 **copy\_backward\_output\_normal\_iterator** (BI1 first, BI1 last, BI2 \_\_result, **\_\_false\_type**)\
 template\<typename BI1, typename BI2\> BI2 **copy\_backward\_input\_normal\_iterator** (BI1 first, BI1 last, BI2 \_\_result, **\_\_true\_type**)\
 template\<typename BI1, typename BI2\> BI2 **copy\_backward\_input\_normal\_iterator** (BI1 first, BI1 last, BI2 \_\_result, **\_\_false\_type**)\
 template\<typename BI1, typename BI2\> BI2 **copy\_backward** (BI1 first, BI1 last, BI2 \_\_result)\
 *Copies the range \[first,last) into result.*  template\<typename ForwardIter, typename Type\> void **fill** (ForwardIter first, ForwardIter last, const Type &value)\
 *Fills the range \[first,last) with copies of value.*  template\<typename OutputIter, typename Size, typename Type\> OutputIter **fill\_n** (OutputIter first, Size n, const Type &value)\
 *Fills the range \[first,first+n) with copies of value.*  void **fill** (unsigned char \*first, unsigned char \*last, const unsigned char &c)\
 void **fill** (signed char \*first, signed char \*last, const signed char &c)\
 void **fill** (char \*first, char \*last, const char &c)\
 template\<typename Size\> unsigned char \* **fill\_n** (unsigned char \*first, Size n, const unsigned char &c)\
 template\<typename Size\> signed char \* **fill\_n** (char \*first, Size n, const signed char &c)\
 template\<typename Size\> char \* **fill\_n** (char \*first, Size n, const char &c)\
 template\<typename InputIter1, typename InputIter2\> **pair**\< InputIter1, InputIter2 \> **mismatch** (InputIter1 first1, InputIter1 last1, InputIter2 first2)\
 *Finds the places in ranges which don't match.*  template\<typename InputIter1, typename InputIter2, typename BinaryPredicate\> **pair**\< InputIter1, InputIter2 \> **mismatch** (InputIter1 first1, InputIter1 last1, InputIter2 first2, BinaryPredicate \_\_binary\_pred)\
 *Finds the places in ranges which don't match.*  template\<typename InputIter1, typename InputIter2\> bool **equal** (InputIter1 first1, InputIter1 last1, InputIter2 first2)\
 *Tests a range for element-wise equality.*  template\<typename InputIter1, typename InputIter2, typename BinaryPredicate\> bool **equal** (InputIter1 first1, InputIter1 last1, InputIter2 first2, BinaryPredicate \_\_binary\_pred)\
 *Tests a range for element-wise equality.*  template\<typename InputIter1, typename InputIter2\> bool **lexicographical\_compare** (InputIter1 first1, InputIter1 last1, InputIter2 first2, InputIter2 last2)\
 *Performs 'dictionary' comparison on ranges.*  template\<typename InputIter1, typename InputIter2, typename Compare\> bool **lexicographical\_compare** (InputIter1 first1, InputIter1 last1, InputIter2 first2, InputIter2 last2, Compare comp)\
 *Performs 'dictionary' comparison on ranges.*  bool **lexicographical\_compare** (const unsigned char \*first1, const unsigned char \*last1, const unsigned char \*first2, const unsigned char \*last2)\
 bool **lexicographical\_compare** (const char \*first1, const char \*last1, const char \*first2, const char \*last2)\
 template\<bool \_\_threads, int inst\> bool **operator==** (const **\_\_default\_alloc\_template**\< \_\_threads, inst \> &, const **\_\_default\_alloc\_template**\< \_\_threads, inst \> &)\
 template\<bool \_\_threads, int inst\> bool **operator!=** (const **\_\_default\_alloc\_template**\< \_\_threads, inst \> &, const **\_\_default\_alloc\_template**\< \_\_threads, inst \> &)\
 template\<typename T1, typename T2\> bool **operator==** (const **allocator**\< T1 \> &, const **allocator**\< T2 \> &)\
 template\<typename T1, typename T2\> bool **operator!=** (const **allocator**\< T1 \> &, const **allocator**\< T2 \> &)\
 template\<typename Type, typename Alloc\> bool **operator==** (const **allocator**\< Type, Alloc \> &a1, const **allocator**\< Type, Alloc \> &a2)\
 template\<typename Type, typename Alloc\> bool **operator!=** (const **allocator**\< Type, Alloc \> &a1, const **allocator**\< Type, Alloc \> &a2)\
 ptrdiff\_t **operator-** (const **Bit\_iterator\_base** &x, const **Bit\_iterator\_base** &y)\
 **Bit\_iterator** **operator+** (ptrdiff\_t n, const **Bit\_iterator** &x)\
 **Bit\_const\_iterator** **operator+** (ptrdiff\_t n, const **Bit\_const\_iterator** &x)\
 template\<class T1, class T2\> void **Construct** (T1 \*\_\_p, const T2 &value)\
 template\<class T1\> void **Construct** (T1 \*\_\_p)\
 template\<class ForwardIterator\> void **\_\_destroy\_aux** (ForwardIterator first, ForwardIterator last, **\_\_false\_type**)\
 template\<class ForwardIterator\> void **\_\_destroy\_aux** (ForwardIterator, ForwardIterator, **\_\_true\_type**)\
 template\<class Type\> void **Destroy** (Type \*\_\_pointer)\
 template\<class ForwardIterator\> void **Destroy** (ForwardIterator first, ForwardIterator last)\
 size\_t **\_\_deque\_buf\_size** (size\_t size)\
 template\<typename Type, typename Ref, typename Ptr\> bool **operator==** (const **Deque\_iterator**\< Type, Ref, Ptr \> &x, const **Deque\_iterator**\< Type, Ref, Ptr \> &y)\
 template\<typename Type, typename RefL, typename PtrL, typename RefR, typename PtrR\> bool **operator==** (const **Deque\_iterator**\< Type, RefL, PtrL \> &x, const **Deque\_iterator**\< Type, RefR, PtrR \> &y)\
 template\<typename Type, typename Ref, typename Ptr\> bool **operator!=** (const **Deque\_iterator**\< Type, Ref, Ptr \> &x, const **Deque\_iterator**\< Type, Ref, Ptr \> &y)\
 template\<typename Type, typename RefL, typename PtrL, typename RefR, typename PtrR\> bool **operator!=** (const **Deque\_iterator**\< Type, RefL, PtrL \> &x, const **Deque\_iterator**\< Type, RefR, PtrR \> &y)\
 template\<typename Type, typename Ref, typename Ptr\> bool **operator\<** (const **Deque\_iterator**\< Type, Ref, Ptr \> &x, const **Deque\_iterator**\< Type, Ref, Ptr \> &y)\
 template\<typename Type, typename RefL, typename PtrL, typename RefR, typename PtrR\> bool **operator\<** (const **Deque\_iterator**\< Type, RefL, PtrL \> &x, const **Deque\_iterator**\< Type, RefR, PtrR \> &y)\
 template\<typename Type, typename Ref, typename Ptr\> bool **operator\>** (const **Deque\_iterator**\< Type, Ref, Ptr \> &x, const **Deque\_iterator**\< Type, Ref, Ptr \> &y)\
 template\<typename Type, typename RefL, typename PtrL, typename RefR, typename PtrR\> bool **operator\>** (const **Deque\_iterator**\< Type, RefL, PtrL \> &x, const **Deque\_iterator**\< Type, RefR, PtrR \> &y)\
 template\<typename Type, typename Ref, typename Ptr\> bool **operator\<=** (const **Deque\_iterator**\< Type, Ref, Ptr \> &x, const **Deque\_iterator**\< Type, Ref, Ptr \> &y)\
 template\<typename Type, typename RefL, typename PtrL, typename RefR, typename PtrR\> bool **operator\<=** (const **Deque\_iterator**\< Type, RefL, PtrL \> &x, const **Deque\_iterator**\< Type, RefR, PtrR \> &y)\
 template\<typename Type, typename Ref, typename Ptr\> bool **operator\>=** (const **Deque\_iterator**\< Type, Ref, Ptr \> &x, const **Deque\_iterator**\< Type, Ref, Ptr \> &y)\
 template\<typename Type, typename RefL, typename PtrL, typename RefR, typename PtrR\> bool **operator\>=** (const **Deque\_iterator**\< Type, RefL, PtrL \> &x, const **Deque\_iterator**\< Type, RefR, PtrR \> &y)\
 template\<typename Type, typename RefL, typename PtrL, typename RefR, typename PtrR\> **Deque\_iterator**\< Type, RefL, PtrL \>::difference\_type **operator-** (const **Deque\_iterator**\< Type, RefL, PtrL \> &x, const **Deque\_iterator**\< Type, RefR, PtrR \> &y)\
 template\<typename Type, typename Ref, typename Ptr\> **Deque\_iterator**\< Type, Ref, Ptr \> **operator+** (ptrdiff\_t n, const **Deque\_iterator**\< Type, Ref, Ptr \> &x)\
 template\<typename Type, typename Alloc\> bool **operator==** (const **deque**\< Type, Alloc \> &x, const **deque**\< Type, Alloc \> &y)\
 *Deque equality comparison.*  template\<typename Type, typename Alloc\> bool **operator\<** (const **deque**\< Type, Alloc \> &x, const **deque**\< Type, Alloc \> &y)\
 *Deque ordering relation.*  template\<typename Type, typename Alloc\> bool **operator!=** (const **deque**\< Type, Alloc \> &x, const **deque**\< Type, Alloc \> &y)\
 *Based on operator==.*  template\<typename Type, typename Alloc\> bool **operator\>** (const **deque**\< Type, Alloc \> &x, const **deque**\< Type, Alloc \> &y)\
 *Based on operator\<.*  template\<typename Type, typename Alloc\> bool **operator\<=** (const **deque**\< Type, Alloc \> &x, const **deque**\< Type, Alloc \> &y)\
 *Based on operator\<.*  template\<typename Type, typename Alloc\> bool **operator\>=** (const **deque**\< Type, Alloc \> &x, const **deque**\< Type, Alloc \> &y)\
 *Based on operator\<.*  template\<typename Type, typename Alloc\> void **swap** (**deque**\< Type, Alloc \> &x, **deque**\< Type, Alloc \> &y)\
 *See* **std::deque::swap()***.*  template\<class Predicate\> **unary\_negate**\< Predicate \> **not1** (const Predicate &pred)\
 *One of the* **negation functors***.*  template\<class Predicate\> **binary\_negate**\< Predicate \> **not2** (const Predicate &pred)\
 *One of the* **negation functors***.*  template\<class Operation, class Type\> **binder1st**\< Operation \> **bind1st** (const Operation &\_\_fn, const Type &x)\
 *One of the* **binder functors***.*  template\<class Operation, class Type\> **binder2nd**\< Operation \> **bind2nd** (const Operation &\_\_fn, const Type &x)\
 *One of the* **binder functors***.*  template\<class Arg, class Result\> **pointer\_to\_unary\_function**\< Arg, Result \> **ptr\_fun** (Result(\*x)(Arg))\
 *One of the* **adaptors for function pointers***.*  template\<class Arg1, class Arg2, class Result\> **pointer\_to\_binary\_function**\< Arg1, Arg2, Result \> **ptr\_fun** (Result(\*x)(Arg1, Arg2))\
 *One of the* **adaptors for function pointers***.*  template\<class Ret, class Type\> **mem\_fun\_t**\< Ret, Type \> **mem\_fun** (Ret(Type::\*\_\_f)())\
 template\<class Ret, class Type\> **mem\_fun\_ref\_t**\< Ret, Type \> **mem\_fun\_ref** (Ret(Type::\*\_\_f)())\
 template\<class Ret, class Type, class Arg\> **mem\_fun1\_t**\< Ret, Type, Arg \> **mem\_fun** (Ret(Type::\*\_\_f)(Arg))\
 template\<class Ret, class Type, class Arg\> **mem\_fun1\_ref\_t**\< Ret, Type, Arg \> **mem\_fun\_ref** (Ret(Type::\*\_\_f)(Arg))\
 template\<typename RandomAccessIterator, typename Distance, typename Type\> void **\_\_push\_heap** (RandomAccessIterator first, Distance \_\_holeIndex, Distance \_\_topIndex, Type value)\
 template\<typename RandomAccessIterator\> void **push\_heap** (RandomAccessIterator first, RandomAccessIterator last)\
 template\<typename RandomAccessIterator, typename Distance, typename Type, typename Compare\> void **\_\_push\_heap** (RandomAccessIterator first, Distance \_\_holeIndex, Distance \_\_topIndex, Type value, Compare comp)\
 template\<typename RandomAccessIterator, typename Compare\> void **push\_heap** (RandomAccessIterator first, RandomAccessIterator last, Compare comp)\
 template\<typename RandomAccessIterator, typename Distance, typename Type\> void **adjust\_heap** (RandomAccessIterator first, Distance \_\_holeIndex, Distance \_\_len, Type value)\
 template\<typename RandomAccessIterator, typename Type\> void **\_\_pop\_heap** (RandomAccessIterator first, RandomAccessIterator last, RandomAccessIterator \_\_result, Type value)\
 template\<typename RandomAccessIterator\> void **pop\_heap** (RandomAccessIterator first, RandomAccessIterator last)\
 template\<typename RandomAccessIterator, typename Distance, typename Type, typename Compare\> void **adjust\_heap** (RandomAccessIterator first, Distance \_\_holeIndex, Distance \_\_len, Type value, Compare comp)\
 template\<typename RandomAccessIterator, typename Type, typename Compare\> void **\_\_pop\_heap** (RandomAccessIterator first, RandomAccessIterator last, RandomAccessIterator \_\_result, Type value, Compare comp)\
 template\<typename RandomAccessIterator, typename Compare\> void **pop\_heap** (RandomAccessIterator first, RandomAccessIterator last, Compare comp)\
 template\<typename RandomAccessIterator\> void **make\_heap** (RandomAccessIterator first, RandomAccessIterator last)\
 template\<typename RandomAccessIterator, typename Compare\> void **make\_heap** (RandomAccessIterator first, RandomAccessIterator last, Compare comp)\
 template\<typename RandomAccessIterator\> void **sort\_heap** (RandomAccessIterator first, RandomAccessIterator last)\
 template\<typename RandomAccessIterator, typename Compare\> void **sort\_heap** (RandomAccessIterator first, RandomAccessIterator last, Compare comp)\
 template\<typename Container\> **back\_insert\_iterator**\< Container \> **back\_inserter** (Container &x)\
 template\<typename Container\> **front\_insert\_iterator**\< Container \> **front\_inserter** (Container &x)\
 template\<typename Container, typename Iterator\> **insert\_iterator**\< Container \> **inserter** (Container &x, Iterator \_\_i)\
 template\<typename InputIterator\> **iterator\_traits**\< InputIterator \>::difference\_type **\_\_distance** (InputIterator first, InputIterator last, **input\_iterator\_tag**)\
 template\<typename RandomAccessIterator\> **iterator\_traits**\< RandomAccessIterator \>::difference\_type **\_\_distance** (RandomAccessIterator first, RandomAccessIterator last, **random\_access\_iterator\_tag**)\
 template\<typename InputIterator\> **iterator\_traits**\< InputIterator \>::difference\_type **distance** (InputIterator first, InputIterator last)\
 *A generalization of pointer arithmetic.*  template\<typename InputIter, typename Distance\> void **advance** (InputIter &\_\_i, Distance n, **input\_iterator\_tag**)\
 template\<typename BidirectionalIterator, typename Distance\> void **advance** (BidirectionalIterator &\_\_i, Distance n, **bidirectional\_iterator\_tag**)\
 template\<typename RandomAccessIterator, typename Distance\> void **advance** (RandomAccessIterator &\_\_i, Distance n, **random\_access\_iterator\_tag**)\
 template\<typename InputIterator, typename Distance\> void **advance** (InputIterator &\_\_i, Distance n)\
 *A generalization of pointer arithmetic.*  template\<typename Iter\> **iterator\_traits**\< Iter \>::iterator\_category **\_\_iterator\_category** (const Iter &)\
 template\<typename Type, typename Alloc\> bool **operator==** (const **list**\< Type, Alloc \> &x, const **list**\< Type, Alloc \> &y)\
 *List equality comparison.*  template\<typename Type, typename Alloc\> bool **operator\<** (const **list**\< Type, Alloc \> &x, const **list**\< Type, Alloc \> &y)\
 *List ordering relation.*  template\<typename Type, typename Alloc\> bool **operator!=** (const **list**\< Type, Alloc \> &x, const **list**\< Type, Alloc \> &y)\
 *Based on operator==.*  template\<typename Type, typename Alloc\> bool **operator\>** (const **list**\< Type, Alloc \> &x, const **list**\< Type, Alloc \> &y)\
 *Based on operator\<.*  template\<typename Type, typename Alloc\> bool **operator\<=** (const **list**\< Type, Alloc \> &x, const **list**\< Type, Alloc \> &y)\
 *Based on operator\<.*  template\<typename Type, typename Alloc\> bool **operator\>=** (const **list**\< Type, Alloc \> &x, const **list**\< Type, Alloc \> &y)\
 *Based on operator\<.*  template\<typename Type, typename Alloc\> void **swap** (**list**\< Type, Alloc \> &x, **list**\< Type, Alloc \> &y)\
 *See* **std::list::swap()***.*  template\<typename Key, typename Type, typename Compare, typename Alloc\> bool **operator==** (const **map**\< Key, Type, Compare, Alloc \> &x, const **map**\< Key, Type, Compare, Alloc \> &y)\
 *Map equality comparison.*  template\<typename Key, typename Type, typename Compare, typename Alloc\> bool **operator\<** (const **map**\< Key, Type, Compare, Alloc \> &x, const **map**\< Key, Type, Compare, Alloc \> &y)\
 *Map ordering relation.*  template\<typename Key, typename Type, typename Compare, typename Alloc\> bool **operator!=** (const **map**\< Key, Type, Compare, Alloc \> &x, const **map**\< Key, Type, Compare, Alloc \> &y)\
 *Based on operator==.*  template\<typename Key, typename Type, typename Compare, typename Alloc\> bool **operator\>** (const **map**\< Key, Type, Compare, Alloc \> &x, const **map**\< Key, Type, Compare, Alloc \> &y)\
 *Based on operator\<.*  template\<typename Key, typename Type, typename Compare, typename Alloc\> bool **operator\<=** (const **map**\< Key, Type, Compare, Alloc \> &x, const **map**\< Key, Type, Compare, Alloc \> &y)\
 *Based on operator\<.*  template\<typename Key, typename Type, typename Compare, typename Alloc\> bool **operator\>=** (const **map**\< Key, Type, Compare, Alloc \> &x, const **map**\< Key, Type, Compare, Alloc \> &y)\
 *Based on operator\<.*  template\<typename Key, typename Type, typename Compare, typename Alloc\> void **swap** (**map**\< Key, Type, Compare, Alloc \> &x, **map**\< Key, Type, Compare, Alloc \> &y)\
 *See* **std::map::swap()***.*  template\<typename Key, typename Type, typename Compare, typename Alloc\> bool **operator==** (const **multimap**\< Key, Type, Compare, Alloc \> &x, const **multimap**\< Key, Type, Compare, Alloc \> &y)\
 *Multimap equality comparison.*  template\<typename Key, typename Type, typename Compare, typename Alloc\> bool **operator\<** (const **multimap**\< Key, Type, Compare, Alloc \> &x, const **multimap**\< Key, Type, Compare, Alloc \> &y)\
 *Multimap ordering relation.*  template\<typename Key, typename Type, typename Compare, typename Alloc\> bool **operator!=** (const **multimap**\< Key, Type, Compare, Alloc \> &x, const **multimap**\< Key, Type, Compare, Alloc \> &y)\
 *Based on operator==.*  template\<typename Key, typename Type, typename Compare, typename Alloc\> bool **operator\>** (const **multimap**\< Key, Type, Compare, Alloc \> &x, const **multimap**\< Key, Type, Compare, Alloc \> &y)\
 *Based on operator\<.*  template\<typename Key, typename Type, typename Compare, typename Alloc\> bool **operator\<=** (const **multimap**\< Key, Type, Compare, Alloc \> &x, const **multimap**\< Key, Type, Compare, Alloc \> &y)\
 *Based on operator\<.*  template\<typename Key, typename Type, typename Compare, typename Alloc\> bool **operator\>=** (const **multimap**\< Key, Type, Compare, Alloc \> &x, const **multimap**\< Key, Type, Compare, Alloc \> &y)\
 *Based on operator\<.*  template\<typename Key, typename Type, typename Compare, typename Alloc\> void **swap** (**multimap**\< Key, Type, Compare, Alloc \> &x, **multimap**\< Key, Type, Compare, Alloc \> &y)\
 *See* **std::multimap::swap()***.*  template\<class Key, class Compare, class Alloc\> bool **operator==** (const **multiset**\< Key, Compare, Alloc \> &x, const **multiset**\< Key, Compare, Alloc \> &y)\
 template\<class Key, class Compare, class Alloc\> bool **operator\<** (const **multiset**\< Key, Compare, Alloc \> &x, const **multiset**\< Key, Compare, Alloc \> &y)\
 template\<class Key, class Compare, class Alloc\> bool **operator!=** (const **multiset**\< Key, Compare, Alloc \> &x, const **multiset**\< Key, Compare, Alloc \> &y)\
 template\<class Key, class Compare, class Alloc\> bool **operator\>** (const **multiset**\< Key, Compare, Alloc \> &x, const **multiset**\< Key, Compare, Alloc \> &y)\
 template\<class Key, class Compare, class Alloc\> bool **operator\<=** (const **multiset**\< Key, Compare, Alloc \> &x, const **multiset**\< Key, Compare, Alloc \> &y)\
 template\<class Key, class Compare, class Alloc\> bool **operator\>=** (const **multiset**\< Key, Compare, Alloc \> &x, const **multiset**\< Key, Compare, Alloc \> &y)\
 template\<class Key, class Compare, class Alloc\> void **swap** (**multiset**\< Key, Compare, Alloc \> &x, **multiset**\< Key, Compare, Alloc \> &y)\
 template\<typename InputIterator, typename Type\> Type **accumulate** (InputIterator first, InputIterator last, Type init)\
 template\<typename InputIterator, typename Type, typename BinaryOperation\> Type **accumulate** (InputIterator first, InputIterator last, Type init, BinaryOperation \_\_binary\_op)\
 template\<typename InputIterator1, typename InputIterator2, typename Type\> Type **inner\_product** (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, Type init)\
 template\<typename InputIterator1, typename InputIterator2, typename Type, typename BinaryOperation1, typename BinaryOperation2\> Type **inner\_product** (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, Type init, BinaryOperation1 \_\_binary\_op1, BinaryOperation2 \_\_binary\_op2)\
 template\<typename InputIterator, typename OutputIterator\> OutputIterator **partial\_sum** (InputIterator first, InputIterator last, OutputIterator \_\_result)\
 template\<typename InputIterator, typename OutputIterator, typename BinaryOperation\> OutputIterator **partial\_sum** (InputIterator first, InputIterator last, OutputIterator \_\_result, BinaryOperation \_\_binary\_op)\
 template\<typename InputIterator, typename OutputIterator\> OutputIterator **adjacent\_difference** (InputIterator first, InputIterator last, OutputIterator \_\_result)\
 template\<typename InputIterator, typename OutputIterator, typename BinaryOperation\> OutputIterator **adjacent\_difference** (InputIterator first, InputIterator last, OutputIterator \_\_result, BinaryOperation \_\_binary\_op)\
 template\<class T1, class T2\> bool **operator==** (const **pair**\< T1, T2 \> &x, const **pair**\< T1, T2 \> &y)\
 *Two pairs of the same type are equal iff their members are equal.*  template\<class T1, class T2\> bool **operator\<** (const **pair**\< T1, T2 \> &x, const **pair**\< T1, T2 \> &y)\
 *\<http://gcc.gnu.org/onlinedocs/libstdc++/20\_util/howto.html#pairlt\>*  template\<class T1, class T2\> bool **operator!=** (const **pair**\< T1, T2 \> &x, const **pair**\< T1, T2 \> &y)\
 *Uses* `operator==` *to find the result.*  template\<class T1, class T2\> bool **operator\>** (const **pair**\< T1, T2 \> &x, const **pair**\< T1, T2 \> &y)\
 *Uses* `operator<` *to find the result.*  template\<class T1, class T2\> bool **operator\<=** (const **pair**\< T1, T2 \> &x, const **pair**\< T1, T2 \> &y)\
 *Uses* `operator<` *to find the result.*  template\<class T1, class T2\> bool **operator\>=** (const **pair**\< T1, T2 \> &x, const **pair**\< T1, T2 \> &y)\
 *Uses* `operator<` *to find the result.*  template\<class T1, class T2\> **pair**\< T1, T2 \> **make\_pair** (const T1 &x, const T2 &y)\
 *A convenience wrapper for creating a pair from two objects.*  template\<typename Type, typename Sequence\> bool **operator==** (const **queue**\< Type, Sequence \> &x, const **queue**\< Type, Sequence \> &y)\
 *Queue equality comparison.*  template\<typename Type, typename Sequence\> bool **operator\<** (const **queue**\< Type, Sequence \> &x, const **queue**\< Type, Sequence \> &y)\
 *Queue ordering relation.*  template\<typename Type, typename Sequence\> bool **operator!=** (const **queue**\< Type, Sequence \> &x, const **queue**\< Type, Sequence \> &y)\
 *Based on operator==.*  template\<typename Type, typename Sequence\> bool **operator\>** (const **queue**\< Type, Sequence \> &x, const **queue**\< Type, Sequence \> &y)\
 *Based on operator\<.*  template\<typename Type, typename Sequence\> bool **operator\<=** (const **queue**\< Type, Sequence \> &x, const **queue**\< Type, Sequence \> &y)\
 *Based on operator\<.*  template\<typename Type, typename Sequence\> bool **operator\>=** (const **queue**\< Type, Sequence \> &x, const **queue**\< Type, Sequence \> &y)\
 *Based on operator\<.*  template\<class Key, class Compare, class Alloc\> bool **operator==** (const **set**\< Key, Compare, Alloc \> &x, const **set**\< Key, Compare, Alloc \> &y)\
 template\<class Key, class Compare, class Alloc\> bool **operator\<** (const **set**\< Key, Compare, Alloc \> &x, const **set**\< Key, Compare, Alloc \> &y)\
 template\<class Key, class Compare, class Alloc\> bool **operator!=** (const **set**\< Key, Compare, Alloc \> &x, const **set**\< Key, Compare, Alloc \> &y)\
 template\<class Key, class Compare, class Alloc\> bool **operator\>** (const **set**\< Key, Compare, Alloc \> &x, const **set**\< Key, Compare, Alloc \> &y)\
 template\<class Key, class Compare, class Alloc\> bool **operator\<=** (const **set**\< Key, Compare, Alloc \> &x, const **set**\< Key, Compare, Alloc \> &y)\
 template\<class Key, class Compare, class Alloc\> bool **operator\>=** (const **set**\< Key, Compare, Alloc \> &x, const **set**\< Key, Compare, Alloc \> &y)\
 template\<class Key, class Compare, class Alloc\> void **swap** (**set**\< Key, Compare, Alloc \> &x, **set**\< Key, Compare, Alloc \> &y)\
 template\<typename Type, typename Seq\> bool **operator==** (const **stack**\< Type, Seq \> &x, const **stack**\< Type, Seq \> &y)\
 *Stack equality comparison.*  template\<typename Type, typename Seq\> bool **operator\<** (const **stack**\< Type, Seq \> &x, const **stack**\< Type, Seq \> &y)\
 *Stack ordering relation.*  template\<typename Type, typename Seq\> bool **operator!=** (const **stack**\< Type, Seq \> &x, const **stack**\< Type, Seq \> &y)\
 *Based on operator==.*  template\<typename Type, typename Seq\> bool **operator\>** (const **stack**\< Type, Seq \> &x, const **stack**\< Type, Seq \> &y)\
 *Based on operator\<.*  template\<typename Type, typename Seq\> bool **operator\<=** (const **stack**\< Type, Seq \> &x, const **stack**\< Type, Seq \> &y)\
 *Based on operator\<.*  template\<typename Type, typename Seq\> bool **operator\>=** (const **stack**\< Type, Seq \> &x, const **stack**\< Type, Seq \> &y)\
 *Based on operator\<.*  template\<typename Val, typename Ref, typename Ptr\> bool **operator==** (const **Rb\_tree\_iterator**\< Val, Ref, Ptr \> &x, const **Rb\_tree\_iterator**\< Val, Ref, Ptr \> &y)\
 template\<typename Val\> bool **operator==** (const **Rb\_tree\_iterator**\< Val, const Val &, const Val \* \> &x, const **Rb\_tree\_iterator**\< Val, Val &, Val \* \> &y)\
 template\<typename Val\> bool **operator==** (const **Rb\_tree\_iterator**\< Val, Val &, Val \* \> &x, const **Rb\_tree\_iterator**\< Val, const Val &, const Val \* \> &y)\
 template\<typename Val, typename Ref, typename Ptr\> bool **operator!=** (const **Rb\_tree\_iterator**\< Val, Ref, Ptr \> &x, const **Rb\_tree\_iterator**\< Val, Ref, Ptr \> &y)\
 template\<typename Val\> bool **operator!=** (const **Rb\_tree\_iterator**\< Val, const Val &, const Val \* \> &x, const **Rb\_tree\_iterator**\< Val, Val &, Val \* \> &y)\
 template\<typename Val\> bool **operator!=** (const **Rb\_tree\_iterator**\< Val, Val &, Val \* \> &x, const **Rb\_tree\_iterator**\< Val, const Val &, const Val \* \> &y)\
 void **Rb\_tree\_rotate\_left** (**Rb\_tree\_node\_base** \*x, **Rb\_tree\_node\_base** \*&\_\_root)\
 void **Rb\_tree\_rotate\_right** (**Rb\_tree\_node\_base** \*x, **Rb\_tree\_node\_base** \*&\_\_root)\
 void **Rb\_tree\_rebalance** (**Rb\_tree\_node\_base** \*x, **Rb\_tree\_node\_base** \*&\_\_root)\
 **Rb\_tree\_node\_base** \* **Rb\_tree\_rebalance\_for\_erase** (**Rb\_tree\_node\_base** \*\_\_z, **Rb\_tree\_node\_base** \*&\_\_root, **Rb\_tree\_node\_base** \*&\_\_leftmost, **Rb\_tree\_node\_base** \*&\_\_rightmost)\
 template\<typename Key, typename Val, typename KeyOfValue, typename Compare, typename Alloc\> bool **operator==** (const **Rb\_tree**\< Key, Val, KeyOfValue, Compare, Alloc \> &x, const **Rb\_tree**\< Key, Val, KeyOfValue, Compare, Alloc \> &y)\
 template\<typename Key, typename Val, typename KeyOfValue, typename Compare, typename Alloc\> bool **operator\<** (const **Rb\_tree**\< Key, Val, KeyOfValue, Compare, Alloc \> &x, const **Rb\_tree**\< Key, Val, KeyOfValue, Compare, Alloc \> &y)\
 template\<typename Key, typename Val, typename KeyOfValue, typename Compare, typename Alloc\> bool **operator!=** (const **Rb\_tree**\< Key, Val, KeyOfValue, Compare, Alloc \> &x, const **Rb\_tree**\< Key, Val, KeyOfValue, Compare, Alloc \> &y)\
 template\<typename Key, typename Val, typename KeyOfValue, typename Compare, typename Alloc\> bool **operator\>** (const **Rb\_tree**\< Key, Val, KeyOfValue, Compare, Alloc \> &x, const **Rb\_tree**\< Key, Val, KeyOfValue, Compare, Alloc \> &y)\
 template\<typename Key, typename Val, typename KeyOfValue, typename Compare, typename Alloc\> bool **operator\<=** (const **Rb\_tree**\< Key, Val, KeyOfValue, Compare, Alloc \> &x, const **Rb\_tree**\< Key, Val, KeyOfValue, Compare, Alloc \> &y)\
 template\<typename Key, typename Val, typename KeyOfValue, typename Compare, typename Alloc\> bool **operator\>=** (const **Rb\_tree**\< Key, Val, KeyOfValue, Compare, Alloc \> &x, const **Rb\_tree**\< Key, Val, KeyOfValue, Compare, Alloc \> &y)\
 template\<typename Key, typename Val, typename KeyOfValue, typename Compare, typename Alloc\> void **swap** (**Rb\_tree**\< Key, Val, KeyOfValue, Compare, Alloc \> &x, **Rb\_tree**\< Key, Val, KeyOfValue, Compare, Alloc \> &y)\
 int **\_\_black\_count** (**Rb\_tree\_node\_base** \*node, **Rb\_tree\_node\_base** \*\_\_root)\
 template\<typename InputIter, typename ForwardIter\> ForwardIter **\_\_uninitialized\_copy\_aux** (InputIter first, InputIter last, ForwardIter \_\_result, **\_\_true\_type**)\
 template\<typename InputIter, typename ForwardIter\> ForwardIter **\_\_uninitialized\_copy\_aux** (InputIter first, InputIter last, ForwardIter \_\_result, **\_\_false\_type**)\
 template\<typename InputIter, typename ForwardIter\> ForwardIter **uninitialized\_copy** (InputIter first, InputIter last, ForwardIter \_\_result)\
 *Copies the range \[first,last) into result.*  char \* **uninitialized\_copy** (const char \*first, const char \*last, char \*\_\_result)\
 wchar\_t \* **uninitialized\_copy** (const wchar\_t \*first, const wchar\_t \*last, wchar\_t \*\_\_result)\
 template\<typename ForwardIter, typename Type\> void **\_\_uninitialized\_fill\_aux** (ForwardIter first, ForwardIter last, const Type &x, **\_\_true\_type**)\
 template\<typename ForwardIter, typename Type\> void **\_\_uninitialized\_fill\_aux** (ForwardIter first, ForwardIter last, const Type &x, **\_\_false\_type**)\
 template\<typename ForwardIter, typename Type\> void **uninitialized\_fill** (ForwardIter first, ForwardIter last, const Type &x)\
 *Copies the value x into the range \[first,last).*  template\<typename ForwardIter, typename Size, typename Type\> ForwardIter **\_\_uninitialized\_fill\_n\_aux** (ForwardIter first, Size n, const Type &x, **\_\_true\_type**)\
 template\<typename ForwardIter, typename Size, typename Type\> ForwardIter **\_\_uninitialized\_fill\_n\_aux** (ForwardIter first, Size n, const Type &x, **\_\_false\_type**)\
 template\<typename ForwardIter, typename Size, typename Type\> ForwardIter **uninitialized\_fill\_n** (ForwardIter first, Size n, const Type &x)\
 *Copies the value x into the range \[first,first+n).*  template\<typename InputIter1, typename InputIter2, typename ForwardIter\> ForwardIter **\_\_uninitialized\_copy\_copy** (InputIter1 first1, InputIter1 last1, InputIter2 first2, InputIter2 last2, ForwardIter \_\_result)\
 template\<typename ForwardIter, typename Type, typename InputIter\> ForwardIter **\_\_uninitialized\_fill\_copy** (ForwardIter \_\_result, ForwardIter \_\_mid, const Type &x, InputIter first, InputIter last)\
 template\<typename InputIter, typename ForwardIter, typename Type\> void **\_\_uninitialized\_copy\_fill** (InputIter first1, InputIter last1, ForwardIter first2, ForwardIter last2, const Type &x)\
 template\<typename Type, typename Alloc\> bool **operator==** (const **vector**\< Type, Alloc \> &x, const **vector**\< Type, Alloc \> &y)\
 *Vector equality comparison.*  template\<typename Type, typename Alloc\> bool **operator\<** (const **vector**\< Type, Alloc \> &x, const **vector**\< Type, Alloc \> &y)\
 *Vector ordering relation.*  template\<typename Type, typename Alloc\> bool **operator!=** (const **vector**\< Type, Alloc \> &x, const **vector**\< Type, Alloc \> &y)\
 *Based on operator==.*  template\<typename Type, typename Alloc\> bool **operator\>** (const **vector**\< Type, Alloc \> &x, const **vector**\< Type, Alloc \> &y)\
 *Based on operator\<.*  template\<typename Type, typename Alloc\> bool **operator\<=** (const **vector**\< Type, Alloc \> &x, const **vector**\< Type, Alloc \> &y)\
 *Based on operator\<.*  template\<typename Type, typename Alloc\> bool **operator\>=** (const **vector**\< Type, Alloc \> &x, const **vector**\< Type, Alloc \> &y)\
 *Based on operator\<.*  template\<typename Type, typename Alloc\> void **swap** (**vector**\< Type, Alloc \> &x, **vector**\< Type, Alloc \> &y)\
 *See* **std::vector::swap()***.*  template\<typename Type, typename CharT, typename Traits, typename Dist\> bool **operator==** (const **istream\_iterator**\< Type, CharT, Traits, Dist \> &x, const **istream\_iterator**\< Type, CharT, Traits, Dist \> &y)\
 template\<class Type, class CharT, class Traits, class Dist\> bool **operator!=** (const **istream\_iterator**\< Type, CharT, Traits, Dist \> &x, const **istream\_iterator**\< Type, CharT, Traits, Dist \> &y)\
 template\<typename CharT, typename Traits\> **streamsize** **copy\_streambufs** (**basic\_ios**\< CharT, Traits \> &, **basic\_streambuf**\< CharT, Traits \> \*sbin, **basic\_streambuf**\< CharT, Traits \> \*sbout)\
 template\<typename CharT, typename Traits\> bool **operator==** (const **istreambuf\_iterator**\< CharT, Traits \> &a, const **istreambuf\_iterator**\< CharT, Traits \> &\_\_b)\
 template\<typename CharT, typename Traits\> bool **operator!=** (const **istreambuf\_iterator**\< CharT, Traits \> &a, const **istreambuf\_iterator**\< CharT, Traits \> &\_\_b)\
 void \* **\_\_valarray\_get\_memory** (size\_t n)\
 template\<typename Type\> Type \*\_\_restrict\_\_ **\_\_valarray\_get\_storage** (size\_t n)\
 void **\_\_valarray\_release\_memory** (void \*\_\_p)\
 template\<typename Type\> void **\_\_valarray\_default\_construct** (Type \*\_\_restrict\_\_ \_\_b, Type \*\_\_restrict\_\_ \_\_e)\
 template\<typename Type\> void **\_\_valarray\_fill\_construct** (Type \*\_\_restrict\_\_ \_\_b, Type \*\_\_restrict\_\_ \_\_e, const Type \_\_t)\
 template\<typename Type\> void **\_\_valarray\_copy\_construct** (const Type \*\_\_restrict\_\_ \_\_b, const Type \*\_\_restrict\_\_ \_\_e, Type \*\_\_restrict\_\_ \_\_o)\
 template\<typename Type\> void **\_\_valarray\_copy\_construct** (const Type \*\_\_restrict\_\_ a, size\_t n, size\_t s, Type \*\_\_restrict\_\_ \_\_o)\
 template\<typename Type\> void **\_\_valarray\_copy\_construct** (const Type \*\_\_restrict\_\_ a, const size\_t \*\_\_restrict\_\_ \_\_i, Type \*\_\_restrict\_\_ \_\_o, size\_t n)\
 template\<typename Type\> void **\_\_valarray\_destroy\_elements** (Type \*\_\_restrict\_\_ \_\_b, Type \*\_\_restrict\_\_ \_\_e)\
 template\<typename Type\> void **\_\_valarray\_fill** (Type \*\_\_restrict\_\_ a, size\_t n, const Type &\_\_t)\
 template\<typename Type\> void **\_\_valarray\_fill** (Type \*\_\_restrict\_\_ a, size\_t n, size\_t s, const Type &\_\_t)\
 template\<typename Type\> void **\_\_valarray\_fill** (Type \*\_\_restrict\_\_ a, const size\_t \*\_\_restrict\_\_ \_\_i, size\_t n, const Type &\_\_t)\
 template\<typename Type\> void **\_\_valarray\_copy** (const Type \*\_\_restrict\_\_ a, size\_t n, Type \*\_\_restrict\_\_ \_\_b)\
 template\<typename Type\> void **\_\_valarray\_copy** (const Type \*\_\_restrict\_\_ a, size\_t n, size\_t s, Type \*\_\_restrict\_\_ \_\_b)\
 template\<typename Type\> void **\_\_valarray\_copy** (const Type \*\_\_restrict\_\_ a, Type \*\_\_restrict\_\_ \_\_b, size\_t n, size\_t s)\
 template\<typename Type\> void **\_\_valarray\_copy** (const Type \*\_\_restrict\_\_ src, size\_t n, size\_t s1, Type \*\_\_restrict\_\_ \_\_dst, size\_t s2)\
 template\<typename Type\> void **\_\_valarray\_copy** (const Type \*\_\_restrict\_\_ a, const size\_t \*\_\_restrict\_\_ \_\_i, Type \*\_\_restrict\_\_ \_\_b, size\_t n)\
 template\<typename Type\> void **\_\_valarray\_copy** (const Type \*\_\_restrict\_\_ a, size\_t n, Type \*\_\_restrict\_\_ \_\_b, const size\_t \*\_\_restrict\_\_ \_\_i)\
 template\<typename Type\> void **\_\_valarray\_copy** (const Type \*\_\_restrict\_\_ src, size\_t n, const size\_t \*\_\_restrict\_\_ \_\_i, Type \*\_\_restrict\_\_ \_\_dst, const size\_t \*\_\_restrict\_\_ \_\_j)\
 template\<typename Type\> Type **\_\_valarray\_sum** (const Type \*\_\_restrict\_\_ \_\_f, const Type \*\_\_restrict\_\_ \_\_l)\
 template\<typename Type\> Type **\_\_valarray\_product** (const Type \*\_\_restrict\_\_ \_\_f, const Type \*\_\_restrict\_\_ \_\_l)\
 template\<typename Ta\> Ta::value\_type **\_\_valarray\_min** (const Ta &a)\
 template\<typename Ta\> Ta::value\_type **\_\_valarray\_max** (const Ta &a)\
 template\<typename Type\> void **\_\_valarray\_fill** (**Array**\< Type \> a, size\_t n, const Type &\_\_t)\
 template\<typename Type\> void **\_\_valarray\_fill** (**Array**\< Type \> a, size\_t n, size\_t s, const Type &\_\_t)\
 template\<typename Type\> void **\_\_valarray\_fill** (**Array**\< Type \> a, **Array**\< size\_t \> \_\_i, size\_t n, const Type &\_\_t)\
 template\<typename Type\> void **\_\_valarray\_copy** (**Array**\< Type \> a, size\_t n, **Array**\< Type \> \_\_b)\
 template\<typename Type\> void **\_\_valarray\_copy** (**Array**\< Type \> a, size\_t n, size\_t s, **Array**\< Type \> \_\_b)\
 template\<typename Type\> void **\_\_valarray\_copy** (**Array**\< Type \> a, **Array**\< Type \> \_\_b, size\_t n, size\_t s)\
 template\<typename Type\> void **\_\_valarray\_copy** (**Array**\< Type \> a, size\_t n, size\_t s1, **Array**\< Type \> \_\_b, size\_t s2)\
 template\<typename Type\> void **\_\_valarray\_copy** (**Array**\< Type \> a, **Array**\< size\_t \> \_\_i, **Array**\< Type \> \_\_b, size\_t n)\
 template\<typename Type\> void **\_\_valarray\_copy** (**Array**\< Type \> a, size\_t n, **Array**\< Type \> \_\_b, **Array**\< size\_t \> \_\_i)\
 template\<typename Type\> void **\_\_valarray\_copy** (**Array**\< Type \> src, size\_t n, **Array**\< size\_t \> \_\_i, **Array**\< Type \> \_\_dst, **Array**\< size\_t \> \_\_j)\
 template\<typename Type\> export void **\_\_valarray\_fill** (**Array**\< Type \> a, size\_t n, **Array**\< bool \> \_\_m, const Type &\_\_t)\
 template\<typename Type\> export void **\_\_valarray\_copy** (**Array**\< Type \> a, **Array**\< bool \> \_\_m, **Array**\< Type \> \_\_b, size\_t n)\
 template\<typename Type\> export void **\_\_valarray\_copy** (**Array**\< Type \> a, size\_t n, **Array**\< Type \> \_\_b, **Array**\< bool \> \_\_m)\
 template\<typename Type, class Dom\> export void **\_\_valarray\_copy** (const **Expr**\< Dom, Type \> &\_\_e, size\_t n, **Array**\< Type \> a)\
 template\<typename Type, class Dom\> export void **\_\_valarray\_copy** (const **Expr**\< Dom, Type \> &\_\_e, size\_t n, **Array**\< Type \> a, size\_t s)\
 template\<typename Type, class Dom\> export void **\_\_valarray\_copy** (const **Expr**\< Dom, Type \> &\_\_e, size\_t n, **Array**\< Type \> a, **Array**\< size\_t \> \_\_i)\
 template\<typename Type, class Dom\> export void **\_\_valarray\_copy** (const **Expr**\< Dom, Type \> &\_\_e, size\_t n, **Array**\< Type \> a, **Array**\< bool \> \_\_m)\
 template\<typename Type, class Dom\> export void **\_\_valarray\_copy\_construct** (const **Expr**\< Dom, Type \> &\_\_e, size\_t n, **Array**\< Type \> a)\
 template\<typename Type\> export void **\_\_valarray\_copy\_construct** (**Array**\< Type \> a, **Array**\< bool \> \_\_m, **Array**\< Type \> \_\_b, size\_t n)\
 double **abs** (double x)\
 float **abs** (float x)\
 long double **abs** (long double x)\
 float **acos** (float x)\
 long double **acos** (long double x)\
 float **asin** (float x)\
 long double **asin** (long double x)\
 float **atan** (float x)\
 long double **atan** (long double x)\
 float **atan2** (float y, float x)\
 long double **atan2** (long double y, long double x)\
 float **ceil** (float x)\
 long double **ceil** (long double x)\
 float **cos** (float x)\
 long double **cos** (long double x)\
 float **cosh** (float x)\
 long double **cosh** (long double x)\
 float **exp** (float x)\
 long double **exp** (long double x)\
 float **fabs** (float x)\
 long double **fabs** (long double x)\
 float **floor** (float x)\
 long double **floor** (long double x)\
 float **fmod** (float x, float y)\
 long double **fmod** (long double x, long double y)\
 float **frexp** (float x, int \***\_\_exp**)\
 long double **frexp** (long double x, int \***\_\_exp**)\
 float **ldexp** (float x, int **\_\_exp**)\
 long double **ldexp** (long double x, int **\_\_exp**)\
 float **log** (float x)\
 long double **log** (long double x)\
 float **log10** (float x)\
 long double **log10** (long double x)\
 float **modf** (float x, float \*\_\_iptr)\
 long double **modf** (long double x, long double \*\_\_iptr)\
 template\<typename Type\> Type **\_\_pow\_helper** (Type x, int n)\
 float **pow** (float x, float y)\
 long double **pow** (long double x, long double y)\
 double **pow** (double x, int \_\_i)\
 float **pow** (float x, int n)\
 long double **pow** (long double x, int n)\
 float **sin** (float x)\
 long double **sin** (long double x)\
 float **sinh** (float x)\
 long double **sinh** (long double x)\
 float **sqrt** (float x)\
 long double **sqrt** (long double x)\
 float **tan** (float x)\
 long double **tan** (long double x)\
 float **tanh** (float x)\
 long double **tanh** (long double x)\
 template\<typename Type\> Type **abs** (const **complex**\< Type \> &)\
 template\<typename Type\> Type **arg** (const **complex**\< Type \> &)\
 template\<typename Type\> Type **norm** (const **complex**\< Type \> &)\
 template\<typename Type\> **complex**\< Type \> **conj** (const **complex**\< Type \> &)\
 template\<typename Type\> **complex**\< Type \> **polar** (const Type &, const Type &=0)\
 template\<typename Type\> **complex**\< Type \> **cos** (const **complex**\< Type \> &)\
 template\<typename Type\> **complex**\< Type \> **cosh** (const **complex**\< Type \> &)\
 template\<typename Type\> **complex**\< Type \> **exp** (const **complex**\< Type \> &)\
 template\<typename Type\> **complex**\< Type \> **log** (const **complex**\< Type \> &)\
 template\<typename Type\> **complex**\< Type \> **log10** (const **complex**\< Type \> &)\
 template\<typename Type\> **complex**\< Type \> **pow** (const **complex**\< Type \> &, int)\
 template\<typename Type\> **complex**\< Type \> **pow** (const **complex**\< Type \> &, const Type &)\
 template\<typename Type\> **complex**\< Type \> **pow** (const **complex**\< Type \> &, const **complex**\< Type \> &)\
 template\<typename Type\> **complex**\< Type \> **pow** (const Type &, const **complex**\< Type \> &)\
 template\<typename Type\> **complex**\< Type \> **sin** (const **complex**\< Type \> &)\
 template\<typename Type\> **complex**\< Type \> **sinh** (const **complex**\< Type \> &)\
 template\<typename Type\> **complex**\< Type \> **sqrt** (const **complex**\< Type \> &)\
 template\<typename Type\> **complex**\< Type \> **tan** (const **complex**\< Type \> &)\
 template\<typename Type\> **complex**\< Type \> **tanh** (const **complex**\< Type \> &)\
 template\<typename Type\> **complex**\< Type \> **operator+** (const **complex**\< Type \> &x, const **complex**\< Type \> &y)\
 template\<typename Type\> **complex**\< Type \> **operator+** (const **complex**\< Type \> &x, const Type &y)\
 template\<typename Type\> **complex**\< Type \> **operator+** (const Type &x, const **complex**\< Type \> &y)\
 template\<typename Type\> **complex**\< Type \> **operator-** (const **complex**\< Type \> &x, const **complex**\< Type \> &y)\
 template\<typename Type\> **complex**\< Type \> **operator-** (const **complex**\< Type \> &x, const Type &y)\
 template\<typename Type\> **complex**\< Type \> **operator-** (const Type &x, const **complex**\< Type \> &y)\
 template\<typename Type\> **complex**\< Type \> **operator \*** (const **complex**\< Type \> &x, const **complex**\< Type \> &y)\
 template\<typename Type\> **complex**\< Type \> **operator \*** (const **complex**\< Type \> &x, const Type &y)\
 template\<typename Type\> **complex**\< Type \> **operator \*** (const Type &x, const **complex**\< Type \> &y)\
 template\<typename Type\> **complex**\< Type \> **operator/** (const **complex**\< Type \> &x, const **complex**\< Type \> &y)\
 template\<typename Type\> **complex**\< Type \> **operator/** (const **complex**\< Type \> &x, const Type &y)\
 template\<typename Type\> **complex**\< Type \> **operator/** (const Type &x, const **complex**\< Type \> &y)\
 template\<typename Type\> **complex**\< Type \> **operator+** (const **complex**\< Type \> &x)\
 template\<typename Type\> **complex**\< Type \> **operator-** (const **complex**\< Type \> &x)\
 template\<typename Type\> bool **operator==** (const **complex**\< Type \> &x, const **complex**\< Type \> &y)\
 template\<typename Type\> bool **operator==** (const **complex**\< Type \> &x, const Type &y)\
 template\<typename Type\> bool **operator==** (const Type &x, const **complex**\< Type \> &y)\
 template\<typename Type\> bool **operator!=** (const **complex**\< Type \> &x, const **complex**\< Type \> &y)\
 template\<typename Type\> bool **operator!=** (const **complex**\< Type \> &x, const Type &y)\
 template\<typename Type\> bool **operator!=** (const Type &x, const **complex**\< Type \> &y)\
 template\<typename Type, typename CharT, class Traits\> **basic\_istream**\< CharT, Traits \> & **operator\>\>** (**basic\_istream**\< CharT, Traits \> &\_\_is, **complex**\< Type \> &x)\
 template\<typename Type, typename CharT, class Traits\> **basic\_ostream**\< CharT, Traits \> & **operator\<\<** (**basic\_ostream**\< CharT, Traits \> &\_\_os, const **complex**\< Type \> &x)\
 template\<typename Type\> Type **real** (const **complex**\< Type \> &\_\_z)\
 template\<typename Type\> Type **imag** (const **complex**\< Type \> &\_\_z)\
 long **abs** (long \_\_i)\
 ldiv\_t **div** (long \_\_i, long \_\_j)\
 void \* **memchr** (void \*\_\_p, int c, size\_t n)\
 char \* **strchr** (char \*s1, int n)\
 char \* **strpbrk** (char \*s1, const char \*s2)\
 char \* **strrchr** (char \*s1, int n)\
 char \* **strstr** (char \*s1, const char \*s2)\
 template\<typename Tv\> int **convert\_from\_v** (char \*out, const int size, const char \*\_\_fmt, Tv \_\_v, const **c\_locale** &, int \_\_prec=-1)\
 **Resetiosflags** **resetiosflags** (**ios\_base::fmtflags** \_\_mask)\
 *Manipulator for* `setf`*.*  template\<typename CharT, typename Traits\> **basic\_istream**\< CharT, Traits \> & **operator\>\>** (**basic\_istream**\< CharT, Traits \> &\_\_is, **Resetiosflags** \_\_f)\
 template\<typename CharT, typename Traits\> **basic\_ostream**\< CharT, Traits \> & **operator\<\<** (**basic\_ostream**\< CharT, Traits \> &\_\_os, **Resetiosflags** \_\_f)\
 **Setiosflags** **setiosflags** (**ios\_base::fmtflags** \_\_mask)\
 *Manipulator for* `setf`*.*  template\<typename CharT, typename Traits\> **basic\_istream**\< CharT, Traits \> & **operator\>\>** (**basic\_istream**\< CharT, Traits \> &\_\_is, **Setiosflags** \_\_f)\
 template\<typename CharT, typename Traits\> **basic\_ostream**\< CharT, Traits \> & **operator\<\<** (**basic\_ostream**\< CharT, Traits \> &\_\_os, **Setiosflags** \_\_f)\
 **Setbase** **setbase** (int \_\_base)\
 *Manipulator for* `setf`*.*  template\<typename CharT, typename Traits\> **basic\_istream**\< CharT, Traits \> & **operator\>\>** (**basic\_istream**\< CharT, Traits \> &\_\_is, **Setbase** \_\_f)\
 template\<typename CharT, typename Traits\> **basic\_ostream**\< CharT, Traits \> & **operator\<\<** (**basic\_ostream**\< CharT, Traits \> &\_\_os, **Setbase** \_\_f)\
 template\<typename CharT\> **Setfill**\< CharT \> **setfill** (CharT c)\
 *Manipulator for* `fill`*.*  template\<typename CharT, typename Traits\> **basic\_istream**\< CharT, Traits \> & **operator\>\>** (**basic\_istream**\< CharT, Traits \> &\_\_is, **Setfill**\< CharT \> \_\_f)\
 template\<typename CharT, typename Traits\> **basic\_ostream**\< CharT, Traits \> & **operator\<\<** (**basic\_ostream**\< CharT, Traits \> &\_\_os, **Setfill**\< CharT \> \_\_f)\
 **Setprecision** **setprecision** (int n)\
 *Manipulator for* `precision`*.*  template\<typename CharT, typename Traits\> **basic\_istream**\< CharT, Traits \> & **operator\>\>** (**basic\_istream**\< CharT, Traits \> &\_\_is, **Setprecision** \_\_f)\
 template\<typename CharT, typename Traits\> **basic\_ostream**\< CharT, Traits \> & **operator\<\<** (**basic\_ostream**\< CharT, Traits \> &\_\_os, **Setprecision** \_\_f)\
 **Setw** **setw** (int n)\
 *Manipulator for* `width`*.*  template\<typename CharT, typename Traits\> **basic\_istream**\< CharT, Traits \> & **operator\>\>** (**basic\_istream**\< CharT, Traits \> &\_\_is, **Setw** \_\_f)\
 template\<typename CharT, typename Traits\> **basic\_ostream**\< CharT, Traits \> & **operator\<\<** (**basic\_ostream**\< CharT, Traits \> &\_\_os, **Setw** \_\_f)\
 template\<typename Type\> **pair**\< Type \*, ptrdiff\_t \> **\_\_get\_temporary\_buffer** (ptrdiff\_t \_\_len, Type \*)\
 template\<typename Type\> **pair**\< Type \*, ptrdiff\_t \> **get\_temporary\_buffer** (ptrdiff\_t \_\_len)\
 *This is a mostly-useless wrapper around malloc().*  template\<typename Type\> void **return\_temporary\_buffer** (Type \*\_\_p)\
 *The companion to* **get\_temporary\_buffer()***.*  template\<typename CharT, typename Traits\> **basic\_ostream**\< CharT, Traits \> & **endl** (**basic\_ostream**\< CharT, Traits \> &\_\_os)\
 *Write a newline and flush the stream.*  template\<typename CharT, typename Traits\> **basic\_ostream**\< CharT, Traits \> & **ends** (**basic\_ostream**\< CharT, Traits \> &\_\_os)\
 *Write a null character into the output sequence.*  template\<typename CharT, typename Traits\> **basic\_ostream**\< CharT, Traits \> & **flush** (**basic\_ostream**\< CharT, Traits \> &\_\_os)\
 *Flushes the output stream.*

template\<typename CharT, typename Traits\> **basic\_istream**\< CharT, Traits \> & **operator\>\>** (**basic\_istream**\< CharT, Traits \> &in, CharT &c)\
 *Character extractors.*  template\<class Traits\> **basic\_istream**\< char, Traits \> & **operator\>\>** (**basic\_istream**\< char, Traits \> &in, unsigned char &c)\
 *Character extractors.*  template\<class Traits\> **basic\_istream**\< char, Traits \> & **operator\>\>** (**basic\_istream**\< char, Traits \> &in, signed char &c)\
 *Character extractors.*

template\<typename CharT, typename Traits\> **basic\_istream**\< CharT, Traits \> & **operator\>\>** (**basic\_istream**\< CharT, Traits \> &in, CharT \*s)\
 *Character string extractors.*  template\<class Traits\> **basic\_istream**\< char, Traits \> & **operator\>\>** (**basic\_istream**\< char, Traits \> &in, unsigned char \*s)\
 *Character string extractors.*  template\<class Traits\> **basic\_istream**\< char, Traits \> & **operator\>\>** (**basic\_istream**\< char, Traits \> &in, signed char \*s)\
 *Character string extractors.*

template\<typename CharT, typename Traits\> **basic\_ostream**\< CharT, Traits \> & **operator\<\<** (**basic\_ostream**\< CharT, Traits \> &out, CharT c)\
 *Character inserters.*  template\<class Traits\> **basic\_ostream**\< char, Traits \> & **operator\<\<** (**basic\_ostream**\< char, Traits \> &out, char c)\
 *Character inserters.*  template\<typename CharT, typename Traits\> **basic\_ostream**\< CharT, Traits \> & **operator\<\<** (**basic\_ostream**\< CharT, Traits \> &out, char c)\
 *Character inserters.*  template\<class Traits\> **basic\_ostream**\< char, Traits \> & **operator\<\<** (**basic\_ostream**\< char, Traits \> &out, signed char c)\
 *Character inserters.*  template\<class Traits\> **basic\_ostream**\< char, Traits \> & **operator\<\<** (**basic\_ostream**\< char, Traits \> &out, unsigned char c)\
 *Character inserters.*

template\<typename CharT, typename Traits\> **basic\_ostream**\< CharT, Traits \> & **operator\<\<** (**basic\_ostream**\< CharT, Traits \> &out, const CharT \*s)\
 *String inserters.*  template\<typename CharT, typename Traits\> **basic\_ostream**\< CharT, Traits \> & **operator\<\<** (**basic\_ostream**\< CharT, Traits \> &out, const char \*s)\
 *String inserters.*  template\<class Traits\> **basic\_ostream**\< char, Traits \> & **operator\<\<** (**basic\_ostream**\< char, Traits \> &out, const char \*s)\
 *String inserters.*  template\<class Traits\> **basic\_ostream**\< char, Traits \> & **operator\<\<** (**basic\_ostream**\< char, Traits \> &out, const signed char \*s)\
 *String inserters.*  template\<class Traits\> **basic\_ostream**\< char, Traits \> & **operator\<\<** (**basic\_ostream**\< char, Traits \> &out, const unsigned char \*s)\
 *String inserters.*

template\<int inst\> bool **operator==** (const **\_\_malloc\_alloc\_template**\< inst \> &, const **\_\_malloc\_alloc\_template**\< inst \> &)\
 template\<int inst\> bool **operator!=** (const **\_\_malloc\_alloc\_template**\< inst \> &, const **\_\_malloc\_alloc\_template**\< inst \> &)\
 template\<typename Alloc\> bool **operator==** (const **\_\_debug\_alloc**\< Alloc \> &, const **\_\_debug\_alloc**\< Alloc \> &)\
 template\<typename Alloc\> bool **operator!=** (const **\_\_debug\_alloc**\< Alloc \> &, const **\_\_debug\_alloc**\< Alloc \> &)\

template\<typename Iterator\> bool **operator==** (const **reverse\_iterator**\< Iterator \> &x, const **reverse\_iterator**\< Iterator \> &y)\
 template\<typename Iterator\> bool **operator\<** (const **reverse\_iterator**\< Iterator \> &x, const **reverse\_iterator**\< Iterator \> &y)\
 template\<typename Iterator\> bool **operator!=** (const **reverse\_iterator**\< Iterator \> &x, const **reverse\_iterator**\< Iterator \> &y)\
 template\<typename Iterator\> bool **operator\>** (const **reverse\_iterator**\< Iterator \> &x, const **reverse\_iterator**\< Iterator \> &y)\
 template\<typename Iterator\> bool **operator\<=** (const **reverse\_iterator**\< Iterator \> &x, const **reverse\_iterator**\< Iterator \> &y)\
 template\<typename Iterator\> bool **operator\>=** (const **reverse\_iterator**\< Iterator \> &x, const **reverse\_iterator**\< Iterator \> &y)\
 template\<typename Iterator\> **reverse\_iterator**\< Iterator \>::difference\_type **operator-** (const **reverse\_iterator**\< Iterator \> &x, const **reverse\_iterator**\< Iterator \> &y)\
 template\<typename Iterator\> **reverse\_iterator**\< Iterator \> **operator+** (typename **reverse\_iterator**\< Iterator \>::difference\_type n, const **reverse\_iterator**\< Iterator \> &x)\

template\<size\_t Nb\> **bitset**\< Nb \> **operator &** (const **bitset**\< Nb \> &x, const **bitset**\< Nb \> &y)\
 *Global bitwise operations on bitsets.*  template\<size\_t Nb\> **bitset**\< Nb \> **operator\|** (const **bitset**\< Nb \> &x, const **bitset**\< Nb \> &y)\
 *Global bitwise operations on bitsets.*  template\<size\_t Nb\> **bitset**\< Nb \> **operator^** (const **bitset**\< Nb \> &x, const **bitset**\< Nb \> &y)\
 *Global bitwise operations on bitsets.*

template\<class CharT, class Traits, size\_t Nb\> **basic\_istream**\< CharT, Traits \> & **operator\>\>** (**basic\_istream**\< CharT, Traits \> &\_\_is, **bitset**\< Nb \> &x)\
 *Global I/O operators for bitsets.*  template\<class CharT, class Traits, size\_t Nb\> **basic\_ostream**\< CharT, Traits \> & **operator\<\<** (**basic\_ostream**\< CharT, Traits \> &\_\_os, const **bitset**\< Nb \> &x)\
 *Global I/O operators for bitsets.*

### Variables

fake\_istream **cin**\
 *Linked to standard input.*  fake\_ostream **cout**\
 *Linked to standard output.*  fake\_ostream **cerr**\
 *Linked to standard error (unbuffered).*  fake\_ostream **clog**\
 *Linked to standard error (buffered).*  **istream** **cin**\
 **ostream** **cout**\
 **ostream** **cerr**\
 **ostream** **clog**\
 void(\*) **\_\_malloc\_alloc\_template** ()=0\
 **STL\_mutex\_lock** **\_\_default\_alloc\_template**\< \_\_threads, inst \>::S\_node\_allocator\_lock **\_STLMUTEXINITIALIZER**\
 unsigned char **S\_bit\_count** \[256\]\
 unsigned char **S\_first\_one** \[256\]\
 static **ios\_base::Init** **\_\_ioinit**\

**Standard Stream Objects**\
 The \<iostream\> header declares the eight *standard stream objects*. For other declarations, see http://gcc.gnu.org/onlinedocs/libstdc++/27\_io/howto.html#10 and the **I/O forward declarations**

They are required by default to cooperate with the global C library's `FILE` streams, and to be available during program startup and termination. For more information, see the HOWTO linked to above.

**istream** **cin**\
 *Linked to standard input.*  **ostream** **cout**\
 *Linked to standard output.*  **ostream** **cerr**\
 *Linked to standard error (unbuffered).*  **ostream** **clog**\
 *Linked to standard error (buffered).*

## Detailed Description

Everything defined by the ISO C++ Standard is within namespace std.

## Typedef Documentation

### typedef void(\*) std::new\_handler()

If you write your own error handler to be called by `new`, it must be of this type.

Definition at line 66 of file new.

### typedef fpos\<mbstate\_t\> std::streampos

27\.2, paragraph 10 about fpos/char\_traits circularity

Definition at line 120 of file fpos.h.

### typedef void(\*) std::terminate\_handler()

If you write a replacement terminate handler, it must be of this type.

Definition at line 74 of file exception.

### typedef void(\*) std::unexpected\_handler()

If you write a replacement unexpected handler, it must be of this type.

Definition at line 76 of file exception.

## Function Documentation

### template\<typename ForwardIter, typename BinaryPredicate\> ForwardIter std::adjacent\_find (ForwardIter first, ForwardIter last, BinaryPredicate \_\_binary\_pred)

Find two adjacent values in a sequence using a predicate.

**Parameters:**

*first* A forward iterator. \
 *last* A forward iterator. \
 *binary\_pred* A binary predicate.

**Returns:**

The first iterator `i` such that `i` and `i+1` are both valid iterators in \[first,last) and such that `binary_pred`(\*i,\*(i+1)) is true, or `last` if no such iterator exists.

Definition at line 360 of file stl\_algo.h.

References \_\_glibcpp\_function\_requires.

### template\<typename ForwardIter\> ForwardIter std::adjacent\_find (ForwardIter first, ForwardIter last)

Find two adjacent values in a sequence that are equal.

**Parameters:**

*first* A forward iterator. \
 *last* A forward iterator.

**Returns:**

The first iterator `i` such that `i` and `i+1` are both valid iterators in \[first,last) and such that `*i` == `*`(i+1), or `last` if no such iterator exists.

Definition at line 331 of file stl\_algo.h.

References \_\_glibcpp\_function\_requires.

Referenced by unique().

### template\<typename InputIterator, typename Distance\> void std::advance (InputIterator & \_\_i, Distance n)` [inline]`

A generalization of pointer arithmetic.

**Parameters:**

*i* An input iterator. \
 *n* The 'delta' by which to change `i`.

**Returns:**

Nothing.

This increments `i` by `n`. For bidirectional and random access iterators, `n` may be negative, in which case `i` is decremented.

For random access iterators, this uses their `+` and `-` operations and are constant time. For other iterator classes they are linear time.

Definition at line 164 of file stl\_iterator\_base\_funcs.h.

References \_\_iterator\_category().

### template\<typename Container\> back\_insert\_iterator\<Container\> std::back\_inserter (Container & x)` [inline]`

**Parameters:**

*x* A container of arbitrary type.

**Returns:**

An instance of **back\_insert\_iterator** working on `x`.

This wrapper function helps in creating **back\_insert\_iterator** instances. Typing the name of the iterator requires knowing the precise full type of the container, which can be tedious and impedes generic programming. Using this function lets you take advantage of automatic template parameter deduction, making the compiler match the correct types for you.

Definition at line 391 of file stl\_iterator.h.

### ios\_base& std::boolalpha (ios\_base & \_\_base)` [inline]`

Calls base.setf(ios\_base::boolalpha).

Definition at line 678 of file ios\_base.h.

References std::ios\_base::boolalpha, and std::ios\_base::setf().

### template\<typename InputIter, typename OutputIter\> OutputIter std::copy (InputIter first, InputIter last, OutputIter \_\_result)` [inline]`

Copies the range \[first,last) into result.

**Parameters:**

*first* An input iterator. \
 *last* An input iterator. \
 *result* An output iterator.

**Returns:**

result + (first - last)

This inline function will boil down to a call to `memmove` whenever possible. Failing that, if random access iterators are passed, then the loop count will be known (and therefore a candidate for compiler optimizations such as unrolling). If the input range and the output range overlap, then the copy\_backward function should be used instead.

Definition at line 341 of file stl\_algobase.h.

References \_\_glibcpp\_function\_requires.

Referenced by std::basic\_string\< CharT, Traits, Alloc \>::assign(), std::copy\_backward\_dispatch\< const Type \*, Type \*, \_\_true\_type \>::copy(), std::basic\_string\< CharT, Traits, Alloc \>::copy(), copy\_backward\_aux(), codecvt\< InternT, ExternT, \_\_enc\_traits \>::do\_in(), codecvt\< InternT, ExternT, \_\_enc\_traits \>::do\_out(), std::basic\_string\< CharT, Traits, Alloc \>::insert(), std::basic\_string\< CharT, Traits, Alloc \>::Rep::M\_clone(), std::num\_put\< CharT, OutIter \>::M\_group\_float(), std::basic\_string\< CharT, Traits, Alloc \>::M\_mutate(), std::basic\_streambuf\< char, Traits \>::M\_pback\_create(), std::num\_put\< CharT, OutIter \>::M\_widen\_float(), \_\_gnu\_cxx::sequence\_buffer\< Sequence, Buf\_sz \>::operator=(), std::basic\_string\< CharT, Traits, Alloc \>::S\_construct(), std::basic\_string\< CharT, Traits, Alloc \>::S\_copy\_chars(), std::\_\_pad\< CharT, Traits \>::S\_pad(), S\_string\_copy(), \_\_gnu\_cxx::sequence\_buffer\< Sequence, Buf\_sz \>::sequence\_buffer(), std::basic\_streambuf\< CharT, Traits \>::xsgetn(), and std::basic\_streambuf\< CharT, Traits \>::xsputn().

### template\<typename BI1, typename BI2\> BI2 std::copy\_backward (BI1 first, BI1 last, BI2 \_\_result)` [inline]`

Copies the range \[first,last) into result.

**Parameters:**

*first* An input iterator. \
 *last* An input iterator. \
 *result* An output iterator.

**Returns:**

result - (first - last)

The function has the same effect as copy, but starts at the end of the range and works its way to the start, returning the start of the result. This inline function will boil down to a call to `memmove` whenever possible. Failing that, if random access iterators are passed, then the loop count will be known (and therefore a candidate for compiler optimizations such as unrolling).

Definition at line 479 of file stl\_algobase.h.

References \_\_glibcpp\_function\_requires.

### template\<typename InputIter, typename Type\> iterator\_traits\<InputIter\>::difference\_type std::count (InputIter first, InputIter last, const Type & value)

Count the number of copies of a value in a sequence.

**Parameters:**

*first* An input iterator. \
 *last* An input iterator. \
 *value* The value to be counted.

**Returns:**

The number of iterators `i` in the range \[first,last) for which `*i` == `value`

Definition at line 389 of file stl\_algo.h.

References \_\_glibcpp\_function\_requires.

### template\<typename InputIter, typename Predicate\> iterator\_traits\<InputIter\>::difference\_type std::count\_if (InputIter first, InputIter last, Predicate pred)

Count the elements of a sequence for which a predicate is true.

**Parameters:**

*first* An input iterator. \
 *last* An input iterator. \
 *pred* A predicate.

**Returns:**

The number of iterators `i` in the range \[first,last) for which `pred(*i)` is true.

Definition at line 413 of file stl\_algo.h.

References \_\_glibcpp\_function\_requires.

### ios\_base& std::dec (ios\_base & \_\_base)` [inline]`

Calls base.setf(ios\_base::dec, ios\_base::basefield).

Definition at line 816 of file ios\_base.h.

References std::ios\_base::basefield, std::ios\_base::dec, and std::ios\_base::setf().

### template\<typename InputIterator\> iterator\_traits\<InputIterator\>::difference\_type std::distance (InputIterator first, InputIterator last)` [inline]`

A generalization of pointer arithmetic.

**Parameters:**

*first* An input iterator. \
 *last* An input iterator.

**Returns:**

The distance between them.

Returns `n` such that first + n == last. This requires that `last` must be reachable from `first`. Note that `n` may be negative.

For random access iterators, this uses their `+` and `-` operations and are constant time. For other iterator classes they are linear time.

Definition at line 111 of file stl\_iterator\_base\_funcs.h.

References \_\_distance(), and \_\_iterator\_category().

Referenced by \_\_find\_end(), \_\_merge\_adaptive(), \_\_merge\_without\_buffer(), \_\_rotate\_adaptive(), std::Rb\_tree\< Key, Val, KeyOfValue, Compare, Alloc \>::count(), equal\_range(), std::Rb\_tree\< Key, Val, KeyOfValue, Compare, Alloc \>::erase(), inplace\_merge(), inplace\_stable\_partition(), lower\_bound(), std::vector\< Type, Alloc \>::M\_assign\_aux(), std::deque\< Type, Alloc \>::M\_assign\_aux(), std::vector\< bool, Alloc \>::M\_assign\_aux(), std::vector\< bool, Alloc \>::M\_initialize\_range(), std::vector\< bool, Alloc \>::M\_insert\_range(), std::vector\< \_\_gnu\_cxx::Hashtable\_nodeashtable\_node\< Val \> \*, Alloc \>::M\_range\_initialize(), std::deque\< Type, Alloc \>::M\_range\_initialize(), std::vector\< Type, Alloc \>::M\_range\_insert(), std::deque\< Type, Alloc \>::M\_range\_insert\_aux(), std::basic\_string\< CharT, Traits, Alloc \>::M\_replace\_safe(), \_\_gnu\_cxx::random\_sample\_n(), std::basic\_string\< CharT, Traits, Alloc \>::S\_construct(), std::list\< Type, Alloc \>::size(), stable\_partition\_adaptive(), std::Temporary\_buffer\< ForwardIterator, Type \>::Temporary\_buffer(), and upper\_bound().

### template\<typename CharT, typename Traits\> basic\_ostream\<CharT, Traits\>& std::endl (basic\_ostream\< CharT, Traits \> & \_\_os)

Write a newline and flush the stream.

This manipulator is often mistakenly used when a simple newline is desired, leading to poor buffering performance. See http://gcc.gnu.org/onlinedocs/libstdc++/27\_io/howto.html#2 for more on this subject.

Definition at line 505 of file ostream.

References std::basic\_ostream\< CharT, Traits \>::put(), and std::basic\_ios\< CharT, Traits \>::widen().

### template\<typename CharT, typename Traits\> basic\_ostream\<CharT, Traits\>& std::ends (basic\_ostream\< CharT, Traits \> & \_\_os)

Write a null character into the output sequence.

Definition at line 516 of file ostream.

References std::basic\_ostream\< CharT, Traits \>::put().

### template\<typename InputIter1, typename InputIter2, typename BinaryPredicate\> bool std::equal (InputIter1 first1, InputIter1 last1, InputIter2 first2, BinaryPredicate \_\_binary\_pred)` [inline]`

Tests a range for element-wise equality.

**Parameters:**

*first1* An input iterator. \
 *last1* An input iterator. \
 *first2* An input iterator. \
 *binary\_pred* A binary predicate **functor**.

**Returns:**

A boolean true or false.

This compares the elements of two ranges using the binary\_pred parameter, and returns true or false depending on whether all of the corresponding elements of the ranges are equal.

Definition at line 701 of file stl\_algobase.h.

References \_\_glibcpp\_function\_requires.

### template\<typename InputIter1, typename InputIter2\> bool std::equal (InputIter1 first1, InputIter1 last1, InputIter2 first2)` [inline]`

Tests a range for element-wise equality.

**Parameters:**

*first1* An input iterator. \
 *last1* An input iterator. \
 *first2* An input iterator.

**Returns:**

A boolean true or false.

This compares the elements of two ranges using `==` and returns true or false depending on whether all of the corresponding elements of the ranges are equal.

Definition at line 670 of file stl\_algobase.h.

References \_\_glibcpp\_function\_requires.

Referenced by operator==().

### template\<typename ForwardIter, typename Type\> void std::fill (ForwardIter first, ForwardIter last, const Type & value)

Fills the range \[first,last) with copies of value.

**Parameters:**

*first* A forward iterator. \
 *last* A forward iterator. \
 *value* A reference-to-const of arbitrary type.

**Returns:**

Nothing.

This function fills a range with copies of the same value. For one-byte types filling contiguous areas of memory, this becomes an inline call to `memset`.

Definition at line 511 of file stl\_algobase.h.

References \_\_glibcpp\_function\_requires.

Referenced by \_\_uninitialized\_fill\_aux(), fill\_n(), std::Base\_bitset\< Nw \>::M\_do\_left\_shift(), std::Base\_bitset\< Nw \>::M\_do\_right\_shift(), std::vector\< Type, Alloc \>::M\_fill\_assign(), std::deque\< Type, Alloc \>::M\_fill\_assign(), std::vector\< bool, Alloc \>::M\_fill\_assign(), std::vector\< Type, Alloc \>::M\_fill\_insert(), std::vector\< bool, Alloc \>::M\_fill\_insert(), std::vector\< bool, Alloc \>::M\_initialize\_dispatch(), std::deque\< Type, Alloc \>::M\_insert\_aux(), and std::vector\< bool, Alloc \>::vector().

### template\<typename OutputIter, typename Size, typename Type\> OutputIter std::fill\_n (OutputIter first, Size n, const Type & value)

Fills the range \[first,first+n) with copies of value.

**Parameters:**

*first* An output iterator. \
 *n* The count of copies to perform. \
 *value* A reference-to-const of arbitrary type.

**Returns:**

The iterator at first+n.

This function fills a range with copies of the same value. For one-byte types filling contiguous areas of memory, this becomes an inline call to `memset`.

Definition at line 533 of file stl\_algobase.h.

References \_\_glibcpp\_function\_requires.

Referenced by \_\_uninitialized\_fill\_n\_aux(), std::vector\< Type, Alloc \>::M\_fill\_assign(), and std::vector\< bool, Alloc \>::M\_fill\_insert().

### template\<typename InputIter, typename Type\> InputIter std::find (InputIter first, InputIter last, const Type & \_\_val)` [inline]`

Find the first occurrence of a value in a sequence.

**Parameters:**

*first* An input iterator. \
 *last* An input iterator. \
 *val* The value to find.

**Returns:**

The first iterator `i` in the range \[first,last) such that `*i` == `val`, or `last` if no such iterator exists.

Definition at line 291 of file stl\_algo.h.

References \_\_glibcpp\_function\_requires, \_\_iterator\_category(), and find().

Referenced by std::basic\_string\< CharT, Traits, Alloc \>::find(), std::basic\_string\< CharT, Traits, Alloc \>::find\_first\_not\_of(), std::basic\_string\< CharT, Traits, Alloc \>::find\_first\_of(), std::basic\_string\< CharT, Traits, Alloc \>::find\_last\_not\_of(), std::basic\_string\< CharT, Traits, Alloc \>::find\_last\_of(), std::num\_get\< CharT, InIter \>::M\_extract\_float(), std::num\_get\< CharT, InIter \>::M\_extract\_int(), and std::num\_put\< CharT, OutIter \>::M\_widen\_float().

### template\<typename InputIter, typename Predicate\> InputIter std::find\_if (InputIter first, InputIter last, Predicate pred)` [inline]`

Find the first element in a sequence for which a predicate is true.

**Parameters:**

*first* An input iterator. \
 *last* An input iterator. \
 *pred* A predicate.

**Returns:**

The first iterator `i` in the range \[first,last) such that `pred(*i)` is true, or `last` if no such iterator exists.

Definition at line 311 of file stl\_algo.h.

References \_\_glibcpp\_function\_requires, \_\_iterator\_category(), and find\_if().

### ios\_base& std::fixed (ios\_base & \_\_base)` [inline]`

Calls base.setf(ios\_base::fixed, ios\_base::floatfield).

Definition at line 841 of file ios\_base.h.

References std::ios\_base::fixed, std::ios\_base::floatfield, and std::ios\_base::setf().

### template\<typename CharT, typename Traits\> basic\_ostream\<CharT, Traits\>& std::flush (basic\_ostream\< CharT, Traits \> & \_\_os)

Flushes the output stream.

This manipulator simply calls the stream's **flush() member function.**

**Definition at line 526 of file ostream.**

**References std::basic\_ostream\< CharT, Traits \>::flush().**

### template\<typename InputIter, typename Function\> Function std::for\_each (InputIter first, InputIter last, Function \_\_f)

**Apply a function to every element of a sequence.**

**Parameters:**

*first* **An input iterator.** \
 *last* **An input iterator.** \
 *f* **A unary function object.**

**Returns:**

`f`**.**

**Applies the function object** `f` **to each element in the range \[first,last).** `f` **must not modify the order of the sequence. If** `f` **has a return value it is ignored.**

**Definition at line 152 of file stl\_algo.h.**

**References \_\_glibcpp\_function\_requires.**

### template\<typename Container\> front\_insert\_iterator\<Container\> std::front\_inserter (Container & x)` [inline]`

**Parameters:**

*x* **A container of arbitrary type.**

**Returns:**

**An instance of front\_insert\_iterator working on** `x`**.**

**This wrapper function helps in creating front\_insert\_iterator instances. Typing the name of the iterator requires knowing the precise full type of the container, which can be tedious and impedes generic programming. Using this function lets you take advantage of automatic template parameter deduction, making the compiler match the correct types for you.**

**Definition at line 462 of file stl\_iterator.h.**

### template\<typename ForwardIter, typename Generator\> void std::generate (ForwardIter first, ForwardIter last, Generator \_\_gen)

**Assign the result of a function object to each value in a sequence.**

**Parameters:**

*first* **A forward iterator.** \
 *last* **A forward iterator.** \
 *gen* **A function object taking no arguments.**

**Returns:**

**generate() returns no value.**

**Performs the assignment** `*i` **=** `gen()` **for each** `i` **in the range \[first,last).**

**Definition at line 922 of file stl\_algo.h.**

**References \_\_glibcpp\_function\_requires.**

### template\<typename OutputIter, typename Size, typename Generator\> OutputIter std::generate\_n (OutputIter first, Size n, Generator \_\_gen)

**Assign the result of a function object to each value in a sequence.**

**Parameters:**

*first* **A forward iterator.** \
 *n* **The length of the sequence.** \
 *gen* **A function object taking no arguments.**

**Returns:**

**The end of the sequence,** `first+n`

**Performs the assignment** `*i` **=** `gen()` **for each** `i` **in the range \[first,first+n).**

**Definition at line 946 of file stl\_algo.h.**

**References \_\_glibcpp\_function\_requires.**

### template\<typename Type\> pair\<Type\*,ptrdiff\_t\> std::get\_temporary\_buffer (ptrdiff\_t \_\_len)` [inline]`

**This is a mostly-useless wrapper around malloc().**

**Parameters:**

*len* **The number of objects of type Tp.**

**Returns:**

**See full description.**

**Reinventing the wheel, but this time with prettier spokes!**

**This function tries to obtain storage for** `len` **adjacent Tp objects. The objects themselves are not constructed, of course. A pair\<\> is returned containing 'the buffer s address and capacity (in the units of sizeof(Tp)), or a pair of 0 values if no storage can be obtained.' Note that the capacity obtained may be less than that requested if the memory is unavailable; you should compare len with the .second return value.**

**Definition at line 105 of file memory.**

**References \_\_get\_temporary\_buffer().**

### ios\_base& std::hex (ios\_base & \_\_base)` [inline]`

**Calls base.setf(ios\_base::hex, ios\_base::basefield).**

**Definition at line 824 of file ios\_base.h.**

**References std::ios\_base::basefield, std::ios\_base::hex, and std::ios\_base::setf().**

### template\<typename BidirectionalIter, typename Compare\> void std::inplace\_merge (BidirectionalIter first, BidirectionalIter \_\_middle, BidirectionalIter last, Compare comp)

**Merges two sorted ranges in place.**

**Parameters:**

*first* **An iterator.** \
 *middle* **Another iterator.** \
 *last* **Another iterator.** \
 *comp* **A functor to use for comparisons.**

**Returns:**

**Nothing.**

**Merges two sorted and consecutive ranges, \[first,middle) and \[middle,last), and puts the result in \[first,last). The output will be sorted. The sort is** *stable***, that is, for equivalent elements in the two ranges, elements from the first range will always come before elements from the second.**

**If enough additional memory is available, this takes (last-first)-1 comparisons. Otherwise an NlogN algorithm is used, where N is distance(first,last).**

**The comparison function should have the same effects on ordering as the function used for the initial sort.**

**Definition at line 3563 of file stl\_algo.h.**

**References \_\_glibcpp\_function\_requires, \_\_merge\_adaptive(), \_\_merge\_without\_buffer(), and distance().**

### template\<typename BidirectionalIter\> void std::inplace\_merge (BidirectionalIter first, BidirectionalIter \_\_middle, BidirectionalIter last)

**Merges two sorted ranges in place.**

**Parameters:**

*first* **An iterator.** \
 *middle* **Another iterator.** \
 *last* **Another iterator.**

**Returns:**

**Nothing.**

**Merges two sorted and consecutive ranges, \[first,middle) and \[middle,last), and puts the result in \[first,last). The output will be sorted. The sort is** *stable***, that is, for equivalent elements in the two ranges, elements from the first range will always come before elements from the second.**

**If enough additional memory is available, this takes (last-first)-1 comparisons. Otherwise an NlogN algorithm is used, where N is distance(first,last).**

**Definition at line 3512 of file stl\_algo.h.**

**References \_\_glibcpp\_function\_requires, \_\_merge\_adaptive(), \_\_merge\_without\_buffer(), and distance().**

### template\<typename Container, typename Iterator\> insert\_iterator\<Container\> std::inserter (Container & x, Iterator \_\_i)` [inline]`

**Parameters:**

*x* **A container of arbitrary type.**

**Returns:**

**An instance of insert\_iterator working on** `x`**.**

**This wrapper function helps in creating insert\_iterator instances. Typing the name of the iterator requires knowing the precise full type of the container, which can be tedious and impedes generic programming. Using this function lets you take advantage of automatic template parameter deduction, making the compiler match the correct types for you.**

**Definition at line 555 of file stl\_iterator.h.**

**Referenced by std::deque\< Type, Alloc \>::M\_range\_insert\_aux().**

### ios\_base& std::internal (ios\_base & \_\_base)` [inline]`

**Calls base.setf(ios\_base::internal, ios\_base::adjustfield).**

**Definition at line 791 of file ios\_base.h.**

**References std::ios\_base::adjustfield, std::ios\_base::internal, and std::ios\_base::setf().**

### template\<typename ForwardIter1, typename ForwardIter2\> void std::iter\_swap (ForwardIter1 a, ForwardIter2 \_\_b)` [inline]`

**Swaps the contents of two iterators.**

**Parameters:**

*a* **An iterator.** \
 *b* **Another iterator.**

**Returns:**

**Nothing.**

**This function swaps the values pointed to by two iterators, not the iterators themselves.**

**Definition at line 93 of file stl\_algobase.h.**

**References \_\_glibcpp\_function\_requires.**

**Referenced by \_\_merge\_without\_buffer(), \_\_partition(), \_\_reverse(), \_\_unguarded\_partition(), next\_permutation(), prev\_permutation(), random\_shuffle(), and swap\_ranges().**

### ios\_base& std::left (ios\_base & \_\_base)` [inline]`

**Calls base.setf(ios\_base::left, ios\_base::adjustfield).**

**Definition at line 799 of file ios\_base.h.**

**References std::ios\_base::adjustfield, std::ios\_base::left, and std::ios\_base::setf().**

### template\<typename InputIter1, typename InputIter2, typename Compare\> bool std::lexicographical\_compare (InputIter1 first1, InputIter1 last1, InputIter2 first2, InputIter2 last2, Compare comp)

**Performs 'dictionary' comparison on ranges.**

**Parameters:**

*first1* **An input iterator.** \
 *last1* **An input iterator.** \
 *first2* **An input iterator.** \
 *last2* **An input iterator.** \
 *comp* **A comparison functor.**

**Returns:**

**A boolean true or false.**

**The same as the four-parameter** `lexigraphical_compare`**, but uses the comp parameter instead of** `<`**.**

**Definition at line 769 of file stl\_algobase.h.**

**References \_\_glibcpp\_function\_requires.**

### template\<typename InputIter1, typename InputIter2\> bool std::lexicographical\_compare (InputIter1 first1, InputIter1 last1, InputIter2 first2, InputIter2 last2)

**Performs 'dictionary' comparison on ranges.**

**Parameters:**

*first1* **An input iterator.** \
 *last1* **An input iterator.** \
 *first2* **An input iterator.** \
 *last2* **An input iterator.**

**Returns:**

**A boolean true or false.**

**Definition at line 734 of file stl\_algobase.h.**

**References \_\_glibcpp\_function\_requires.**

**Referenced by lexicographical\_compare(), operator\<(), and \_\_gnu\_cxx::operator\<().**

### template\<class T1, class T2\> pair\<T1, T2\> std::make\_pair (const T1 & x, const T2 & y)` [inline]`

**A convenience wrapper for creating a pair from two objects.**

**Parameters:**

*x* **The first object.** \
 *y* **The second object.**

**Returns:**

**A newly-constructed pair\<\> object of the appropriate type.**

**The standard requires that the objects be passed by reference-to-const, but LWG issue #181 says they should be passed by const value. We follow the LWG by default.**

**Definition at line 145 of file stl\_pair.h.**

### template\<typename Type, typename Compare\> const Type& std::max (const Type & a, const Type & \_\_b, Compare comp)` [inline]`

**This does what you think it does.**

**Parameters:**

*a* **A thing of arbitrary type.** \
 *b* **Another thing of arbitrary type.** \
 *comp* **A comparison functor.**

**Returns:**

**The greater of the parameters.**

**This will work on temporary expressions, since they are only evaluated once, unlike a preprocessor macro.**

**Definition at line 206 of file stl\_algobase.h.**

**Referenced by allocator\< Type \>::init\_page\_size(), allocator\< Type \>::max\_size(), and operator\>\>().**

### template\<typename Type\> const Type& std::max (const Type & a, const Type & \_\_b)` [inline]`

**This does what you think it does.**

**Parameters:**

*a* **A thing of arbitrary type.** \
 *b* **Another thing of arbitrary type.**

**Returns:**

**The greater of the parameters.**

**This is the simple classic generic implementation. It will work on temporary expressions, since they are only evaluated once, unlike a preprocessor macro.**

**Definition at line 168 of file stl\_algobase.h.**

**References \_\_glibcpp\_function\_requires.**

**Referenced by abs(), std::vector\< Type, Alloc \>::M\_fill\_insert(), std::vector\< bool, Alloc \>::M\_fill\_insert(), std::Deque\_base\< Type, Alloc \>::M\_initialize\_map(), std::vector\< bool, Alloc \>::M\_insert\_range(), std::vector\< Type, Alloc \>::M\_range\_insert(), std::deque\< Type, Alloc \>::M\_reallocate\_map(), std::strstreambuf::overflow(), std::basic\_stringbuf\< CharT, Traits, Alloc \>::overflow(), \_\_gnu\_cxx::rope\< CharT, Alloc \>::S\_apply\_to\_pieces(), std::basic\_filebuf\< CharT, Traits \>::seekoff(), std::basic\_stringbuf\< CharT, Traits, Alloc \>::str(), and std::strstreambuf::strstreambuf().**

### template\<typename InputIter1, typename InputIter2, typename OutputIter, typename Compare\> OutputIter std::merge (InputIter1 first1, InputIter1 last1, InputIter2 first2, InputIter2 last2, OutputIter \_\_result, Compare comp)

**Merges two sorted ranges.**

**Parameters:**

*first1* **An iterator.** \
 *first2* **Another iterator.** \
 *last1* **Another iterator.** \
 *last2* **Another iterator.** \
 *result* **An iterator pointing to the end of the merged range.** \
 *comp* **A functor to use for comparisons.**

**Returns:**

**An iterator pointing to the first element 'not less than'** *val***.**

**Merges the ranges \[first1,last1) and \[first2,last2) into the sorted range \[result, result + (last1-first1) + (last2-first2)). Both input ranges must be sorted, and the output range must not overlap with either of the input ranges. The sort is** *stable***, that is, for equivalent elements in the two ranges, elements from the first range will always come before elements from the second.**

**The comparison function should have the same effects on ordering as the function used for the initial sort.**

**Definition at line 3171 of file stl\_algo.h.**

**References \_\_glibcpp\_function\_requires, and copy().**

### template\<typename InputIter1, typename InputIter2, typename OutputIter\> OutputIter std::merge (InputIter1 first1, InputIter1 last1, InputIter2 first2, InputIter2 last2, OutputIter \_\_result)

**Merges two sorted ranges.**

**Parameters:**

*first1* **An iterator.** \
 *first2* **Another iterator.** \
 *last1* **Another iterator.** \
 *last2* **Another iterator.** \
 *result* **An iterator pointing to the end of the merged range.**

**Returns:**

**An iterator pointing to the first element 'not less than'** *val***.**

**Merges the ranges \[first1,last1) and \[first2,last2) into the sorted range \[result, result + (last1-first1) + (last2-first2)). Both input ranges must be sorted, and the output range must not overlap with either of the input ranges. The sort is** *stable***, that is, for equivalent elements in the two ranges, elements from the first range will always come before elements from the second.**

**Definition at line 3119 of file stl\_algo.h.**

**References \_\_glibcpp\_function\_requires, and copy().**

**Referenced by \_\_merge\_adaptive(), and \_\_merge\_sort\_loop().**

### template\<typename Type, typename Compare\> const Type& std::min (const Type & a, const Type & \_\_b, Compare comp)` [inline]`

**This does what you think it does.**

**Parameters:**

*a* **A thing of arbitrary type.** \
 *b* **Another thing of arbitrary type.** \
 *comp* **A comparison functor.**

**Returns:**

**The lesser of the parameters.**

**This will work on temporary expressions, since they are only evaluated once, unlike a preprocessor macro.**

**Definition at line 188 of file stl\_algobase.h.**

**Referenced by \_\_gnu\_cxx::\_\_lexicographical\_compare\_3way(), codecvt\< InternT, ExternT, \_\_enc\_traits \>::do\_length(), codecvt\< InternT, ExternT, StateT \>::do\_length(), and \_\_gnu\_cxx::random\_sample\_n().**

### template\<typename Type\> const Type& std::min (const Type & a, const Type & \_\_b)` [inline]`

**This does what you think it does.**

**Parameters:**

*a* **A thing of arbitrary type.** \
 *b* **Another thing of arbitrary type.**

**Returns:**

**The lesser of the parameters.**

**This is the simple classic generic implementation. It will work on temporary expressions, since they are only evaluated once, unlike a preprocessor macro.**

**Definition at line 148 of file stl\_algobase.h.**

**References \_\_glibcpp\_function\_requires.**

**Referenced by \_\_merge\_sort\_loop(), \_\_verify\_grouping(), std::basic\_string\< CharT, Traits, Alloc \>::append(), std::basic\_string\< CharT, Traits, Alloc \>::compare(), std::basic\_istream\< CharT, Traits \>::ignore(), lexicographical\_compare(), std::bitset\< Nb \>::M\_copy\_from\_string(), std::time\_get\< CharT, InIter \>::M\_extract\_name(), std::basic\_streambuf\< char, Traits \>::M\_pback\_create(), std::basic\_istream\< CharT, Traits \>::readsome(), std::basic\_string\< CharT, Traits, Alloc \>::rfind(), \_\_gnu\_cxx::rope\< CharT, Alloc \>::S\_apply\_to\_pieces(), S\_string\_copy(), std::basic\_streambuf\< CharT, Traits \>::xsgetn(), and std::basic\_streambuf\< CharT, Traits \>::xsputn().**

### template\<typename InputIter1, typename InputIter2, typename BinaryPredicate\> pair\<InputIter1, InputIter2\> std::mismatch (InputIter1 first1, InputIter1 last1, InputIter2 first2, BinaryPredicate \_\_binary\_pred)

**Finds the places in ranges which don't match.**

**Parameters:**

*first1* **An input iterator.** \
 *last1* **An input iterator.** \
 *first2* **An input iterator.** \
 *binary\_pred* **A binary predicate functor.**

**Returns:**

**A pair of iterators pointing to the first mismatch.**

**This compares the elements of two ranges using the binary\_pred parameter, and returns a pair of iterators. The first iterator points into the first range, the second iterator points into the second range, and the elements pointed to by the iterators are not equal.**

**Definition at line 642 of file stl\_algobase.h.**

**References \_\_glibcpp\_function\_requires.**

### template\<typename InputIter1, typename InputIter2\> pair\<InputIter1, InputIter2\> std::mismatch (InputIter1 first1, InputIter1 last1, InputIter2 first2)

**Finds the places in ranges which don't match.**

**Parameters:**

*first1* **An input iterator.** \
 *last1* **An input iterator.** \
 *first2* **An input iterator.**

**Returns:**

**A pair of iterators pointing to the first mismatch.**

**This compares the elements of two ranges using** `==` **and returns a pair of iterators. The first iterator points into the first range, the second iterator points into the second range, and the elements pointed to by the iterators are not equal.**

**Definition at line 608 of file stl\_algobase.h.**

**References \_\_glibcpp\_function\_requires.**

### ios\_base& std::noboolalpha (ios\_base & \_\_base)` [inline]`

**Calls base.unsetf(ios\_base::boolalpha).**

**Definition at line 686 of file ios\_base.h.**

**References std::ios\_base::boolalpha, and std::ios\_base::unsetf().**

### ios\_base& std::noshowbase (ios\_base & \_\_base)` [inline]`

**Calls base.unsetf(ios\_base::showbase).**

**Definition at line 702 of file ios\_base.h.**

**References std::ios\_base::showbase, and std::ios\_base::unsetf().**

### ios\_base& std::noshowpoint (ios\_base & \_\_base)` [inline]`

**Calls base.unsetf(ios\_base::showpoint).**

**Definition at line 718 of file ios\_base.h.**

**References std::ios\_base::showpoint, and std::ios\_base::unsetf().**

### ios\_base& std::noshowpos (ios\_base & \_\_base)` [inline]`

**Calls base.unsetf(ios\_base::showpos).**

**Definition at line 734 of file ios\_base.h.**

**References std::ios\_base::showpos, and std::ios\_base::unsetf().**

### ios\_base& std::noskipws (ios\_base & \_\_base)` [inline]`

**Calls base.unsetf(ios\_base::skipws).**

**Definition at line 750 of file ios\_base.h.**

**References std::ios\_base::skipws, and std::ios\_base::unsetf().**

### ios\_base& std::nounitbuf (ios\_base & \_\_base)` [inline]`

**Calls base.unsetf(ios\_base::unitbuf).**

**Definition at line 782 of file ios\_base.h.**

**References std::ios\_base::unitbuf, and std::ios\_base::unsetf().**

### ios\_base& std::nouppercase (ios\_base & \_\_base)` [inline]`

**Calls base.unsetf(ios\_base::uppercase).**

**Definition at line 766 of file ios\_base.h.**

**References std::ios\_base::unsetf(), and std::ios\_base::uppercase.**

### template\<typename RandomAccessIter, typename Compare\> void std::nth\_element (RandomAccessIter first, RandomAccessIter nth, RandomAccessIter last, Compare comp)

**Sort a sequence just enough to find a particular position using a predicate for comparison.**

**Parameters:**

*first* **An iterator.** \
 *nth* **Another iterator.** \
 *last* **Another iterator.** \
 *comp* **A comparison functor.**

**Returns:**

**Nothing.**

**Rearranges the elements in the range \[first,last) so that** `*nth` **is the same element that would have been in that position had the whole sequence been sorted. The elements either side of** `*nth` **are not completely sorted, but for any iterator  in the range \[first,nth) and any iterator  in the range \[nth,last) it holds that** `comp(*j,*i)` **is false.**

**Definition at line 2732 of file stl\_algo.h.**

**References \_\_glibcpp\_function\_requires, \_\_median(), and \_\_unguarded\_partition().**

### template\<typename RandomAccessIter\> void std::nth\_element (RandomAccessIter first, RandomAccessIter nth, RandomAccessIter last)

**Sort a sequence just enough to find a particular position.**

**Parameters:**

*first* **An iterator.** \
 *nth* **Another iterator.** \
 *last* **Another iterator.**

**Returns:**

**Nothing.**

**Rearranges the elements in the range \[first,last) so that** `*nth` **is the same element that would have been in that position had the whole sequence been sorted. whole sequence been sorted. The elements either side of** `*nth` **are not completely sorted, but for any iterator  in the range \[first,nth) and any iterator  in the range \[nth,last) it holds that** `*j<*i` **is false.**

**Definition at line 2690 of file stl\_algo.h.**

**References \_\_glibcpp\_function\_requires, \_\_median(), and \_\_unguarded\_partition().**

### ios\_base& std::oct (ios\_base & \_\_base)` [inline]`

**Calls base.setf(ios\_base::oct, ios\_base::basefield).**

**Definition at line 832 of file ios\_base.h.**

**References std::ios\_base::basefield, std::ios\_base::oct, and std::ios\_base::setf().**

### template\<size\_t Nb\> bitset\<Nb\> std::operator & (const bitset\< Nb \> & x, const bitset\< Nb \> & y)` [inline]`

**Global bitwise operations on bitsets.**

**Parameters:**

*x* **A bitset.** \
 *y* **A bitset of the same size as** *x***.**

**Returns:**

**A new bitset.**

**These should be self-explanatory.**

**Definition at line 1153 of file bitset.**

### template\<typename Type, typename Alloc\> bool std::operator!= (const vector\< Type, Alloc \> & x, const vector\< Type, Alloc \> & y)` [inline]`

**Based on operator==.**

**Definition at line 964 of file stl\_vector.h.**

### template\<typename Type, typename Seq\> bool std::operator!= (const stack\< Type, Seq \> & x, const stack\< Type, Seq \> & y)` [inline]`

**Based on operator==.**

**Definition at line 228 of file stl\_stack.h.**

### template\<typename Type, typename Sequence\> bool std::operator!= (const queue\< Type, Sequence \> & x, const queue\< Type, Sequence \> & y)` [inline]`

**Based on operator==.**

**Definition at line 247 of file stl\_queue.h.**

### template\<class T1, class T2\> bool std::operator!= (const pair\< T1, T2 \> & x, const pair\< T1, T2 \> & y)` [inline]`

**Uses** `operator==` **to find the result.**

**Definition at line 108 of file stl\_pair.h.**

### template\<typename Key, typename Type, typename Compare, typename Alloc\> bool std::operator!= (const multimap\< Key, Type, Compare, Alloc \> & x, const multimap\< Key, Type, Compare, Alloc \> & y)` [inline]`

**Based on operator==.**

**Definition at line 603 of file stl\_multimap.h.**

### template\<typename Key, typename Type, typename Compare, typename Alloc\> bool std::operator!= (const map\< Key, Type, Compare, Alloc \> & x, const map\< Key, Type, Compare, Alloc \> & y)` [inline]`

**Based on operator==.**

**Definition at line 629 of file stl\_map.h.**

### template\<typename Type, typename Alloc\> bool std::operator!= (const list\< Type, Alloc \> & x, const list\< Type, Alloc \> & y)` [inline]`

**Based on operator==.**

**Definition at line 1139 of file stl\_list.h.**

### template\<typename Iterator\> bool std::operator!= (const reverse\_iterator\< Iterator \> & x, const reverse\_iterator\< Iterator \> & y)` [inline]`

**Parameters:**

*x* **A reverse\_iterator.** \
 *y* **A reverse\_iterator.**

**Returns:**

**A simple bool.**

**Reverse iterators forward many operations to their underlying base() iterators. Others are implemented in terms of one another.**

**Definition at line 286 of file stl\_iterator.h.**

### template\<typename Type, typename Alloc\> bool std::operator!= (const deque\< Type, Alloc \> & x, const deque\< Type, Alloc \> & y)` [inline]`

**Based on operator==.**

**Definition at line 1569 of file stl\_deque.h.**

### template\<typename Alloc\> bool std::operator!= (const \_\_debug\_alloc\< Alloc \> &, const \_\_debug\_alloc\< Alloc \> &)` [inline]`

**Comparison operators for all of the predifined SGI-style allocators. This ensures that allocator\<malloc\_alloc\> (for example) will work correctly. As required, all allocators compare equal.**

**Definition at line 841 of file stl\_alloc.h.**

### template\<int inst\> bool std::operator!= (const \_\_malloc\_alloc\_template\< inst \> &, const \_\_malloc\_alloc\_template\< inst \> &)` [inline]`

**Comparison operators for all of the predifined SGI-style allocators. This ensures that allocator\<malloc\_alloc\> (for example) will work correctly. As required, all allocators compare equal.**

**Definition at line 830 of file stl\_alloc.h.**

### template\<typename Iterator\> reverse\_iterator\<Iterator\> std::operator+ (typename reverse\_iterator\< Iterator \>::difference\_type n, const reverse\_iterator\< Iterator \> & x)` [inline]`

**Parameters:**

*x* **A reverse\_iterator.** \
 *y* **A reverse\_iterator.**

**Returns:**

**A simple bool.**

**Reverse iterators forward many operations to their underlying base() iterators. Others are implemented in terms of one another.**

**Definition at line 316 of file stl\_iterator.h.**

**References std::reverse\_iterator\< Iterator \>::base().**

### template\<typename Iterator\> reverse\_iterator\<Iterator\>::difference\_type std::operator- (const reverse\_iterator\< Iterator \> & x, const reverse\_iterator\< Iterator \> & y)` [inline]`

**Parameters:**

*x* **A reverse\_iterator.** \
 *y* **A reverse\_iterator.**

**Returns:**

**A simple bool.**

**Reverse iterators forward many operations to their underlying base() iterators. Others are implemented in terms of one another.**

**Definition at line 310 of file stl\_iterator.h.**

**References std::reverse\_iterator\< Iterator \>::base().**

### template\<typename Type, typename Alloc\> bool std::operator\< (const vector\< Type, Alloc \> & x, const vector\< Type, Alloc \> & y)` [inline]`

**Vector ordering relation.**

**Parameters:**

*x* **A vector.** \
 *y* **A vector of the same type as** *x***.**

**Returns:**

**True iff** *x* **is lexographically less than** *y***.**

**This is a total ordering relation. It is linear in the size of the vectors. The elements must be comparable with** `<`**.**

**See std::lexographical\_compare() for how the determination is made.**

**Definition at line 955 of file stl\_vector.h.**

**References lexicographical\_compare().**

### template\<typename Type, typename Seq\> bool std::operator\< (const stack\< Type, Seq \> & x, const stack\< Type, Seq \> & y)` [inline]`

**Stack ordering relation.**

**Parameters:**

*x* **A stack.** \
 *y* **A stack of the same type as** *x***.**

**Returns:**

**True iff** *x* **is lexographically less than** *y***.**

**This is an total ordering relation. Complexity and semantics depend on the underlying sequence type, but the expected rules are: this relation is linear in the size of the sequences, the elements must be comparable with** `<`**, and std::lexographical\_compare() is usually used to make the determination.**

**Definition at line 222 of file stl\_stack.h.**

### template\<typename Type, typename Sequence\> bool std::operator\< (const queue\< Type, Sequence \> & x, const queue\< Type, Sequence \> & y)` [inline]`

**Queue ordering relation.**

**Parameters:**

*x* **A queue.** \
 *y* **A queue of the same type as** *x***.**

**Returns:**

**True iff** *x* **is lexographically less than** *y***.**

**This is an total ordering relation. Complexity and semantics depend on the underlying sequence type, but the expected rules are: this relation is linear in the size of the sequences, the elements must be comparable with** `<`**, and std::lexographical\_compare() is usually used to make the determination.**

**Definition at line 241 of file stl\_queue.h.**

### template\<class T1, class T2\> bool std::operator\< (const pair\< T1, T2 \> & x, const pair\< T1, T2 \> & y)` [inline]`

**\<http://gcc.gnu.org/onlinedocs/libstdc++/20\_util/howto.html#pairlt\>**

**Definition at line 100 of file stl\_pair.h.**

### template\<typename Key, typename Type, typename Compare, typename Alloc\> bool std::operator\< (const multimap\< Key, Type, Compare, Alloc \> & x, const multimap\< Key, Type, Compare, Alloc \> & y)` [inline]`

**Multimap ordering relation.**

**Parameters:**

*x* **A multimap.** \
 *y* **A multimap of the same type as** *x***.**

**Returns:**

**True iff** *x* **is lexographically less than** *y***.**

**This is a total ordering relation. It is linear in the size of the multimaps. The elements must be comparable with** `<`**.**

**See std::lexographical\_compare() for how the determination is made.**

**Definition at line 596 of file stl\_multimap.h.**

### template\<typename Key, typename Type, typename Compare, typename Alloc\> bool std::operator\< (const map\< Key, Type, Compare, Alloc \> & x, const map\< Key, Type, Compare, Alloc \> & y)` [inline]`

**Map ordering relation.**

**Parameters:**

*x* **A map.** \
 *y* **A map of the same type as** *x***.**

**Returns:**

**True iff** *x* **is lexographically less than** *y***.**

**This is a total ordering relation. It is linear in the size of the maps. The elements must be comparable with** `<`**.**

**See std::lexographical\_compare() for how the determination is made.**

**Definition at line 622 of file stl\_map.h.**

### template\<typename Type, typename Alloc\> bool std::operator\< (const list\< Type, Alloc \> & x, const list\< Type, Alloc \> & y)` [inline]`

**List ordering relation.**

**Parameters:**

*x* **A list.** \
 *y* **A list of the same type as** *x***.**

**Returns:**

**True iff** *x* **is lexographically less than** *y***.**

**This is a total ordering relation. It is linear in the size of the lists. The elements must be comparable with** `<`**.**

**See std::lexographical\_compare() for how the determination is made.**

**Definition at line 1130 of file stl\_list.h.**

**References lexicographical\_compare().**

### template\<typename Iterator\> bool std::operator\< (const reverse\_iterator\< Iterator \> & x, const reverse\_iterator\< Iterator \> & y)` [inline]`

**Parameters:**

*x* **A reverse\_iterator.** \
 *y* **A reverse\_iterator.**

**Returns:**

**A simple bool.**

**Reverse iterators forward many operations to their underlying base() iterators. Others are implemented in terms of one another.**

**Definition at line 280 of file stl\_iterator.h.**

### template\<typename Type, typename Alloc\> bool std::operator\< (const deque\< Type, Alloc \> & x, const deque\< Type, Alloc \> & y)` [inline]`

**Deque ordering relation.**

**Parameters:**

*x* **A deque.** \
 *y* **A deque of the same type as** *x***.**

**Returns:**

**True iff** *x* **is lexographically less than** *y***.**

**This is a total ordering relation. It is linear in the size of the deques. The elements must be comparable with** `<`**.**

**See std::lexographical\_compare() for how the determination is made.**

**Definition at line 1560 of file stl\_deque.h.**

**References lexicographical\_compare().**

### template\<class Traits\> basic\_ostream\<char, Traits\>& std::operator\<\< (basic\_ostream\< char, Traits \> & out, const unsigned char \* s)

**String inserters.**

**Parameters:**

*out* **An output stream.** \
 *s* **A character string.**

**Returns:**

**out**

**Precondition:**

*s* **must be a non-NULL pointer**

**Behaves like one of the formatted arithmetic inserters described in std::basic\_ostream. After constructing a sentry object with good status, this function inserts** `traits::length(s)` **characters starting at** *s***, widened if necessary, followed by any required padding (as determined by \[22.2.2.2.2\]).** `out.width(0)` **is then called.**

**Definition at line 490 of file ostream.**

### template\<class Traits\> basic\_ostream\<char, Traits\>& std::operator\<\< (basic\_ostream\< char, Traits \> & out, const signed char \* s)

**String inserters.**

**Parameters:**

*out* **An output stream.** \
 *s* **A character string.**

**Returns:**

**out**

**Precondition:**

*s* **must be a non-NULL pointer**

**Behaves like one of the formatted arithmetic inserters described in std::basic\_ostream. After constructing a sentry object with good status, this function inserts** `traits::length(s)` **characters starting at** *s***, widened if necessary, followed by any required padding (as determined by \[22.2.2.2.2\]).** `out.width(0)` **is then called.**

**Definition at line 485 of file ostream.**

### template\<class Traits\> basic\_ostream\<char, Traits\>& std::operator\<\< (basic\_ostream\< char, Traits \> & out, unsigned char c)

**Character inserters.**

**Parameters:**

*out* **An output stream.** \
 *c* **A character.**

**Returns:**

**out**

**Behaves like one of the formatted arithmetic inserters described in std::basic\_ostream. After constructing a sentry object with good status, this function inserts a single character and any required padding (as determined by \[22.2.2.2.2\]).** `out.width(0)` **is then called.**

**If** *c* **is of type** `char` **and the character type of the stream is not** `char`**, the character is widened before insertion.**

**Definition at line 451 of file ostream.**

### template\<class Traits\> basic\_ostream\<char, Traits\>& std::operator\<\< (basic\_ostream\< char, Traits \> & out, signed char c)

**Character inserters.**

**Parameters:**

*out* **An output stream.** \
 *c* **A character.**

**Returns:**

**out**

**Behaves like one of the formatted arithmetic inserters described in std::basic\_ostream. After constructing a sentry object with good status, this function inserts a single character and any required padding (as determined by \[22.2.2.2.2\]).** `out.width(0)` **is then called.**

**If** *c* **is of type** `char` **and the character type of the stream is not** `char`**, the character is widened before insertion.**

**Definition at line 446 of file ostream.**

### template\<typename CharT, typename Traits\> basic\_ostream\<CharT, Traits\>& std::operator\<\< (basic\_ostream\< CharT, Traits \> & out, char c)

**Character inserters.**

**Parameters:**

*out* **An output stream.** \
 *c* **A character.**

**Returns:**

**out**

**Behaves like one of the formatted arithmetic inserters described in std::basic\_ostream. After constructing a sentry object with good status, this function inserts a single character and any required padding (as determined by \[22.2.2.2.2\]).** `out.width(0)` **is then called.**

**If** *c* **is of type** `char` **and the character type of the stream is not** `char`**, the character is widened before insertion.**

**Definition at line 435 of file ostream.**

### template\<class CharT, class Traits, size\_t Nb\> basic\_ostream\<CharT, Traits\>& std::operator\<\< (basic\_ostream\< CharT, Traits \> & \_\_os, const bitset\< Nb \> & x)

**Global I/O operators for bitsets.**

**Direct I/O between streams and bitsets is supported. Output is straightforward. Input will skip whitespace, only accept '0' and '1' characters, and will only extract as many digits as the bitset will hold.**

**Definition at line 1241 of file bitset.**

### template\<class Traits\> basic\_ostream\< char, Traits \> & std::operator\<\< (basic\_ostream\< char, Traits \> & out, const char \* s)

**String inserters.**

**Parameters:**

*out* **An output stream.** \
 *s* **A character string.**

**Returns:**

**out**

**Precondition:**

*s* **must be a non-NULL pointer**

**Behaves like one of the formatted arithmetic inserters described in std::basic\_ostream. After constructing a sentry object with good status, this function inserts** `traits::length(s)` **characters starting at** *s***, widened if necessary, followed by any required padding (as determined by \[22.2.2.2.2\]).** `out.width(0)` **is then called.**

**Definition at line 615 of file ostream.tcc.**

**References std::ios\_base::badbit.**

### template\<typename CharT, typename Traits\> basic\_ostream\< CharT, Traits \> & std::operator\<\< (basic\_ostream\< CharT, Traits \> & out, const char \* s)

**String inserters.**

**Parameters:**

*out* **An output stream.** \
 *s* **A character string.**

**Returns:**

**out**

**Precondition:**

*s* **must be a non-NULL pointer**

**Behaves like one of the formatted arithmetic inserters described in std::basic\_ostream. After constructing a sentry object with good status, this function inserts** `traits::length(s)` **characters starting at** *s***, widened if necessary, followed by any required padding (as determined by \[22.2.2.2.2\]).** `out.width(0)` **is then called.**

**Definition at line 571 of file ostream.tcc.**

**References std::ios\_base::badbit.**

### template\<typename CharT, typename Traits\> basic\_ostream\< CharT, Traits \> & std::operator\<\< (basic\_ostream\< CharT, Traits \> & out, const CharT \* s)

**String inserters.**

**Parameters:**

*out* **An output stream.** \
 *s* **A character string.**

**Returns:**

**out**

**Precondition:**

*s* **must be a non-NULL pointer**

**Behaves like one of the formatted arithmetic inserters described in std::basic\_ostream. After constructing a sentry object with good status, this function inserts** `traits::length(s)` **characters starting at** *s***, widened if necessary, followed by any required padding (as determined by \[22.2.2.2.2\]).** `out.width(0)` **is then called.**

**Definition at line 540 of file ostream.tcc.**

**References std::ios\_base::badbit.**

### template\<class Traits\> basic\_ostream\< char, Traits \> & std::operator\<\< (basic\_ostream\< char, Traits \> & out, char c)

**Character inserters.**

**Parameters:**

*out* **An output stream.** \
 *c* **A character.**

**Returns:**

**out**

**Behaves like one of the formatted arithmetic inserters described in std::basic\_ostream. After constructing a sentry object with good status, this function inserts a single character and any required padding (as determined by \[22.2.2.2.2\]).** `out.width(0)` **is then called.**

**If** *c* **is of type** `char` **and the character type of the stream is not** `char`**, the character is widened before insertion.**

**Definition at line 511 of file ostream.tcc.**

**References std::ios\_base::badbit.**

### template\<typename CharT, typename Traits\> basic\_ostream\< CharT, Traits \> & std::operator\<\< (basic\_ostream\< CharT, Traits \> & out, CharT c)

**Character inserters.**

**Parameters:**

*out* **An output stream.** \
 *c* **A character.**

**Returns:**

**out**

**Behaves like one of the formatted arithmetic inserters described in std::basic\_ostream. After constructing a sentry object with good status, this function inserts a single character and any required padding (as determined by \[22.2.2.2.2\]).** `out.width(0)` **is then called.**

**If** *c* **is of type** `char` **and the character type of the stream is not** `char`**, the character is widened before insertion.**

**Definition at line 481 of file ostream.tcc.**

**References std::ios\_base::badbit.**

### template\<typename Type, typename Alloc\> bool std::operator\<= (const vector\< Type, Alloc \> & x, const vector\< Type, Alloc \> & y)` [inline]`

**Based on operator\<.**

**Definition at line 976 of file stl\_vector.h.**

### template\<typename Type, typename Seq\> bool std::operator\<= (const stack\< Type, Seq \> & x, const stack\< Type, Seq \> & y)` [inline]`

**Based on operator\<.**

**Definition at line 240 of file stl\_stack.h.**

### template\<typename Type, typename Sequence\> bool std::operator\<= (const queue\< Type, Sequence \> & x, const queue\< Type, Sequence \> & y)` [inline]`

**Based on operator\<.**

**Definition at line 259 of file stl\_queue.h.**

### template\<class T1, class T2\> bool std::operator\<= (const pair\< T1, T2 \> & x, const pair\< T1, T2 \> & y)` [inline]`

**Uses** `operator<` **to find the result.**

**Definition at line 120 of file stl\_pair.h.**

### template\<typename Key, typename Type, typename Compare, typename Alloc\> bool std::operator\<= (const multimap\< Key, Type, Compare, Alloc \> & x, const multimap\< Key, Type, Compare, Alloc \> & y)` [inline]`

**Based on operator\<.**

**Definition at line 617 of file stl\_multimap.h.**

### template\<typename Key, typename Type, typename Compare, typename Alloc\> bool std::operator\<= (const map\< Key, Type, Compare, Alloc \> & x, const map\< Key, Type, Compare, Alloc \> & y)` [inline]`

**Based on operator\<.**

**Definition at line 643 of file stl\_map.h.**

### template\<typename Type, typename Alloc\> bool std::operator\<= (const list\< Type, Alloc \> & x, const list\< Type, Alloc \> & y)` [inline]`

**Based on operator\<.**

**Definition at line 1151 of file stl\_list.h.**

### template\<typename Iterator\> bool std::operator\<= (const reverse\_iterator\< Iterator \> & x, const reverse\_iterator\< Iterator \> & y)` [inline]`

**Parameters:**

*x* **A reverse\_iterator.** \
 *y* **A reverse\_iterator.**

**Returns:**

**A simple bool.**

**Reverse iterators forward many operations to their underlying base() iterators. Others are implemented in terms of one another.**

**Definition at line 298 of file stl\_iterator.h.**

### template\<typename Type, typename Alloc\> bool std::operator\<= (const deque\< Type, Alloc \> & x, const deque\< Type, Alloc \> & y)` [inline]`

**Based on operator\<.**

**Definition at line 1583 of file stl\_deque.h.**

### template\<typename Type, typename Alloc\> bool std::operator== (const vector\< Type, Alloc \> & x, const vector\< Type, Alloc \> & y)` [inline]`

**Vector equality comparison.**

**Parameters:**

*x* **A vector.** \
 *y* **A vector of the same type as** *x***.**

**Returns:**

**True iff the size and elements of the vectors are equal.**

**This is an equivalence relation. It is linear in the size of the vectors. Vectors are considered equivalent if their sizes are equal, and if corresponding elements compare equal.**

**Definition at line 936 of file stl\_vector.h.**

**References std::vector\< Type, Alloc \>::begin(), std::vector\< Type, Alloc \>::end(), equal(), and std::vector\< Type, Alloc \>::size().**

### template\<typename Type, typename Seq\> bool std::operator== (const stack\< Type, Seq \> & x, const stack\< Type, Seq \> & y)` [inline]`

**Stack equality comparison.**

**Parameters:**

*x* **A stack.** \
 *y* **A stack of the same type as** *x***.**

**Returns:**

**True iff the size and elements of the stacks are equal.**

**This is an equivalence relation. Complexity and semantics depend on the underlying sequence type, but the expected rules are: this relation is linear in the size of the sequences, and stacks are considered equivalent if their sequences compare equal.**

**Definition at line 205 of file stl\_stack.h.**

**References std::stack\< Type, Sequence \>::c.**

### template\<typename Type, typename Sequence\> bool std::operator== (const queue\< Type, Sequence \> & x, const queue\< Type, Sequence \> & y)` [inline]`

**Queue equality comparison.**

**Parameters:**

*x* **A queue.** \
 *y* **A queue of the same type as** *x***.**

**Returns:**

**True iff the size and elements of the queues are equal.**

**This is an equivalence relation. Complexity and semantics depend on the underlying sequence type, but the expected rules are: this relation is linear in the size of the sequences, and queues are considered equivalent if their sequences compare equal.**

**Definition at line 224 of file stl\_queue.h.**

**References std::queue\< Type, Sequence \>::c.**

### template\<class T1, class T2\> bool std::operator== (const pair\< T1, T2 \> & x, const pair\< T1, T2 \> & y)` [inline]`

**Two pairs of the same type are equal iff their members are equal.**

**Definition at line 93 of file stl\_pair.h.**

**References std::pair\< T1, T2 \>::first, and std::pair\< T1, T2 \>::second.**

### template\<typename Key, typename Type, typename Compare, typename Alloc\> bool std::operator== (const multimap\< Key, Type, Compare, Alloc \> & x, const multimap\< Key, Type, Compare, Alloc \> & y)` [inline]`

**Multimap equality comparison.**

**Parameters:**

*x* **A multimap.** \
 *y* **A multimap of the same type as** *x***.**

**Returns:**

**True iff the size and elements of the maps are equal.**

**This is an equivalence relation. It is linear in the size of the multimaps. Multimaps are considered equivalent if their sizes are equal, and if corresponding elements compare equal.**

**Definition at line 577 of file stl\_multimap.h.**

### template\<typename Key, typename Type, typename Compare, typename Alloc\> bool std::operator== (const map\< Key, Type, Compare, Alloc \> & x, const map\< Key, Type, Compare, Alloc \> & y)` [inline]`

**Map equality comparison.**

**Parameters:**

*x* **A map.** \
 *y* **A map of the same type as** *x***.**

**Returns:**

**True iff the size and elements of the maps are equal.**

**This is an equivalence relation. It is linear in the size of the maps. Maps are considered equivalent if their sizes are equal, and if corresponding elements compare equal.**

**Definition at line 605 of file stl\_map.h.**

### template\<typename Type, typename Alloc\> bool std::operator== (const list\< Type, Alloc \> & x, const list\< Type, Alloc \> & y)` [inline]`

**List equality comparison.**

**Parameters:**

*x* **A list.** \
 *y* **A list of the same type as** *x***.**

**Returns:**

**True iff the size and elements of the lists are equal.**

**This is an equivalence relation. It is linear in the size of the lists. Lists are considered equivalent if their sizes are equal, and if corresponding elements compare equal.**

**Definition at line 1102 of file stl\_list.h.**

**References std::list\< Type, Alloc \>::begin(), and std::list\< Type, Alloc \>::end().**

### template\<typename Iterator\> bool std::operator== (const reverse\_iterator\< Iterator \> & x, const reverse\_iterator\< Iterator \> & y)` [inline]`

**Parameters:**

*x* **A reverse\_iterator.** \
 *y* **A reverse\_iterator.**

**Returns:**

**A simple bool.**

**Reverse iterators forward many operations to their underlying base() iterators. Others are implemented in terms of one another.**

**Definition at line 274 of file stl\_iterator.h.**

**References std::reverse\_iterator\< Iterator \>::base().**

### template\<typename Type, typename Alloc\> bool std::operator== (const deque\< Type, Alloc \> & x, const deque\< Type, Alloc \> & y)` [inline]`

**Deque equality comparison.**

**Parameters:**

*x* **A deque.** \
 *y* **A deque of the same type as** *x***.**

**Returns:**

**True iff the size and elements of the deques are equal.**

**This is an equivalence relation. It is linear in the size of the deques. Deques are considered equivalent if their sizes are equal, and if corresponding elements compare equal.**

**Definition at line 1541 of file stl\_deque.h.**

**References std::deque\< Type, Alloc \>::begin(), std::deque\< Type, Alloc \>::end(), equal(), and std::deque\< Type, Alloc \>::size().**

### template\<typename Alloc\> bool std::operator== (const \_\_debug\_alloc\< Alloc \> &, const \_\_debug\_alloc\< Alloc \> &)` [inline]`

**Comparison operators for all of the predifined SGI-style allocators. This ensures that allocator\<malloc\_alloc\> (for example) will work correctly. As required, all allocators compare equal.**

**Definition at line 836 of file stl\_alloc.h.**

### template\<int inst\> bool std::operator== (const \_\_malloc\_alloc\_template\< inst \> &, const \_\_malloc\_alloc\_template\< inst \> &)` [inline]`

**Comparison operators for all of the predifined SGI-style allocators. This ensures that allocator\<malloc\_alloc\> (for example) will work correctly. As required, all allocators compare equal.**

**Definition at line 824 of file stl\_alloc.h.**

### template\<typename Type, typename Alloc\> bool std::operator\> (const vector\< Type, Alloc \> & x, const vector\< Type, Alloc \> & y)` [inline]`

**Based on operator\<.**

**Definition at line 970 of file stl\_vector.h.**

### template\<typename Type, typename Seq\> bool std::operator\> (const stack\< Type, Seq \> & x, const stack\< Type, Seq \> & y)` [inline]`

**Based on operator\<.**

**Definition at line 234 of file stl\_stack.h.**

### template\<typename Type, typename Sequence\> bool std::operator\> (const queue\< Type, Sequence \> & x, const queue\< Type, Sequence \> & y)` [inline]`

**Based on operator\<.**

**Definition at line 253 of file stl\_queue.h.**

### template\<class T1, class T2\> bool std::operator\> (const pair\< T1, T2 \> & x, const pair\< T1, T2 \> & y)` [inline]`

**Uses** `operator<` **to find the result.**

**Definition at line 114 of file stl\_pair.h.**

### template\<typename Key, typename Type, typename Compare, typename Alloc\> bool std::operator\> (const multimap\< Key, Type, Compare, Alloc \> & x, const multimap\< Key, Type, Compare, Alloc \> & y)` [inline]`

**Based on operator\<.**

**Definition at line 610 of file stl\_multimap.h.**

### template\<typename Key, typename Type, typename Compare, typename Alloc\> bool std::operator\> (const map\< Key, Type, Compare, Alloc \> & x, const map\< Key, Type, Compare, Alloc \> & y)` [inline]`

**Based on operator\<.**

**Definition at line 636 of file stl\_map.h.**

### template\<typename Type, typename Alloc\> bool std::operator\> (const list\< Type, Alloc \> & x, const list\< Type, Alloc \> & y)` [inline]`

**Based on operator\<.**

**Definition at line 1145 of file stl\_list.h.**

### template\<typename Iterator\> bool std::operator\> (const reverse\_iterator\< Iterator \> & x, const reverse\_iterator\< Iterator \> & y)` [inline]`

**Parameters:**

*x* **A reverse\_iterator.** \
 *y* **A reverse\_iterator.**

**Returns:**

**A simple bool.**

**Reverse iterators forward many operations to their underlying base() iterators. Others are implemented in terms of one another.**

**Definition at line 292 of file stl\_iterator.h.**

### template\<typename Type, typename Alloc\> bool std::operator\> (const deque\< Type, Alloc \> & x, const deque\< Type, Alloc \> & y)` [inline]`

**Based on operator\<.**

**Definition at line 1576 of file stl\_deque.h.**

### template\<typename Type, typename Alloc\> bool std::operator\>= (const vector\< Type, Alloc \> & x, const vector\< Type, Alloc \> & y)` [inline]`

**Based on operator\<.**

**Definition at line 982 of file stl\_vector.h.**

### template\<typename Type, typename Seq\> bool std::operator\>= (const stack\< Type, Seq \> & x, const stack\< Type, Seq \> & y)` [inline]`

**Based on operator\<.**

**Definition at line 246 of file stl\_stack.h.**

### template\<typename Type, typename Sequence\> bool std::operator\>= (const queue\< Type, Sequence \> & x, const queue\< Type, Sequence \> & y)` [inline]`

**Based on operator\<.**

**Definition at line 265 of file stl\_queue.h.**

### template\<class T1, class T2\> bool std::operator\>= (const pair\< T1, T2 \> & x, const pair\< T1, T2 \> & y)` [inline]`

**Uses** `operator<` **to find the result.**

**Definition at line 126 of file stl\_pair.h.**

### template\<typename Key, typename Type, typename Compare, typename Alloc\> bool std::operator\>= (const multimap\< Key, Type, Compare, Alloc \> & x, const multimap\< Key, Type, Compare, Alloc \> & y)` [inline]`

**Based on operator\<.**

**Definition at line 624 of file stl\_multimap.h.**

### template\<typename Key, typename Type, typename Compare, typename Alloc\> bool std::operator\>= (const map\< Key, Type, Compare, Alloc \> & x, const map\< Key, Type, Compare, Alloc \> & y)` [inline]`

**Based on operator\<.**

**Definition at line 650 of file stl\_map.h.**

### template\<typename Type, typename Alloc\> bool std::operator\>= (const list\< Type, Alloc \> & x, const list\< Type, Alloc \> & y)` [inline]`

**Based on operator\<.**

**Definition at line 1157 of file stl\_list.h.**

### template\<typename Iterator\> bool std::operator\>= (const reverse\_iterator\< Iterator \> & x, const reverse\_iterator\< Iterator \> & y)` [inline]`

**Parameters:**

*x* **A reverse\_iterator.** \
 *y* **A reverse\_iterator.**

**Returns:**

**A simple bool.**

**Reverse iterators forward many operations to their underlying base() iterators. Others are implemented in terms of one another.**

**Definition at line 304 of file stl\_iterator.h.**

### template\<typename Type, typename Alloc\> bool std::operator\>= (const deque\< Type, Alloc \> & x, const deque\< Type, Alloc \> & y)` [inline]`

**Based on operator\<.**

**Definition at line 1590 of file stl\_deque.h.**

### template\<class Traits\> basic\_istream\<char,Traits\>& std::operator\>\> (basic\_istream\< char, Traits \> & in, signed char \* s)

**Character string extractors.**

**Parameters:**

*in* **An input stream.** \
 *s* **A pointer to a character array.**

**Returns:**

**in**

**Behaves like one of the formatted arithmetic extractors described in std::basic\_istream. After constructing a sentry object with good status, this function extracts up to** `n` **characters and stores them into the array starting at** *s***.** `n` **is defined as:**

- •

  **if** `width()` **is greater than zero,** `n` **is width()**

- •

  **otherwise** `n` **is 'the number of elements of the largest array of** `char_type` **that can store a terminating** `eos`**.' \[27.6.1.2.3\]/6**

**Characters are extracted and stored until one of the following happens:**

- •

  `n-1` **characters are stored**

- •

  **EOF is reached**

- •

  **the next character is whitespace according to the current locale**

- •

  **the next character is a null byte (i.e.,** `charT()` **)**

`width(0)` **is then called for the input stream.**

**If no characters are extracted, sets failbit.**

**Definition at line 689 of file istream.**

### template\<class Traits\> basic\_istream\<char,Traits\>& std::operator\>\> (basic\_istream\< char, Traits \> & in, unsigned char \* s)

**Character string extractors.**

**Parameters:**

*in* **An input stream.** \
 *s* **A pointer to a character array.**

**Returns:**

**in**

**Behaves like one of the formatted arithmetic extractors described in std::basic\_istream. After constructing a sentry object with good status, this function extracts up to** `n` **characters and stores them into the array starting at** *s***.** `n` **is defined as:**

- •

  **if** `width()` **is greater than zero,** `n` **is width()**

- •

  **otherwise** `n` **is 'the number of elements of the largest array of** `char_type` **that can store a terminating** `eos`**.' \[27.6.1.2.3\]/6**

**Characters are extracted and stored until one of the following happens:**

- •

  `n-1` **characters are stored**

- •

  **EOF is reached**

- •

  **the next character is whitespace according to the current locale**

- •

  **the next character is a null byte (i.e.,** `charT()` **)**

`width(0)` **is then called for the input stream.**

**If no characters are extracted, sets failbit.**

**Definition at line 684 of file istream.**

### template\<class Traits\> basic\_istream\<char, Traits\>& std::operator\>\> (basic\_istream\< char, Traits \> & in, signed char & c)

**Character extractors.**

**Parameters:**

*in* **An input stream.** \
 *c* **A character reference.**

**Returns:**

**in**

**Behaves like one of the formatted arithmetic extractors described in std::basic\_istream. After constructing a sentry object with good status, this function extracts a character (if one is available) and stores it in** *c***. Otherwise, sets failbit in the input stream.**

**Definition at line 648 of file istream.**

### template\<class Traits\> basic\_istream\<char, Traits\>& std::operator\>\> (basic\_istream\< char, Traits \> & in, unsigned char & c)

**Character extractors.**

**Parameters:**

*in* **An input stream.** \
 *c* **A character reference.**

**Returns:**

**in**

**Behaves like one of the formatted arithmetic extractors described in std::basic\_istream. After constructing a sentry object with good status, this function extracts a character (if one is available) and stores it in** *c***. Otherwise, sets failbit in the input stream.**

**Definition at line 643 of file istream.**

### template\<class CharT, class Traits, size\_t Nb\> basic\_istream\<CharT, Traits\>& std::operator\>\> (basic\_istream\< CharT, Traits \> & \_\_is, bitset\< Nb \> & x)

**Global I/O operators for bitsets.**

**Direct I/O between streams and bitsets is supported. Output is straightforward. Input will skip whitespace, only accept '0' and '1' characters, and will only extract as many digits as the bitset will hold.**

**Definition at line 1190 of file bitset.**

**References std::basic\_string\< CharT, Traits, Alloc \>::empty(), std::ios\_base::eofbit, std::ios\_base::failbit, std::ios\_base::goodbit, std::basic\_ios\< CharT, Traits \>::narrow(), std::basic\_string\< CharT, Traits, Alloc \>::push\_back(), std::basic\_ios\< CharT, Traits \>::rdbuf(), std::basic\_string\< CharT, Traits, Alloc \>::reserve(), std::basic\_streambuf\< CharT, Traits \>::sbumpc(), std::basic\_ios\< CharT, Traits \>::setstate(), and std::basic\_streambuf\< CharT, Traits \>::sputbackc().**

### template\<typename CharT, typename Traits\> basic\_istream\< CharT, Traits \> & std::operator\>\> (basic\_istream\< CharT, Traits \> & in, CharT \* s)

**Character string extractors.**

**Parameters:**

*in* **An input stream.** \
 *s* **A pointer to a character array.**

**Returns:**

**in**

**Behaves like one of the formatted arithmetic extractors described in std::basic\_istream. After constructing a sentry object with good status, this function extracts up to** `n` **characters and stores them into the array starting at** *s***.** `n` **is defined as:**

- •

  **if** `width()` **is greater than zero,** `n` **is width()**

- •

  **otherwise** `n` **is 'the number of elements of the largest array of** `char_type` **that can store a terminating** `eos`**.' \[27.6.1.2.3\]/6**

**Characters are extracted and stored until one of the following happens:**

- •

  `n-1` **characters are stored**

- •

  **EOF is reached**

- •

  **the next character is whitespace according to the current locale**

- •

  **the next character is a null byte (i.e.,** `charT()` **)**

`width(0)` **is then called for the input stream.**

**If no characters are extracted, sets failbit.**

**Definition at line 941 of file istream.tcc.**

**References std::ios\_base::badbit, std::ios\_base::eofbit, std::ios\_base::failbit, std::ios\_base::getloc(), std::ios\_base::goodbit, max(), std::basic\_ios\< CharT, Traits \>::rdbuf(), std::basic\_ios\< CharT, Traits \>::setstate(), ctype\_base::space, and std::ios\_base::width().**

### template\<typename CharT, typename Traits\> basic\_istream\< CharT, Traits \> & std::operator\>\> (basic\_istream\< CharT, Traits \> & in, CharT & c)

**Character extractors.**

**Parameters:**

*in* **An input stream.** \
 *c* **A character reference.**

**Returns:**

**in**

**Behaves like one of the formatted arithmetic extractors described in std::basic\_istream. After constructing a sentry object with good status, this function extracts a character (if one is available) and stores it in** *c***. Otherwise, sets failbit in the input stream.**

**Definition at line 916 of file istream.tcc.**

**References std::ios\_base::badbit, std::ios\_base::eofbit, std::ios\_base::failbit, std::ios\_base::goodbit, std::basic\_ios\< CharT, Traits \>::rdbuf(), and std::basic\_ios\< CharT, Traits \>::setstate().**

### template\<size\_t Nb\> bitset\<Nb\> std::operator^ (const bitset\< Nb \> & x, const bitset\< Nb \> & y)` [inline]`

**Global bitwise operations on bitsets.**

**Parameters:**

*x* **A bitset.** \
 *y* **A bitset of the same size as** *x***.**

**Returns:**

**A new bitset.**

**These should be self-explanatory.**

**Definition at line 1171 of file bitset.**

### template\<size\_t Nb\> bitset\<Nb\> std::operator\| (const bitset\< Nb \> & x, const bitset\< Nb \> & y)` [inline]`

**Global bitwise operations on bitsets.**

**Parameters:**

*x* **A bitset.** \
 *y* **A bitset of the same size as** *x***.**

**Returns:**

**A new bitset.**

**These should be self-explanatory.**

**Definition at line 1162 of file bitset.**

### template\<typename RandomAccessIter, typename Compare\> void std::partial\_sort (RandomAccessIter first, RandomAccessIter \_\_middle, RandomAccessIter last, Compare comp)

**Sort the smallest elements of a sequence using a predicate for comparison.**

**Parameters:**

*first* **An iterator.** \
 *middle* **Another iterator.** \
 *last* **Another iterator.** \
 *comp* **A comparison functor.**

**Returns:**

**Nothing.**

**Sorts the smallest (middle-first) elements in the range \[first,last) and moves them to the range \[first,middle). The order of the remaining elements in the range \[middle,last) is undefined. After the sort if** `i` **and  are iterators in the range \[first,middle) such that  precedes  and  is an iterator in the range \[middle,last) then** `*comp`**(j,\*i) and** `comp(*k,*i)` **are both false.**

**Definition at line 2544 of file stl\_algo.h.**

**References \_\_glibcpp\_function\_requires, \_\_pop\_heap(), make\_heap(), and sort\_heap().**

### template\<typename RandomAccessIter\> void std::partial\_sort (RandomAccessIter first, RandomAccessIter \_\_middle, RandomAccessIter last)

**Sort the smallest elements of a sequence.**

**Parameters:**

*first* **An iterator.** \
 *middle* **Another iterator.** \
 *last* **Another iterator.**

**Returns:**

**Nothing.**

**Sorts the smallest (middle-first) elements in the range \[first,last) and moves them to the range \[first,middle). The order of the remaining elements in the range \[middle,last) is undefined. After the sort if** `i` **and  are iterators in the range \[first,middle) such that  precedes  and  is an iterator in the range \[middle,last) then** `*j<*i` **and** `*k<*i` **are both false.**

**Definition at line 2506 of file stl\_algo.h.**

**References \_\_glibcpp\_function\_requires, \_\_pop\_heap(), make\_heap(), and sort\_heap().**

**Referenced by introsort\_loop().**

### template\<typename InputIter, typename RandomAccessIter, typename Compare\> RandomAccessIter std::partial\_sort\_copy (InputIter first, InputIter last, RandomAccessIter \_\_result\_first, RandomAccessIter \_\_result\_last, Compare comp)

**Copy the smallest elements of a sequence using a predicate for comparison.**

**Parameters:**

*first* **An input iterator.** \
 *last* **Another input iterator.** \
 *result\_first* **A random-access iterator.** \
 *result\_last* **Another random-access iterator.** \
 *comp* **A comparison functor.**

**Returns:**

**An iterator indicating the end of the resulting sequence.**

**Copies and sorts the smallest N values from the range \[first,last) to the range beginning at** `result_first`**, where the number of elements to be copied,** `N`**, is the smaller of (last-first) and (result\_last-result\_first). After the sort if** `i` **and  are iterators in the range \[result\_first,result\_first+N) such that  precedes  then** `comp(*j,*i)` **is false. The value returned is** `result_first+N`**.**

**Definition at line 2637 of file stl\_algo.h.**

**References \_\_glibcpp\_function\_requires, make\_heap(), and sort\_heap().**

### template\<typename InputIter, typename RandomAccessIter\> RandomAccessIter std::partial\_sort\_copy (InputIter first, InputIter last, RandomAccessIter \_\_result\_first, RandomAccessIter \_\_result\_last)

**Copy the smallest elements of a sequence.**

**Parameters:**

*first* **An iterator.** \
 *last* **Another iterator.** \
 *result\_first* **A random-access iterator.** \
 *result\_last* **Another random-access iterator.**

**Returns:**

**An iterator indicating the end of the resulting sequence.**

**Copies and sorts the smallest N values from the range \[first,last) to the range beginning at** `result_first`**, where the number of elements to be copied,** `N`**, is the smaller of (last-first) and (result\_last-result\_first). After the sort if** `i` **and  are iterators in the range \[result\_first,result\_first+N) such that  precedes  then** `*j<*i` **is false. The value returned is** `result_first+N`**.**

**Definition at line 2583 of file stl\_algo.h.**

**References \_\_glibcpp\_function\_requires, make\_heap(), and sort\_heap().**

### template\<typename ForwardIter, typename Predicate\> ForwardIter std::partition (ForwardIter first, ForwardIter last, Predicate pred)` [inline]`

**Move elements for which a predicate is true to the beginning of a sequence.**

**Parameters:**

*first* **A forward iterator.** \
 *last* **A forward iterator.** \
 *pred* **A predicate functor.**

**Returns:**

**An iterator** `middle` **such that** `pred(i)` **is true for each iterator** `i` **in the range \[first,middle) and false for each** `i` **in the range \[middle,last).**

`pred` **must not modify its operand. partition() does not preserve the relative ordering of elements in each group, use stable\_partition() if this is needed.**

**Definition at line 1752 of file stl\_algo.h.**

**References \_\_glibcpp\_function\_requires, \_\_iterator\_category(), and \_\_partition().**

### template\<typename RandomAccessIter, typename RandomNumberGenerator\> void std::random\_shuffle (RandomAccessIter first, RandomAccessIter last, RandomNumberGenerator & \_\_rand)

**Shuffle the elements of a sequence using a random number generator.**

**Parameters:**

*first* **A forward iterator.** \
 *last* **A forward iterator.** \
 *rand* **The RNG functor or function.**

**Returns:**

**Nothing.**

**Reorders the elements in the range \[first,last) using** `rand` **to provide a random distribution. Calling** `rand(N)` **for a positive integer** `N` **should return a randomly chosen integer from the range \[0,N).**

**Definition at line 1664 of file stl\_algo.h.**

**References \_\_glibcpp\_function\_requires, and iter\_swap().**

### template\<typename RandomAccessIter\> void std::random\_shuffle (RandomAccessIter first, RandomAccessIter last)` [inline]`

**Randomly shuffle the elements of a sequence.**

**Parameters:**

*first* **A forward iterator.** \
 *last* **A forward iterator.**

**Returns:**

**Nothing.**

**Reorder the elements in the range \[first,last) using a random distribution, so that every possible ordering of the sequence is equally likely.**

**Definition at line 1638 of file stl\_algo.h.**

**References \_\_glibcpp\_function\_requires, \_\_random\_number(), and iter\_swap().**

### template\<typename ForwardIter, typename Type\> ForwardIter std::remove (ForwardIter first, ForwardIter last, const Type & value)

**Remove elements from a sequence.**

**Parameters:**

*first* **An input iterator.** \
 *last* **An input iterator.** \
 *value* **The value to be removed.**

**Returns:**

**An iterator designating the end of the resulting sequence.**

**All elements equal to** `value` **are removed from the range \[first,last).**

**remove() is stable, so the relative order of elements that are not removed is unchanged.**

**Elements between the end of the resulting sequence and** `last` **are still present, but their value is unspecified.**

**Definition at line 1043 of file stl\_algo.h.**

**References \_\_glibcpp\_function\_requires, find(), and remove\_copy().**

### template\<typename InputIter, typename OutputIter, typename Type\> OutputIter std::remove\_copy (InputIter first, InputIter last, OutputIter \_\_result, const Type & value)

**Copy a sequence, removing elements of a given value.**

**Parameters:**

*first* **An input iterator.** \
 *last* **An input iterator.** \
 *result* **An output iterator.** \
 *value* **The value to be removed.**

**Returns:**

**An iterator designating the end of the resulting sequence.**

**Copies each element in the range \[first,last) not equal to** `value` **to the range beginning at** `result`**. remove\_copy() is stable, so the relative order of elements that are copied is unchanged.**

**Definition at line 973 of file stl\_algo.h.**

**References \_\_glibcpp\_function\_requires.**

**Referenced by remove().**

### template\<typename InputIter, typename OutputIter, typename Predicate\> OutputIter std::remove\_copy\_if (InputIter first, InputIter last, OutputIter \_\_result, Predicate pred)

**Copy a sequence, removing elements for which a predicate is true.**

**Parameters:**

*first* **An input iterator.** \
 *last* **An input iterator.** \
 *result* **An output iterator.** \
 *pred* **A predicate.**

**Returns:**

**An iterator designating the end of the resulting sequence.**

**Copies each element in the range \[first,last) for which** `pred` **returns true to the range beginning at** `result`**.**

**remove\_copy\_if() is stable, so the relative order of elements that are copied is unchanged.**

**Definition at line 1007 of file stl\_algo.h.**

**References \_\_glibcpp\_function\_requires.**

**Referenced by remove\_if().**

### template\<typename ForwardIter, typename Predicate\> ForwardIter std::remove\_if (ForwardIter first, ForwardIter last, Predicate pred)

**Remove elements from a sequence using a predicate.**

**Parameters:**

*first* **A forward iterator.** \
 *last* **A forward iterator.** \
 *pred* **A predicate.**

**Returns:**

**An iterator designating the end of the resulting sequence.**

**All elements for which** `pred` **returns true are removed from the range \[first,last).**

**remove\_if() is stable, so the relative order of elements that are not removed is unchanged.**

**Elements between the end of the resulting sequence and** `last` **are still present, but their value is unspecified.**

**Definition at line 1077 of file stl\_algo.h.**

**References \_\_glibcpp\_function\_requires, find\_if(), and remove\_copy\_if().**

### template\<typename ForwardIter, typename Type\> void std::replace (ForwardIter first, ForwardIter last, const Type & \_\_old\_value, const Type & new\_value)

**Replace each occurrence of one value in a sequence with another value.**

**Parameters:**

*first* **A forward iterator.** \
 *last* **A forward iterator.** \
 *old\_value* **The value to be replaced.** \
 *new\_value* **The replacement value.**

**Returns:**

**replace() returns no value.**

**For each iterator** `i` **in the range \[first,last) if** `*i` **==** `old_value` **then the assignment** `*i` **=** `new_value` **is performed.**

**Definition at line 800 of file stl\_algo.h.**

**References \_\_glibcpp\_function\_requires.**

### template\<typename InputIter, typename OutputIter, typename Type\> OutputIter std::replace\_copy (InputIter first, InputIter last, OutputIter \_\_result, const Type & \_\_old\_value, const Type & new\_value)

**Copy a sequence, replacing each element of one value with another value.**

**Parameters:**

*first* **An input iterator.** \
 *last* **An input iterator.** \
 *result* **An output iterator.** \
 *old\_value* **The value to be replaced.** \
 *new\_value* **The replacement value.**

**Returns:**

**The end of the output sequence,** `result+`**(last-first).**

**Copies each element in the input range \[first,last) to the output range \[result,result+(last-first)) replacing elements equal to** `old_value` **with** `new_value`**.**

**Definition at line 860 of file stl\_algo.h.**

**References \_\_glibcpp\_function\_requires.**

### template\<typename InputIter, typename OutputIter, typename Predicate, typename Type\> OutputIter std::replace\_copy\_if (InputIter first, InputIter last, OutputIter \_\_result, Predicate pred, const Type & new\_value)

**Copy a sequence, replacing each value for which a predicate returns true with another value.**

**Parameters:**

*first* **An input iterator.** \
 *last* **An input iterator.** \
 *result* **An output iterator.** \
 *pred* **A predicate.** \
 *new\_value* **The replacement value.**

**Returns:**

**The end of the output sequence,** `result+`**(last-first).**

**Copies each element in the range \[first,last) to the range \[result,result+(last-first)) replacing elements for which** `pred` **returns true with** `new_value`**.**

**Definition at line 893 of file stl\_algo.h.**

**References \_\_glibcpp\_function\_requires.**

### template\<typename ForwardIter, typename Predicate, typename Type\> void std::replace\_if (ForwardIter first, ForwardIter last, Predicate pred, const Type & new\_value)

**Replace each value in a sequence for which a predicate returns true with another value.**

**Parameters:**

*first* **A forward iterator.** \
 *last* **A forward iterator.** \
 *pred* **A predicate.** \
 *new\_value* **The replacement value.**

**Returns:**

**replace\_if() returns no value.**

**For each iterator** `i` **in the range \[first,last) if** `pred(*i)` **is true then the assignment** `*i` **=** `new_value` **is performed.**

**Definition at line 829 of file stl\_algo.h.**

**References \_\_glibcpp\_function\_requires.**

### Resetiosflags std::resetiosflags (ios\_base::fmtflags \_\_mask)` [inline]`

**Manipulator for** `setf`**.**

**Parameters:**

*mask* **A format flags mask.**

**Sent to a stream object, this manipulator resets the specified flags, via** *stream.setf(0,mask)***.**

**Definition at line 64 of file iomanip.**

### template\<typename Type\> void std::return\_temporary\_buffer (Type \* \_\_p)

**The companion to get\_temporary\_buffer().**

**Parameters:**

*p* **A buffer previously allocated by get\_temporary\_buffer.**

**Returns:**

**None.**

**Frees the memory pointed to by p.**

**Definition at line 117 of file memory.**

### template\<typename BidirectionalIter\> void std::reverse (BidirectionalIter first, BidirectionalIter last)` [inline]`

**Reverse a sequence.**

**Parameters:**

*first* **A bidirectional iterator.** \
 *last* **A bidirectional iterator.**

**Returns:**

**reverse() returns no value.**

**Reverses the order of the elements in the range \[first,last), so that the first element becomes the last etc. For every** `i` **such that** `0<=i<=`**(last-first)/2), reverse() swaps** `*`**(first+i) and** `*`**(last-(i+1))**

**Definition at line 1353 of file stl\_algo.h.**

**References \_\_glibcpp\_function\_requires, \_\_iterator\_category(), and \_\_reverse().**

**Referenced by next\_permutation(), and prev\_permutation().**

### template\<typename BidirectionalIter, typename OutputIter\> OutputIter std::reverse\_copy (BidirectionalIter first, BidirectionalIter last, OutputIter \_\_result)

**Copy a sequence, reversing its elements.**

**Parameters:**

*first* **A bidirectional iterator.** \
 *last* **A bidirectional iterator.** \
 *result* **An output iterator.**

**Returns:**

**An iterator designating the end of the resulting sequence.**

**Copies the elements in the range \[first,last) to the range \[result,result+(last-first)) such that the order of the elements is reversed. For every** `i` **such that** `0<=i<=`**(last-first), reverse\_copy() performs the assignment** `*`**(result+(last-first)-i) = \*(first+i). The ranges \[first,last) and \[result,result+(last-first)) must not overlap.**

**Definition at line 1378 of file stl\_algo.h.**

**References \_\_glibcpp\_function\_requires.**

### ios\_base& std::right (ios\_base & \_\_base)` [inline]`

**Calls base.setf(ios\_base::right, ios\_base::adjustfield).**

**Definition at line 807 of file ios\_base.h.**

**References std::ios\_base::adjustfield, std::ios\_base::right, and std::ios\_base::setf().**

### template\<typename ForwardIter\> void std::rotate (ForwardIter first, ForwardIter \_\_middle, ForwardIter last)` [inline]`

**Rotate the elements of a sequence.**

**Parameters:**

*first* **A forward iterator.** \
 *middle* **A forward iterator.** \
 *last* **A forward iterator.**

**Returns:**

**Nothing.**

**Rotates the elements of the range \[first,last) by (middle-first) positions so that the element at** `middle` **is moved to** `first`**, the element at** `middle+1` **is moved to +1 and so on for each element in the range \[first,last).**

**This effectively swaps the ranges \[first,middle) and \[middle,last).**

**Performs** `*`**(first+(n+(last-middle))%(last-first))=\*(first+n) for each** `n` **in the range \[0,last-first).**

**Definition at line 1565 of file stl\_algo.h.**

**References \_\_glibcpp\_function\_requires, and \_\_rotate().**

**Referenced by \_\_merge\_without\_buffer(), \_\_rotate\_adaptive(), inplace\_stable\_partition(), and stable\_partition\_adaptive().**

### template\<typename ForwardIter, typename OutputIter\> OutputIter std::rotate\_copy (ForwardIter first, ForwardIter \_\_middle, ForwardIter last, OutputIter \_\_result)

**Copy a sequence, rotating its elements.**

**Parameters:**

*first* **A forward iterator.** \
 *middle* **A forward iterator.** \
 *last* **A forward iterator.** \
 *result* **An output iterator.**

**Returns:**

**An iterator designating the end of the resulting sequence.**

**Copies the elements of the range \[first,last) to the range beginning at**

**Returns:**

**, rotating the copied elements by (middle-first) positions so that the element at** `middle` **is moved to** `result`**, the element at** `middle+1` **is moved to**

**+1 and so on for each element in the range \[first,last).**

**Performs** `*`**(result+(n+(last-middle))%(last-first))=\*(first+n) for each** `n` **in the range \[0,last-first).**

**Definition at line 1593 of file stl\_algo.h.**

**References \_\_glibcpp\_function\_requires, and copy().**

### ios\_base& std::scientific (ios\_base & \_\_base)` [inline]`

**Calls base.setf(ios\_base::scientific, ios\_base::floatfield).**

**Definition at line 849 of file ios\_base.h.**

**References std::ios\_base::floatfield, std::ios\_base::scientific, and std::ios\_base::setf().**

### template\<typename ForwardIter1, typename ForwardIter2, typename BinaryPred\> ForwardIter1 std::search (ForwardIter1 first1, ForwardIter1 last1, ForwardIter2 first2, ForwardIter2 last2, BinaryPred predicate)

**Search a sequence for a matching sub-sequence using a predicate.**

**Parameters:**

*first1* **A forward iterator.** \
 *last1* **A forward iterator.** \
 *first2* **A forward iterator.** \
 *last2* **A forward iterator.** \
 *predicate* **A binary predicate.**

**Returns:**

**The first iterator** `i` **in the range \[first1,last1-(last2-first2)) such that** `predicate`**(\*(i+N),\*(first2+N)) is true for each** `N` **in the range \[0,last2-first2), or** `last1` **if no such iterator exists.**

**Searches the range \[first1,last1) for a sub-sequence that compares equal value-by-value with the sequence given by \[first2,last2), using** `predicate` **to determine equality, and returns an iterator to the first element of the sub-sequence, or** `last1` **if no such iterator exists.**

**See also:**

**search(ForwardIter1, ForwardIter1, ForwardIter2, ForwardIter2)**

**Definition at line 524 of file stl\_algo.h.**

**References \_\_glibcpp\_function\_requires.**

### template\<typename ForwardIter1, typename ForwardIter2\> ForwardIter1 std::search (ForwardIter1 first1, ForwardIter1 last1, ForwardIter2 first2, ForwardIter2 last2)

**Search a sequence for a matching sub-sequence.**

**Parameters:**

*first1* **A forward iterator.** \
 *last1* **A forward iterator.** \
 *first2* **A forward iterator.** \
 *last2* **A forward iterator.**

**Returns:**

**The first iterator** `i` **in the range \[first1,last1-(last2-first2)) such that** `*`**(i+N) ==** `*`**(first2+N) for each** `N` **in the range \[0,last2-first2), or** `last1` **if no such iterator exists.**

**Searches the range \[first1,last1) for a sub-sequence that compares equal value-by-value with the sequence given by \[first2,last2) and returns an iterator to the first element of the sub-sequence, or** `last1` **if the sub-sequence is not found.**

**Because the sub-sequence must lie completely within the range \[first1,last1) it must start at a position less than** `last1-`**(last2-first2) where** `last2-first2` **is the length of the sub-sequence. This means that the returned iterator** `i` **will be in the range \[first1,last1-(last2-first2))**

**Definition at line 452 of file stl\_algo.h.**

**References \_\_glibcpp\_function\_requires, and find().**

**Referenced by \_\_find\_end(), and \_\_gnu\_cxx::rope\< CharT, Alloc \>::find().**

### template\<typename ForwardIter, typename Integer, typename Type, typename BinaryPred\> ForwardIter std::search\_n (ForwardIter first, ForwardIter last, Integer count, const Type & \_\_val, BinaryPred \_\_binary\_pred)

**Search a sequence for a number of consecutive values using a predicate.**

**Parameters:**

*first* **A forward iterator.** \
 *last* **A forward iterator.** \
 *count* **The number of consecutive values.** \
 *val* **The value to find.** \
 *binary\_pred* **A binary predicate.**

**Returns:**

**The first iterator** `i` **in the range \[first,last-count) such that** `binary_pred`**(\*(i+N),val) is true for each** `N` **in the range \[0,count), or** `last` **if no such iterator exists.**

**Searches the range \[first,last) for** `count` **consecutive elements for which the predicate returns true.**

**Definition at line 647 of file stl\_algo.h.**

**References \_\_glibcpp\_function\_requires.**

### template\<typename ForwardIter, typename Integer, typename Type\> ForwardIter std::search\_n (ForwardIter first, ForwardIter last, Integer count, const Type & \_\_val)

**Search a sequence for a number of consecutive values.**

**Parameters:**

*first* **A forward iterator.** \
 *last* **A forward iterator.** \
 *count* **The number of consecutive values.** \
 *val* **The value to find.**

**Returns:**

**The first iterator** `i` **in the range \[first,last-count) such that** `*`**(i+N) ==** `val` **for each** `N` **in the range \[0,count), or** `last` **if no such iterator exists.**

**Searches the range \[first,last) for** `count` **consecutive elements equal to** `val`**.**

**Definition at line 598 of file stl\_algo.h.**

**References \_\_glibcpp\_function\_requires, and find().**

### new\_handler std::set\_new\_handler (new\_handler) throw ()

**Takes a replacement handler as the argument, returns the previous handler.**

### terminate\_handler std::set\_terminate (terminate\_handler) throw ()

**Takes a new handler function as an argument, returns the old function.**

### unexpected\_handler std::set\_unexpected (unexpected\_handler) throw ()

**Takes a new handler function as an argument, returns the old function.**

### Setbase std::setbase (int \_\_base)` [inline]`

**Manipulator for** `setf`**.**

**Parameters:**

*base* **A numeric base.**

**Sent to a stream object, this manipulator changes the ios\_base::basefield flags to** `oct`**,** `dec`**, or** `hex` **when** *base* **is 8, 10, or 16, accordingly, and to 0 if** *base* **is any other value.**

**Definition at line 133 of file iomanip.**

### template\<typename CharT\> Setfill\<CharT\> std::setfill (CharT c)` [inline]`

**Manipulator for** `fill`**.**

**Parameters:**

*c* **The new fill character.**

**Sent to a stream object, this manipulator calls** `fill(c)` **for that object.**

**Definition at line 175 of file iomanip.**

### Setiosflags std::setiosflags (ios\_base::fmtflags \_\_mask)` [inline]`

**Manipulator for** `setf`**.**

**Parameters:**

*mask* **A format flags mask.**

**Sent to a stream object, this manipulator sets the format flags to** *mask***.**

**Definition at line 98 of file iomanip.**

### Setprecision std::setprecision (int n)` [inline]`

**Manipulator for** `precision`**.**

**Parameters:**

*n* **The new precision.**

**Sent to a stream object, this manipulator calls** `precision(n)` **for that object.**

**Definition at line 209 of file iomanip.**

### Setw std::setw (int n)` [inline]`

**Manipulator for** `width`**.**

**Parameters:**

*n* **The new width.**

**Sent to a stream object, this manipulator calls** `width(n)` **for that object.**

**Definition at line 243 of file iomanip.**

### ios\_base& std::showbase (ios\_base & \_\_base)` [inline]`

**Calls base.setf(ios\_base::showbase).**

**Definition at line 694 of file ios\_base.h.**

**References std::ios\_base::setf(), and std::ios\_base::showbase.**

### ios\_base& std::showpoint (ios\_base & \_\_base)` [inline]`

**Calls base.setf(ios\_base::showpoint).**

**Definition at line 710 of file ios\_base.h.**

**References std::ios\_base::setf(), and std::ios\_base::showpoint.**

### ios\_base& std::showpos (ios\_base & \_\_base)` [inline]`

**Calls base.setf(ios\_base::showpos).**

**Definition at line 726 of file ios\_base.h.**

**References std::ios\_base::setf(), and std::ios\_base::showpos.**

### ios\_base& std::skipws (ios\_base & \_\_base)` [inline]`

**Calls base.setf(ios\_base::skipws).**

**Definition at line 742 of file ios\_base.h.**

**References std::ios\_base::setf(), and std::ios\_base::skipws.**

### template\<typename RandomAccessIter, typename Compare\> void std::sort (RandomAccessIter first, RandomAccessIter last, Compare comp)` [inline]`

**Sort the elements of a sequence using a predicate for comparison.**

**Parameters:**

*first* **An iterator.** \
 *last* **Another iterator.** \
 *comp* **A comparison functor.**

**Returns:**

**Nothing.**

**Sorts the elements in the range \[first,last) in ascending order, such that** `comp`**(\*(i+1),\*i) is false for every iterator** `i` **in the range \[first,last-1).**

**The relative ordering of equivalent elements is not preserved, use stable\_sort() if this is needed.**

**Definition at line 2201 of file stl\_algo.h.**

**References \_\_final\_insertion\_sort(), \_\_glibcpp\_function\_requires, and \_\_lg().**

### template\<typename RandomAccessIter\> void std::sort (RandomAccessIter first, RandomAccessIter last)` [inline]`

**Sort the elements of a sequence.**

**Parameters:**

*first* **An iterator.** \
 *last* **Another iterator.**

**Returns:**

**Nothing.**

**Sorts the elements in the range \[first,last) in ascending order, such that** `*`**(i+1)\<\*i is false for each iterator** `i` **in the range \[first,last-1).**

**The relative ordering of equivalent elements is not preserved, use stable\_sort() if this is needed.**

**Definition at line 2170 of file stl\_algo.h.**

**References \_\_final\_insertion\_sort(), \_\_glibcpp\_function\_requires, and \_\_lg().**

### template\<typename ForwardIter, typename Predicate\> ForwardIter std::stable\_partition (ForwardIter first, ForwardIter last, Predicate pred)

**Move elements for which a predicate is true to the beginning of a sequence, preserving relative ordering.**

**Parameters:**

*first* **A forward iterator.** \
 *last* **A forward iterator.** \
 *pred* **A predicate functor.**

**Returns:**

**An iterator** `middle` **such that** `pred(i)` **is true for each iterator** `i` **in the range \[first,middle) and false for each** `i` **in the range \[middle,last).**

**Performs the same function as partition() with the additional guarantee that the relative ordering of elements in each group is preserved, so any two elements** `x` **and** `y` **in the range \[first,last) such that** `pred(x)==pred`**(y) will have the same relative ordering after calling stable\_partition().**

**Definition at line 1852 of file stl\_algo.h.**

**References \_\_glibcpp\_function\_requires.**

### template\<typename RandomAccessIter, typename Compare\> void std::stable\_sort (RandomAccessIter first, RandomAccessIter last, Compare comp)` [inline]`

**Sort the elements of a sequence using a predicate for comparison, preserving the relative order of equivalent elements.**

**Parameters:**

*first* **An iterator.** \
 *last* **Another iterator.** \
 *comp* **A comparison functor.**

**Returns:**

**Nothing.**

**Sorts the elements in the range \[first,last) in ascending order, such that** `comp`**(\*(i+1),\*i) is false for each iterator** `i` **in the range \[first,last-1).**

**The relative ordering of equivalent elements is preserved, so any two elements** `x` **and** `y` **in the range \[first,last) such that** `comp(x,y)` **is false and** `comp(y,x)` **is false will have the same relative ordering after calling stable\_sort().**

**Definition at line 2470 of file stl\_algo.h.**

**References \_\_glibcpp\_function\_requires.**

### template\<typename RandomAccessIter\> void std::stable\_sort (RandomAccessIter first, RandomAccessIter last)` [inline]`

**Sort the elements of a sequence, preserving the relative order of equivalent elements.**

**Parameters:**

*first* **An iterator.** \
 *last* **Another iterator.**

**Returns:**

**Nothing.**

**Sorts the elements in the range \[first,last) in ascending order, such that** `*`**(i+1)\<\*i is false for each iterator** `i` **in the range \[first,last-1).**

**The relative ordering of equivalent elements is preserved, so any two elements** `x` **and** `y` **in the range \[first,last) such that** `x<y` **is false and** `y<x` **is false will have the same relative ordering after calling stable\_sort().**

**Definition at line 2434 of file stl\_algo.h.**

**References \_\_glibcpp\_function\_requires.**

### template\<typename Type, typename Alloc\> void std::swap (vector\< Type, Alloc \> & x, vector\< Type, Alloc \> & y)` [inline]`

**See std::vector::swap().**

**Definition at line 988 of file stl\_vector.h.**

**References std::vector\< Type, Alloc \>::swap().**

### template\<typename Key, typename Type, typename Compare, typename Alloc\> void std::swap (multimap\< Key, Type, Compare, Alloc \> & x, multimap\< Key, Type, Compare, Alloc \> & y)` [inline]`

**See std::multimap::swap().**

**Definition at line 631 of file stl\_multimap.h.**

**References std::multimap\< Key, Type, Compare, Alloc \>::swap().**

### template\<typename Key, typename Type, typename Compare, typename Alloc\> void std::swap (map\< Key, Type, Compare, Alloc \> & x, map\< Key, Type, Compare, Alloc \> & y)` [inline]`

**See std::map::swap().**

**Definition at line 657 of file stl\_map.h.**

**References std::map\< Key, Type, Compare, Alloc \>::swap().**

### template\<typename Type, typename Alloc\> void std::swap (list\< Type, Alloc \> & x, list\< Type, Alloc \> & y)` [inline]`

**See std::list::swap().**

**Definition at line 1163 of file stl\_list.h.**

**References std::list\< Type, Alloc \>::swap().**

### template\<typename Type, typename Alloc\> void std::swap (deque\< Type, Alloc \> & x, deque\< Type, Alloc \> & y)` [inline]`

**See std::deque::swap().**

**Definition at line 1597 of file stl\_deque.h.**

**References std::deque\< Type, Alloc \>::swap().**

### template\<typename Type\> void std::swap (Type & a, Type & \_\_b)` [inline]`

**Swaps two values.**

**Parameters:**

*a* **A thing of arbitrary type.** \
 *b* **Another thing of arbitrary type.**

**Returns:**

**Nothing.**

**This is the simple classic generic implementation. It will work on any type which has a copy constructor and an assignment operator.**

**Definition at line 120 of file stl\_algobase.h.**

**References \_\_glibcpp\_function\_requires.**

### template\<typename ForwardIter1, typename ForwardIter2\> ForwardIter2 std::swap\_ranges (ForwardIter1 first1, ForwardIter1 last1, ForwardIter2 first2)

**Swap the elements of two sequences.**

**Parameters:**

*first1* **A forward iterator.** \
 *last1* **A forward iterator.** \
 *first2* **A forward iterator.**

**Returns:**

**An iterator equal to** `first2+`**(last1-first1).**

**Swaps each element in the range \[first1,last1) with the corresponding element in the range \[first2,(last1-first1)). The ranges must not overlap.**

**Definition at line 701 of file stl\_algo.h.**

**References \_\_glibcpp\_function\_requires, and iter\_swap().**

**Referenced by \_\_rotate().**

### void std::terminate ()

**The runtime will call this function if exception handling must be abandoned for any reason.**

### template\<typename InputIter1, typename InputIter2, typename OutputIter, typename BinaryOperation\> OutputIter std::transform (InputIter1 first1, InputIter1 last1, InputIter2 first2, OutputIter \_\_result, BinaryOperation \_\_binary\_op)

**Perform an operation on corresponding elements of two sequences.**

**Parameters:**

*first1* **An input iterator.** \
 *last1* **An input iterator.** \
 *first2* **An input iterator.** \
 *result* **An output iterator.** \
 *binary\_op* **A binary operator.**

**Returns:**

**An output iterator equal to** `result+`**(last-first).**

**Applies the operator to the corresponding elements in the two input ranges and assigns the results to successive elements of the output sequence. Evaluates** `*`**(result+N)=binary\_op(\*(first1+N),\*(first2+N)) for each** `N` **in the range \[0,last1-first1).**

`binary_op` **must not alter either of its arguments.**

**Definition at line 770 of file stl\_algo.h.**

**References \_\_glibcpp\_function\_requires.**

### template\<typename InputIter, typename OutputIter, typename UnaryOperation\> OutputIter std::transform (InputIter first, InputIter last, OutputIter \_\_result, UnaryOperation \_\_unary\_op)

**Perform an operation on a sequence.**

**Parameters:**

*first* **An input iterator.** \
 *last* **An input iterator.** \
 *result* **An output iterator.** \
 *unary\_op* **A unary operator.**

**Returns:**

**An output iterator equal to** `result+`**(last-first).**

**Applies the operator to each element in the input range and assigns the results to successive elements of the output sequence. Evaluates** `*`**(result+N)=unary\_op(\*(first+N)) for each** `N` **in the range \[0,last-first).**

`unary_op` **must not alter its argument.**

**Definition at line 736 of file stl\_algo.h.**

**References \_\_glibcpp\_function\_requires.**

### bool std::uncaught\_exception () throw ()

**\[18.6.4\]/1: 'Returns true after completing evaluation of a throw-expression until either completing initialization of the exception-declaration in the matching handler or entering unexpected() due to the throw; or after entering terminate() for any reason other than an explicit call to terminate(). \[Note: This includes stack unwinding \[15.2\]. end note\]'**

**2: 'When uncaught\_exception() is true, throwing an exception can result in a call of terminate() (15.5.1).'**

**Referenced by std::basic\_ostream\< CharT, Traits \>::sentry::~sentry().**

### void std::unexpected ()

**The runtime will call this function if an exception is thrown which violates the function's exception specification.**

### template\<typename InputIter, typename ForwardIter\> ForwardIter std::uninitialized\_copy (InputIter first, InputIter last, ForwardIter \_\_result)` [inline]`

**Copies the range \[first,last) into result.**

**Parameters:**

*first* **An input iterator.** \
 *last* **An input iterator.** \
 *result* **An output iterator.**

**Returns:**

**result + (first - last)**

**Like copy(), but does not require an initialized output range.**

**Definition at line 108 of file stl\_uninitialized.h.**

**References \_\_uninitialized\_copy\_aux().**

**Referenced by \_\_uninitialized\_copy\_copy(), \_\_uninitialized\_copy\_fill(), \_\_gnu\_cxx::\_\_uninitialized\_copy\_n(), \_\_uninitialized\_fill\_copy(), std::deque\< Type, Alloc \>::deque(), std::vector\< \_\_gnu\_cxx::Hashtable\_nodeashtable\_node\< Val \> \*, Alloc \>::M\_allocate\_and\_copy(), std::vector\< Type, Alloc \>::M\_assign\_aux(), std::vector\< Type, Alloc \>::M\_fill\_insert(), std::vector\< Type, Alloc \>::M\_insert\_aux(), std::deque\< Type, Alloc \>::M\_insert\_aux(), std::vector\< \_\_gnu\_cxx::Hashtable\_nodeashtable\_node\< Val \> \*, Alloc \>::M\_range\_initialize(), std::deque\< Type, Alloc \>::M\_range\_initialize(), std::vector\< Type, Alloc \>::M\_range\_insert(), std::deque\< Type, Alloc \>::M\_range\_insert\_aux(), std::vector\< Type, Alloc \>::operator=(), and std::vector\< \_\_gnu\_cxx::Hashtable\_nodeashtable\_node\< Val \> \*, Alloc \>::vector().**

### template\<typename ForwardIter, typename Type\> void std::uninitialized\_fill (ForwardIter first, ForwardIter last, const Type & x)` [inline]`

**Copies the value x into the range \[first,last).**

**Parameters:**

*first* **An input iterator.** \
 *last* **An input iterator.** \
 *x* **The source value.**

**Returns:**

**Nothing.**

**Like fill(), but does not require an initialized output range.**

**Definition at line 166 of file stl\_uninitialized.h.**

**References \_\_uninitialized\_fill\_aux().**

**Referenced by \_\_uninitialized\_copy\_fill(), \_\_uninitialized\_fill\_copy(), std::deque\< Type, Alloc \>::M\_fill\_initialize(), and std::deque\< Type, Alloc \>::M\_fill\_insert().**

### template\<typename ForwardIter, typename Size, typename Type\> ForwardIter std::uninitialized\_fill\_n (ForwardIter first, Size n, const Type & x)` [inline]`

**Copies the value x into the range \[first,first+n).**

**Parameters:**

*first* **An input iterator.** \
 *n* **The number of copies to make.** \
 *x* **The source value.**

**Returns:**

**first+n**

**Like fill\_n(), but does not require an initialized output range.**

**Definition at line 212 of file stl\_uninitialized.h.**

**References \_\_uninitialized\_fill\_n\_aux().**

**Referenced by std::vector\< Type, Alloc \>::M\_fill\_assign(), std::vector\< Type, Alloc \>::M\_fill\_insert(), std::Temporary\_buffer\< ForwardIterator, Type \>::M\_initialize\_buffer(), std::vector\< \_\_gnu\_cxx::Hashtable\_nodeashtable\_node\< Val \> \*, Alloc \>::M\_initialize\_dispatch(), \_\_gnu\_cxx::rope\< CharT, Alloc \>::rope(), and std::vector\< \_\_gnu\_cxx::Hashtable\_nodeashtable\_node\< Val \> \*, Alloc \>::vector().**

### template\<typename ForwardIter, typename BinaryPredicate\> ForwardIter std::unique (ForwardIter first, ForwardIter last, BinaryPredicate \_\_binary\_pred)

**Remove consecutive values from a sequence using a predicate.**

**Parameters:**

*first* **A forward iterator.** \
 *last* **A forward iterator.** \
 *binary\_pred* **A binary predicate.**

**Returns:**

**An iterator designating the end of the resulting sequence.**

**Removes all but the first element from each group of consecutive values for which** `binary_pred` **returns true. unique() is stable, so the relative order of elements that are not removed is unchanged. Elements between the end of the resulting sequence and** `last` **are still present, but their value is unspecified.**

**Definition at line 1294 of file stl\_algo.h.**

**References \_\_glibcpp\_function\_requires, adjacent\_find(), and unique\_copy().**

### template\<typename ForwardIter\> ForwardIter std::unique (ForwardIter first, ForwardIter last)

**Remove consecutive duplicate values from a sequence.**

**Parameters:**

*first* **A forward iterator.** \
 *last* **A forward iterator.**

**Returns:**

**An iterator designating the end of the resulting sequence.**

**Removes all but the first element from each group of consecutive values that compare equal. unique() is stable, so the relative order of elements that are not removed is unchanged. Elements between the end of the resulting sequence and** `last` **are still present, but their value is unspecified.**

**Definition at line 1267 of file stl\_algo.h.**

**References \_\_glibcpp\_function\_requires, adjacent\_find(), and unique\_copy().**

### template\<typename InputIter, typename OutputIter, typename BinaryPredicate\> OutputIter std::unique\_copy (InputIter first, InputIter last, OutputIter \_\_result, BinaryPredicate \_\_binary\_pred)` [inline]`

**Copy a sequence, removing consecutive values using a predicate.**

**Parameters:**

*first* **An input iterator.** \
 *last* **An input iterator.** \
 *result* **An output iterator.** \
 *binary\_pred* **A binary predicate.**

**Returns:**

**An iterator designating the end of the resulting sequence.**

**Copies each element in the range \[first,last) to the range beginning at** `result`**, except that only the first element is copied from groups of consecutive elements for which** `binary_pred` **returns true. unique\_copy() is stable, so the relative order of elements that are copied is unchanged.**

**Definition at line 1236 of file stl\_algo.h.**

**References \_\_glibcpp\_function\_requires, and \_\_unique\_copy().**

### template\<typename InputIter, typename OutputIter\> OutputIter std::unique\_copy (InputIter first, InputIter last, OutputIter \_\_result)` [inline]`

**Copy a sequence, removing consecutive duplicate values.**

**Parameters:**

*first* **An input iterator.** \
 *last* **An input iterator.** \
 *result* **An output iterator.**

**Returns:**

**An iterator designating the end of the resulting sequence.**

**Copies each element in the range \[first,last) to the range beginning at** `result`**, except that only the first element is copied from groups of consecutive elements that compare equal. unique\_copy() is stable, so the relative order of elements that are copied is unchanged.**

**Definition at line 1149 of file stl\_algo.h.**

**References \_\_glibcpp\_function\_requires, and \_\_unique\_copy().**

**Referenced by unique().**

### ios\_base& std::unitbuf (ios\_base & \_\_base)` [inline]`

**Calls base.setf(ios\_base::unitbuf).**

**Definition at line 774 of file ios\_base.h.**

**References std::ios\_base::setf(), and std::ios\_base::unitbuf.**

### ios\_base& std::uppercase (ios\_base & \_\_base)` [inline]`

**Calls base.setf(ios\_base::uppercase).**

**Definition at line 758 of file ios\_base.h.**

**References std::ios\_base::setf(), and std::ios\_base::uppercase.**

### template\<typename CharT, typename Traits\> basic\_istream\< CharT, Traits \> & std::ws (basic\_istream\< CharT, Traits \> & \_\_is)

**Quick and easy way to eat whitespace.**

**This manipulator extracts whitespace characters, stopping when the next character is non-whitespace, or when the input sequence is empty. If the sequence is empty,** `eofbit` **is set in the stream, but not** `failbit`**.**

**The current locale is used to distinguish whitespace characters.**

**Example:**

```
     MyClass   mc;
     std::cin >> std::ws >> mc;
```

 **will skip leading whitespace before calling operator\>\> on cin and your object. Note that the same effect can be achieved by creating a std::basic\_istream::sentry inside your definition of operator\>\>.**

**Definition at line 996 of file istream.tcc.**

**References std::ios\_base::eofbit, std::ios\_base::getloc(), std::basic\_ios\< CharT, Traits \>::rdbuf(), std::basic\_ios\< CharT, Traits \>::setstate(), and ctype\_base::space.**

## Variable Documentation

### ostream std::cerr

**Linked to standard error (unbuffered).**

**Definition at line 304 of file globals.cc.**

**Referenced by std::ios\_base::Init::S\_ios\_create().**

### fake\_ostream std::cerr

**Linked to standard error (unbuffered).**

**Definition at line 304 of file globals.cc.**

**Referenced by std::ios\_base::Init::S\_ios\_create().**

### istream std::cin

**Linked to standard input.**

**Definition at line 302 of file globals.cc.**

**Referenced by std::ios\_base::Init::S\_ios\_create().**

### fake\_istream std::cin

**Linked to standard input.**

**Definition at line 302 of file globals.cc.**

**Referenced by std::ios\_base::Init::S\_ios\_create().**

### ostream std::clog

**Linked to standard error (buffered).**

**Definition at line 305 of file globals.cc.**

**Referenced by std::ios\_base::Init::S\_ios\_create().**

### fake\_ostream std::clog

**Linked to standard error (buffered).**

**Definition at line 305 of file globals.cc.**

**Referenced by std::ios\_base::Init::S\_ios\_create().**

### ostream std::cout

**Linked to standard output.**

**Definition at line 303 of file globals.cc.**

**Referenced by std::ios\_base::Init::S\_ios\_create().**

### fake\_ostream std::cout

**Linked to standard output.**

**Definition at line 303 of file globals.cc.**

**Referenced by std::ios\_base::Init::S\_ios\_create().**

## Author

**Generated automatically by Doxygen for libstdc++-v3 Source from the source code.**
