---
name: "Namespace_std"
section: "3"
platform: "linux"
package: "libstdc++6-4.1-doc"
version: "4.1.2-25"
release: "Debian 5.0 (Lenny)"
platforms: ["linux"]
url: "https://new.carta.tech/Namespace_std"
---

# Namespace\_std(3)

## NAME

std -

## SYNOPSIS

### Classes

class **\_\_ctype\_abstract\_base**\
 *Common base for* **ctype** *facet.*  struct **\_\_numeric\_limits\_base**\
 *Part of* **std::numeric\_limits***.*  struct **\_Deque\_iterator**\
 *A deque::iterator.*  struct **\_List\_const\_iterator**\
 *A list::const\_iterator.*  struct **\_List\_iterator**\
 *A list::iterator.*  class **allocator**\
 *The 'standard'* **allocator***, as per \[20.4\].*  class **allocator\< void \>**\
 **allocator\<void\>** *specialization.*  class **auto\_ptr**\
 *A simple smart pointer providing strict ownership semantics.*  struct **auto\_ptr\_ref**\
 class **back\_insert\_iterator**\
 *Turns assignment into insertion.*  class **bad\_alloc**\
 *Exception possibly thrown by* `new`*.*  class **bad\_cast**\
 *Thrown during incorrect typecasting.*  class **bad\_exception**\
 class **bad\_typeid**\
 class **basic\_filebuf**\
 *The actual work of input and output (for files).*  class **basic\_fstream**\
 *Controlling intput and output for files.*  class **basic\_ifstream**\
 *Controlling input for files.*  class **basic\_ios**\
 *Virtual base class for all stream classes.*  class **basic\_iostream**\
 *Merging istream and ostream capabilities.*  class **basic\_istream**\
 *Controlling input.*  class **basic\_istringstream**\
 *Controlling input for std::string.*  class **basic\_ofstream**\
 *Controlling output for files.*  class **basic\_ostream**\
 *Controlling output.*  class **basic\_ostringstream**\
 *Controlling output for std::string.*  class **basic\_streambuf**\
 *The actual work of input and output (interface).*  class **basic\_string**\
 *Managing sequences of characters and character-like objects.*  class **basic\_stringbuf**\
 *The actual work of input and output (for std::string).*  class **basic\_stringstream**\
 *Controlling input and output for std::string.*  struct **bidirectional\_iterator\_tag**\
 *Bidirectional iterators support a superset of forward* **iterator** *operations.*  struct **binary\_function**\
 class **binary\_negate**\
 *One of the* **negation functors***.*  class **binder1st**\
 *One of the* **binder functors***.*  class **binder2nd**\
 *One of the* **binder functors***.*  class **bitset**\
 *The bitset class represents a fixed-size sequence of bits.*  struct **char\_traits**\
 *Basis for explicit traits specializations.*  struct **char\_traits\< \_\_gnu\_cxx::character\< V, I, S \> \>**\
 *char\_traits\<\_\_gnu\_cxx::character\> specialization.*  struct **char\_traits\< char \>**\
 *21.1.3.1* **char\_traits** *specializations*  struct **char\_traits\< wchar\_t \>**\
 *21.1.3.2* **char\_traits** *specializations*  class **codecvt\< \_InternT, \_ExternT, encoding\_state \>**\
 *codecvt\<InternT, \_ExternT, encoding\_state\> specialization.*  class **collate**\
 *Facet for localized string comparison.*  class **collate\_byname**\
 *class* **collate\_byname** *\[22.2.4.2\].*  class **const\_mem\_fun1\_ref\_t**\
 *One of the* **adaptors for member pointers***.*  class **const\_mem\_fun1\_t**\
 *One of the* **adaptors for member pointers***.*  class **const\_mem\_fun\_ref\_t**\
 *One of the* **adaptors for member pointers***.*  class **const\_mem\_fun\_t**\
 *One of the* **adaptors for member pointers***.*  class **ctype**\
 *Template* **ctype** *facet.*  class **ctype\< char \>**\
 *The* **ctype\<char\>** *specialization.*  class **ctype\< wchar\_t \>**\
 *The* **ctype\<wchar\_t\>** *specialization.*  class **ctype\_byname**\
 *class* **ctype\_byname** *\[22.2.1.2\].*  class **deque**\
 *A standard container using fixed-size memory allocation and constant-time manipulation of elements at either end.*  struct **divides**\
 *One of the* **math functors***.*  class **domain\_error**\
 struct **equal\_to**\
 *One of the* **comparison functors***.*  class **exception**\
 *Base class for all library exceptions.*  struct **forward\_iterator\_tag**\
 *Forward iterators support a superset of input* **iterator** *operations.*  class **fpos**\
 *Class representing stream positions.*  class **front\_insert\_iterator**\
 *Turns assignment into insertion.*  struct **greater**\
 *One of the* **comparison functors***.*  struct **greater\_equal**\
 *One of the* **comparison functors***.*  class **gslice**\
 *Class defining multi-dimensional subset of an array.*  class **gslice\_array**\
 *Reference to multi-dimensional subset of an array.*  class **indirect\_array**\
 *Reference to arbitrary subset of an array.*  struct **input\_iterator\_tag**\
 *Marking input iterators.*  class **insert\_iterator**\
 *Turns assignment into insertion.*  class **invalid\_argument**\
 class **ios\_base**\
 *The base of the I/O class hierarchy.*  class **istream\_iterator**\
 *Provides input* **iterator** *semantics for streams.*  class **istreambuf\_iterator**\
 *Provides input* **iterator** *semantics for streambufs.*  struct **iterator**\
 *Common iterator class.*  struct **iterator\_traits**\
 class **length\_error**\
 struct **less**\
 *One of the* **comparison functors***.*  struct **less\_equal**\
 *One of the* **comparison functors***.*  class **list**\
 *A standard container with linear time access to elements, and fixed time insertion/deletion at any point in the sequence.*  class **locale**\
 *Container class for localization functionality.*  class **logic\_error**\
 *One of two subclasses of* **exception***.*  struct **logical\_and**\
 *One of the* **Boolean operations functors***.*  struct **logical\_not**\
 *One of the* **Boolean operations functors***.*  struct **logical\_or**\
 *One of the* **Boolean operations functors***.*  class **map**\
 *A standard container made up of (key,value) pairs, which can be retrieved based on a key, in logarithmic time.*  class **mask\_array**\
 *Reference to selected subset of an array.*  class **mem\_fun1\_ref\_t**\
 *One of the* **adaptors for member pointers***.*  class **mem\_fun1\_t**\
 *One of the* **adaptors for member pointers***.*  class **mem\_fun\_ref\_t**\
 *One of the* **adaptors for member pointers***.*  class **mem\_fun\_t**\
 *One of the* **adaptors for member pointers***.*  class **messages**\
 *Facet for handling message catalogs.*  struct **messages\_base**\
 *Messages facet base class providing catalog typedef.*  class **messages\_byname**\
 *class* **messages\_byname** *\[22.2.7.2\].*  struct **minus**\
 *One of the* **math functors***.*  struct **modulus**\
 *One of the* **math functors***.*  class **money\_base**\
 *Money format ordering data.*  class **money\_get**\
 *Facet for parsing monetary amounts.*  class **money\_put**\
 *Facet for outputting monetary amounts.*  class **moneypunct**\
 *Facet for formatting data for money amounts.*  class **moneypunct\_byname**\
 *class* **moneypunct\_byname** *\[22.2.6.4\].*  class **multimap**\
 *A standard container made up of (key,value) pairs, which can be retrieved based on a key, in logarithmic time.*  struct **multiplies**\
 *One of the* **math functors***.*  class **multiset**\
 *A standard container made up of elements, which can be retrieved in logarithmic time.*  struct **negate**\
 *One of the* **math functors***.*  struct **not\_equal\_to**\
 *One of the* **comparison functors***.*  class **num\_get**\
 *Facet for parsing number strings.*  class **num\_put**\
 *Facet for converting numbers to strings.*  struct **numeric\_limits**\
 *Properties of fundamental types.*  struct **numeric\_limits\< bool \>**\
 **numeric\_limits\<bool\>** *specialization.*  struct **numeric\_limits\< char \>**\
 **numeric\_limits\<char\>** *specialization.*  struct **numeric\_limits\< double \>**\
 **numeric\_limits\<double\>** *specialization.*  struct **numeric\_limits\< float \>**\
 **numeric\_limits\<float\>** *specialization.*  struct **numeric\_limits\< int \>**\
 **numeric\_limits\<int\>** *specialization.*  struct **numeric\_limits\< long \>**\
 **numeric\_limits\<long\>** *specialization.*  struct **numeric\_limits\< long double \>**\
 **numeric\_limits\<long double\>** *specialization.*  struct **numeric\_limits\< long long \>**\
 **numeric\_limits\<long long\>** *specialization.*  struct **numeric\_limits\< short \>**\
 **numeric\_limits\<short\>** *specialization.*  struct **numeric\_limits\< signed char \>**\
 **numeric\_limits\<signed char\>** *specialization.*  struct **numeric\_limits\< unsigned char \>**\
 **numeric\_limits\<unsigned char\>** *specialization.*  struct **numeric\_limits\< unsigned int \>**\
 **numeric\_limits\<unsigned int\>** *specialization.*  struct **numeric\_limits\< unsigned long \>**\
 **numeric\_limits\<unsigned long\>** *specialization.*  struct **numeric\_limits\< unsigned long long \>**\
 **numeric\_limits\<unsigned long long\>** *specialization.*  struct **numeric\_limits\< unsigned short \>**\
 **numeric\_limits\<unsigned short\>** *specialization.*  struct **numeric\_limits\< wchar\_t \>**\
 **numeric\_limits\<wchar\_t\>** *specialization.*  class **numpunct**\
 *Numpunct facet.*  class **numpunct\_byname**\
 *class* **numpunct\_byname** *\[22.2.3.2\].*  class **ostream\_iterator**\
 *Provides output* **iterator** *semantics for streams.*  class **ostreambuf\_iterator**\
 *Provides output* **iterator** *semantics for streambufs.*  class **out\_of\_range**\
 struct **output\_iterator\_tag**\
 *Marking output iterators.*  class **overflow\_error**\
 struct **pair**\
 **pair** *holds two objects of arbitrary type.*  struct **plus**\
 *One of the* **math functors***.*  class **pointer\_to\_binary\_function**\
 *One of the* **adaptors for function pointers***.*  class **pointer\_to\_unary\_function**\
 *One of the* **adaptors for function pointers***.*  class **priority\_queue**\
 *A standard container automatically sorting its contents.*  class **queue**\
 *A standard container giving FIFO behavior.*  struct **random\_access\_iterator\_tag**\
 *Random-access iterators support a superset of bidirectional* **iterator** *operations.*  class **range\_error**\
 class **raw\_storage\_iterator**\
 class **reverse\_iterator**\
 class **runtime\_error**\
 *One of two subclasses of* **exception***.*  class **set**\
 *A standard container made up of unique keys, which can be retrieved in logarithmic time.*  class **slice**\
 *Class defining one-dimensional subset of an array.*  class **slice\_array**\
 *Reference to one-dimensional subset of an array.*  class **stack**\
 *A standard container giving FILO behavior.*  class **time\_base**\
 *Time format ordering data.*  class **time\_get**\
 *Facet for parsing dates and times.*  class **time\_get\_byname**\
 *class* **time\_get\_byname** *\[22.2.5.2\].*  class **time\_put**\
 *Facet for outputting dates and times.*  class **time\_put\_byname**\
 *class* **time\_put\_byname** *\[22.2.5.4\].*  class **type\_info**\
 *Part of RTTI.*  struct **unary\_function**\
 class **unary\_negate**\
 *One of the* **negation functors***.*  class **underflow\_error**\
 class **valarray**\
 *Smart array designed to support numeric processing.*  class **vector**\
 *A standard container which offers fixed time access to individual elements in any order.*  class **vector\< bool, \_Alloc \>**\
 *A specialization of* **vector** *for booleans which offers fixed time access to individual elements in any order.*

### Namespaces

namespace **rel\_ops**\
 namespace **tr1**\

### Typedefs

typedef FILE **\_\_c\_file**\
 typedef \_\_locale\_t **\_\_c\_locale**\
 typedef \_\_gthread\_mutex\_t **\_\_c\_lock**\
 typedef unsigned long **\_Bit\_type**\
 typedef **basic\_filebuf**\< char \> **filebuf**\
 typedef **basic\_fstream**\< char \> **fstream**\
 typedef **basic\_ifstream**\< char \> **ifstream**\
 typedef **basic\_ios**\< char \> **ios**\
 typedef **basic\_iostream**\< char \> **iostream**\
 typedef **basic\_istream**\< char \> **istream**\
 typedef **basic\_istringstream**\< char \> **istringstream**\
 typedef void(\* **new\_handler** )()\
 typedef **basic\_ofstream**\< char \> **ofstream**\
 typedef **basic\_ostream**\< char \> **ostream**\
 typedef **basic\_ostringstream**\< char \> **ostringstream**\
 typedef **basic\_streambuf**\< char \> **streambuf**\
 typedef long long **streamoff**\
 typedef **fpos**\< mbstate\_t \> **streampos**\
 typedef ptrdiff\_t **streamsize**\
 typedef **basic\_string**\< char \> **string**\
 typedef **basic\_stringbuf**\< char \> **stringbuf**\
 typedef **basic\_stringstream**\< char \> **stringstream**\
 typedef void(\* **terminate\_handler** )()\
 typedef void(\* **unexpected\_handler** )()\
 typedef **basic\_filebuf**\< wchar\_t \> **wfilebuf**\
 typedef **basic\_fstream**\< wchar\_t \> **wfstream**\
 typedef **basic\_ifstream**\< wchar\_t \> **wifstream**\
 typedef **basic\_ios**\< wchar\_t \> **wios**\
 typedef **basic\_iostream**\< wchar\_t \> **wiostream**\
 typedef **basic\_istream**\< wchar\_t \> **wistream**\
 typedef **basic\_istringstream**\< wchar\_t \> **wistringstream**\
 typedef **basic\_ofstream**\< wchar\_t \> **wofstream**\
 typedef **basic\_ostream**\< wchar\_t \> **wostream**\
 typedef **basic\_ostringstream**\< wchar\_t \> **wostringstream**\
 typedef **basic\_streambuf**\< wchar\_t \> **wstreambuf**\
 typedef **fpos**\< mbstate\_t \> **wstreampos**\
 typedef **basic\_string**\< wchar\_t \> **wstring**\
 typedef **basic\_stringbuf**\< wchar\_t \> **wstringbuf**\
 typedef **basic\_stringstream**\< wchar\_t \> **wstringstream**\

### Enumerations

enum { **\_S\_threshold** }\
 enum { **\_S\_chunk\_size** }\
 enum { **\_S\_word\_bit** }\
 enum **\_Ios\_Fmtflags** { **\_S\_boolalpha**, **\_S\_dec**, **\_S\_fixed**, **\_S\_hex**, **\_S\_internal**, **\_S\_left**, **\_S\_oct**, **\_S\_right**, **\_S\_scientific**, **\_S\_showbase**, **\_S\_showpoint**, **\_S\_showpos**, **\_S\_skipws**, **\_S\_unitbuf**, **\_S\_uppercase**, **\_S\_adjustfield**, **\_S\_basefield**, **\_S\_floatfield**, **\_S\_ios\_fmtflags\_end** }\
 enum **\_Ios\_Iostate** { **\_S\_goodbit**, **\_S\_badbit**, **\_S\_eofbit**, **\_S\_failbit**, **\_S\_ios\_iostate\_end** }\
 enum **\_Ios\_Openmode** { **\_S\_app**, **\_S\_ate**, **\_S\_bin**, **\_S\_in**, **\_S\_out**, **\_S\_trunc**, **\_S\_ios\_openmode\_end** }\
 enum **\_Ios\_Seekdir** { **\_S\_beg**, **\_S\_cur**, **\_S\_end**, **\_S\_ios\_seekdir\_end** }\
 enum **\_Rb\_tree\_color** { **\_S\_red**, **\_S\_black** }\
 enum **float\_denorm\_style** { **denorm\_indeterminate**, **denorm\_absent**, **denorm\_present** }\
 enum **float\_round\_style** { **round\_indeterminate**, **round\_toward\_zero**, **round\_to\_nearest**, **round\_toward\_infinity**, **round\_toward\_neg\_infinity** }\

### Functions

template\<typename \_CharT\> \_CharT \* **\_\_add\_grouping** (\_CharT \*\_\_s, \_CharT \_\_sep, const char \*\_\_gbeg, size\_t \_\_gsize, const \_CharT \*\_\_first, const \_CharT \*\_\_last)\
 template\<typename \_RandomAccessIterator, typename \_Distance, typename \_Tp, typename \_Compare\> void **\_\_adjust\_heap** (\_RandomAccessIterator \_\_first, \_Distance \_\_holeIndex, \_Distance \_\_len, \_Tp \_\_value, \_Compare \_\_comp)\
 template\<typename \_RandomAccessIterator, typename \_Distance, typename \_Tp\> void **\_\_adjust\_heap** (\_RandomAccessIterator \_\_first, \_Distance \_\_holeIndex, \_Distance \_\_len, \_Tp \_\_value)\
 template\<typename \_RandomAccessIterator, typename \_Distance\> void **\_\_advance** (\_RandomAccessIterator &\_\_i, \_Distance \_\_n, **random\_access\_iterator\_tag**)\
 template\<typename \_BidirectionalIterator, typename \_Distance\> void **\_\_advance** (\_BidirectionalIterator &\_\_i, \_Distance \_\_n, **bidirectional\_iterator\_tag**)\
 template\<typename \_InputIterator, typename \_Distance\> void **\_\_advance** (\_InputIterator &\_\_i, \_Distance \_\_n, **input\_iterator\_tag**)\
 template\<typename \_Facet\> const \_Facet & **\_\_check\_facet** (const \_Facet \*\_\_f)\
 template\<typename \_RandomAccessIterator, typename \_Distance, typename \_Compare\> void **\_\_chunk\_insertion\_sort** (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last, \_Distance \_\_chunk\_size, \_Compare \_\_comp)\
 template\<typename \_RandomAccessIterator, typename \_Distance\> void **\_\_chunk\_insertion\_sort** (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last, \_Distance \_\_chunk\_size)\
 template\<typename \_Tp\> \_Tp **\_\_cmath\_power** (\_Tp \_\_x, unsigned int \_\_n)\
 template\<typename \_Tv\> int **\_\_convert\_from\_v** (char \*\_\_out, const int \_\_size \_\_attribute\_\_((\_\_unused\_\_)), const char \*\_\_fmt, \_Tv \_\_v, const \_\_c\_locale &, int \_\_prec)\
 template\<\> void **\_\_convert\_to\_v** (const char \*, long double &, **ios\_base::iostate** &, const \_\_c\_locale &)\
 template\<\> void **\_\_convert\_to\_v** (const char \*, double &, **ios\_base::iostate** &, const \_\_c\_locale &)\
 template\<\> void **\_\_convert\_to\_v** (const char \*, float &, **ios\_base::iostate** &, const \_\_c\_locale &)\
 template\<typename \_Tv\> void **\_\_convert\_to\_v** (const char \*\_\_in, \_Tv &\_\_out, **ios\_base::iostate** &\_\_err, const \_\_c\_locale &\_\_cloc)\
 template\<typename \_II, typename \_OI\> \_OI **\_\_copy\_aux** (\_II \_\_first, \_II \_\_last, \_OI \_\_result)\
 template\<typename \_BI1, typename \_BI2\> \_BI2 **\_\_copy\_backward\_aux** (\_BI1 \_\_first, \_BI1 \_\_last, \_BI2 \_\_result)\
 template\<\> **streamsize** **\_\_copy\_streambufs** (**basic\_streambuf**\< wchar\_t \> \*\_\_sbin, **basic\_streambuf**\< wchar\_t \> \*\_\_sbout)\
 template\<\> **streamsize** **\_\_copy\_streambufs** (**basic\_streambuf**\< char \> \*\_\_sbin, **basic\_streambuf**\< char \> \*\_\_sbout)\
 template\<typename \_CharT, typename \_Traits\> **streamsize** **\_\_copy\_streambufs** (**basic\_streambuf**\< \_CharT, \_Traits \> \*\_\_sbin, **basic\_streambuf**\< \_CharT, \_Traits \> \*\_\_sbout)\
 size\_t **\_\_deque\_buf\_size** (size\_t \_\_size)\
 template\<typename \_ForwardIterator\> void **\_\_destroy\_aux** (\_ForwardIterator, \_ForwardIterator, \_\_true\_type)\
 template\<typename \_ForwardIterator\> void **\_\_destroy\_aux** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, \_\_false\_type)\
 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, **input\_iterator\_tag**)\
 template\<typename \_RandomAccessIterator, typename \_Compare\> void **\_\_final\_insertion\_sort** (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last, \_Compare \_\_comp)\
 template\<typename \_RandomAccessIterator\> void **\_\_final\_insertion\_sort** (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last)\
 template\<typename \_RandomAccessIterator, typename \_Tp\> \_RandomAccessIterator **\_\_find** (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last, const \_Tp &\_\_val, **random\_access\_iterator\_tag**)\
 template\<typename \_InputIterator, typename \_Tp\> \_InputIterator **\_\_find** (\_InputIterator \_\_first, \_InputIterator \_\_last, const \_Tp &\_\_val, **input\_iterator\_tag**)\
 template\<typename \_BidirectionalIterator1, typename \_BidirectionalIterator2, typename \_BinaryPredicate\> \_BidirectionalIterator1 **\_\_find\_end** (\_BidirectionalIterator1 \_\_first1, \_BidirectionalIterator1 \_\_last1, \_BidirectionalIterator2 \_\_first2, \_BidirectionalIterator2 \_\_last2, **bidirectional\_iterator\_tag**, **bidirectional\_iterator\_tag**, \_BinaryPredicate \_\_comp)\
 template\<typename \_BidirectionalIterator1, typename \_BidirectionalIterator2\> \_BidirectionalIterator1 **\_\_find\_end** (\_BidirectionalIterator1 \_\_first1, \_BidirectionalIterator1 \_\_last1, \_BidirectionalIterator2 \_\_first2, \_BidirectionalIterator2 \_\_last2, **bidirectional\_iterator\_tag**, **bidirectional\_iterator\_tag**)\
 template\<typename \_ForwardIterator1, typename \_ForwardIterator2, typename \_BinaryPredicate\> \_ForwardIterator1 **\_\_find\_end** (\_ForwardIterator1 \_\_first1, \_ForwardIterator1 \_\_last1, \_ForwardIterator2 \_\_first2, \_ForwardIterator2 \_\_last2, **forward\_iterator\_tag**, **forward\_iterator\_tag**, \_BinaryPredicate \_\_comp)\
 template\<typename \_ForwardIterator1, typename \_ForwardIterator2\> \_ForwardIterator1 **\_\_find\_end** (\_ForwardIterator1 \_\_first1, \_ForwardIterator1 \_\_last1, \_ForwardIterator2 \_\_first2, \_ForwardIterator2 \_\_last2, **forward\_iterator\_tag**, **forward\_iterator\_tag**)\
 template\<typename \_RandomAccessIterator, typename \_Predicate\> \_RandomAccessIterator **\_\_find\_if** (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last, \_Predicate \_\_pred, **random\_access\_iterator\_tag**)\
 template\<typename \_InputIterator, typename \_Predicate\> \_InputIterator **\_\_find\_if** (\_InputIterator \_\_first, \_InputIterator \_\_last, \_Predicate \_\_pred, **input\_iterator\_tag**)\
 template\<typename \_EuclideanRingElement\> \_EuclideanRingElement **\_\_gcd** (\_EuclideanRingElement \_\_m, \_EuclideanRingElement \_\_n)\
 template\<typename \_Tp\> **pair**\< \_Tp \*, ptrdiff\_t \> **\_\_get\_temporary\_buffer** (ptrdiff\_t \_\_len, \_Tp \*)\
 template\<typename \_T\> size\_t **\_\_iconv\_adaptor** (size\_t(\*\_\_func)(iconv\_t, \_T, size\_t \*, char \*\*, size\_t \*), iconv\_t \_\_cd, char \*\*\_\_inbuf, size\_t \*\_\_inbytes, char \*\*\_\_outbuf, size\_t \*\_\_outbytes)\
 template\<typename \_ForwardIterator, typename \_Predicate, typename \_Distance\> \_ForwardIterator **\_\_inplace\_stable\_partition** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, \_Predicate \_\_pred, \_Distance \_\_len)\
 template\<typename \_RandomAccessIterator, typename \_Compare\> void **\_\_inplace\_stable\_sort** (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last, \_Compare \_\_comp)\
 template\<typename \_RandomAccessIterator\> void **\_\_inplace\_stable\_sort** (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last)\
 template\<typename \_RandomAccessIterator, typename \_Compare\> void **\_\_insertion\_sort** (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last, \_Compare \_\_comp)\
 template\<typename \_RandomAccessIterator\> void **\_\_insertion\_sort** (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last)\
 template\<typename \_CharT, typename \_ValueT\> int **\_\_int\_to\_char** (\_CharT \*\_\_bufend, \_ValueT \_\_v, const \_CharT \*\_\_lit, **ios\_base::fmtflags** \_\_flags, bool)\
 template\<typename \_CharT\> int **\_\_int\_to\_char** (\_CharT \*\_\_bufend, unsigned long long \_\_v, const \_CharT \*\_\_lit, **ios\_base::fmtflags** \_\_flags)\
 template\<typename \_CharT\> int **\_\_int\_to\_char** (\_CharT \*\_\_bufend, long long \_\_v, const \_CharT \*\_\_lit, **ios\_base::fmtflags** \_\_flags)\
 template\<typename \_CharT\> int **\_\_int\_to\_char** (\_CharT \*\_\_bufend, unsigned long \_\_v, const \_CharT \*\_\_lit, **ios\_base::fmtflags** \_\_flags)\
 template\<typename \_CharT\> \_GLIBCXX\_END\_LDBL\_NAMESPACE int **\_\_int\_to\_char** (\_CharT \*\_\_bufend, long \_\_v, const \_CharT \*\_\_lit, **ios\_base::fmtflags** \_\_flags)\
 template\<typename \_RandomAccessIterator, typename \_Size, typename \_Compare\> void **\_\_introsort\_loop** (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last, \_Size \_\_depth\_limit, \_Compare \_\_comp)\
 template\<typename \_RandomAccessIterator, typename \_Size\> void **\_\_introsort\_loop** (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last, \_Size \_\_depth\_limit)\
 template\<typename \_RandomAccessIterator, typename \_StrictWeakOrdering\> bool **\_\_is\_heap** (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last, \_StrictWeakOrdering \_\_comp)\
 template\<typename \_RandomAccessIterator\> bool **\_\_is\_heap** (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last)\
 template\<typename \_RandomAccessIterator, typename \_Distance, typename \_StrictWeakOrdering\> bool **\_\_is\_heap** (\_RandomAccessIterator \_\_first, \_StrictWeakOrdering \_\_comp, \_Distance \_\_n)\
 template\<typename \_RandomAccessIterator, typename \_Distance\> bool **\_\_is\_heap** (\_RandomAccessIterator \_\_first, \_Distance \_\_n)\
 template\<typename \_Type\> bool **\_\_is\_null\_pointer** (\_Type)\
 template\<typename \_Type\> bool **\_\_is\_null\_pointer** (\_Type \*\_\_ptr)\
 template\<typename \_Iter\> **iterator\_traits**\< \_Iter \>::iterator\_category **\_\_iterator\_category** (const \_Iter &)\
 template\<typename \_Size\> \_Size **\_\_lg** (\_Size \_\_n)\
 template\<typename \_Tp, typename \_Compare\> const \_Tp & **\_\_median** (const \_Tp &\_\_a, const \_Tp &\_\_b, const \_Tp &\_\_c, \_Compare \_\_comp)\
 template\<typename \_Tp\> const \_Tp & **\_\_median** (const \_Tp &\_\_a, const \_Tp &\_\_b, const \_Tp &\_\_c)\
 template\<typename \_BidirectionalIterator, typename \_Distance, typename \_Pointer, typename \_Compare\> void **\_\_merge\_adaptive** (\_BidirectionalIterator \_\_first, \_BidirectionalIterator \_\_middle, \_BidirectionalIterator \_\_last, \_Distance \_\_len1, \_Distance \_\_len2, \_Pointer \_\_buffer, \_Distance \_\_buffer\_size, \_Compare \_\_comp)\
 template\<typename \_BidirectionalIterator, typename \_Distance, typename \_Pointer\> void **\_\_merge\_adaptive** (\_BidirectionalIterator \_\_first, \_BidirectionalIterator \_\_middle, \_BidirectionalIterator \_\_last, \_Distance \_\_len1, \_Distance \_\_len2, \_Pointer \_\_buffer, \_Distance \_\_buffer\_size)\
 template\<typename \_BidirectionalIterator1, typename \_BidirectionalIterator2, typename \_BidirectionalIterator3, typename \_Compare\> \_BidirectionalIterator3 **\_\_merge\_backward** (\_BidirectionalIterator1 \_\_first1, \_BidirectionalIterator1 \_\_last1, \_BidirectionalIterator2 \_\_first2, \_BidirectionalIterator2 \_\_last2, \_BidirectionalIterator3 \_\_result, \_Compare \_\_comp)\
 template\<typename \_BidirectionalIterator1, typename \_BidirectionalIterator2, typename \_BidirectionalIterator3\> \_BidirectionalIterator3 **\_\_merge\_backward** (\_BidirectionalIterator1 \_\_first1, \_BidirectionalIterator1 \_\_last1, \_BidirectionalIterator2 \_\_first2, \_BidirectionalIterator2 \_\_last2, \_BidirectionalIterator3 \_\_result)\
 template\<typename \_RandomAccessIterator1, typename \_RandomAccessIterator2, typename \_Distance, typename \_Compare\> void **\_\_merge\_sort\_loop** (\_RandomAccessIterator1 \_\_first, \_RandomAccessIterator1 \_\_last, \_RandomAccessIterator2 \_\_result, \_Distance \_\_step\_size, \_Compare \_\_comp)\
 template\<typename \_RandomAccessIterator1, typename \_RandomAccessIterator2, typename \_Distance\> void **\_\_merge\_sort\_loop** (\_RandomAccessIterator1 \_\_first, \_RandomAccessIterator1 \_\_last, \_RandomAccessIterator2 \_\_result, \_Distance \_\_step\_size)\
 template\<typename \_RandomAccessIterator, typename \_Pointer, typename \_Compare\> void **\_\_merge\_sort\_with\_buffer** (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last, \_Pointer \_\_buffer, \_Compare \_\_comp)\
 template\<typename \_RandomAccessIterator, typename \_Pointer\> void **\_\_merge\_sort\_with\_buffer** (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last, \_Pointer \_\_buffer)\
 template\<typename \_BidirectionalIterator, typename \_Distance, typename \_Compare\> void **\_\_merge\_without\_buffer** (\_BidirectionalIterator \_\_first, \_BidirectionalIterator \_\_middle, \_BidirectionalIterator \_\_last, \_Distance \_\_len1, \_Distance \_\_len2, \_Compare \_\_comp)\
 template\<typename \_BidirectionalIterator, typename \_Distance\> void **\_\_merge\_without\_buffer** (\_BidirectionalIterator \_\_first, \_BidirectionalIterator \_\_middle, \_BidirectionalIterator \_\_last, \_Distance \_\_len1, \_Distance \_\_len2)\
 template\<typename \_BidirectionalIterator, typename \_Predicate\> \_BidirectionalIterator **\_\_partition** (\_BidirectionalIterator \_\_first, \_BidirectionalIterator \_\_last, \_Predicate \_\_pred, **bidirectional\_iterator\_tag**)\
 template\<typename \_ForwardIterator, typename \_Predicate\> \_ForwardIterator **\_\_partition** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, \_Predicate \_\_pred, **forward\_iterator\_tag**)\
 template\<typename \_RandomAccessIterator, typename \_Tp, typename \_Compare\> void **\_\_pop\_heap** (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last, \_RandomAccessIterator \_\_result, \_Tp \_\_value, \_Compare \_\_comp)\
 template\<typename \_RandomAccessIterator, typename \_Tp\> void **\_\_pop\_heap** (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last, \_RandomAccessIterator \_\_result, \_Tp \_\_value)\
 template\<typename \_RandomAccessIterator, typename \_Distance, typename \_Tp, typename \_Compare\> void **\_\_push\_heap** (\_RandomAccessIterator \_\_first, \_Distance \_\_holeIndex, \_Distance \_\_topIndex, \_Tp \_\_value, \_Compare \_\_comp)\
 template\<typename \_RandomAccessIterator, typename \_Distance, typename \_Tp\> void **\_\_push\_heap** (\_RandomAccessIterator \_\_first, \_Distance \_\_holeIndex, \_Distance \_\_topIndex, \_Tp \_\_value)\
 template\<typename \_RandomAccessIterator\> void **\_\_reverse** (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last, **random\_access\_iterator\_tag**)\
 template\<typename \_BidirectionalIterator\> void **\_\_reverse** (\_BidirectionalIterator \_\_first, \_BidirectionalIterator \_\_last, **bidirectional\_iterator\_tag**)\
 template\<typename \_RandomAccessIterator\> void **\_\_rotate** (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_middle, \_RandomAccessIterator \_\_last, **random\_access\_iterator\_tag**)\
 template\<typename \_BidirectionalIterator\> void **\_\_rotate** (\_BidirectionalIterator \_\_first, \_BidirectionalIterator \_\_middle, \_BidirectionalIterator \_\_last, **bidirectional\_iterator\_tag**)\
 template\<typename \_ForwardIterator\> void **\_\_rotate** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_middle, \_ForwardIterator \_\_last, **forward\_iterator\_tag**)\
 template\<typename \_BidirectionalIterator1, typename \_BidirectionalIterator2, typename \_Distance\> \_BidirectionalIterator1 **\_\_rotate\_adaptive** (\_BidirectionalIterator1 \_\_first, \_BidirectionalIterator1 \_\_middle, \_BidirectionalIterator1 \_\_last, \_Distance \_\_len1, \_Distance \_\_len2, \_BidirectionalIterator2 \_\_buffer, \_Distance \_\_buffer\_size)\
 template\<typename \_RandomAccessIter, typename \_Integer, typename \_Tp, typename \_BinaryPredicate\> \_RandomAccessIter **\_\_search\_n** (\_RandomAccessIter \_\_first, \_RandomAccessIter \_\_last, \_Integer \_\_count, const \_Tp &\_\_val, \_BinaryPredicate \_\_binary\_pred, **std::random\_access\_iterator\_tag**)\
 template\<typename \_ForwardIterator, typename \_Integer, typename \_Tp, typename \_BinaryPredicate\> \_ForwardIterator **\_\_search\_n** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, \_Integer \_\_count, const \_Tp &\_\_val, \_BinaryPredicate \_\_binary\_pred, **std::forward\_iterator\_tag**)\
 template\<typename \_RandomAccessIter, typename \_Integer, typename \_Tp\> \_RandomAccessIter **\_\_search\_n** (\_RandomAccessIter \_\_first, \_RandomAccessIter \_\_last, \_Integer \_\_count, const \_Tp &\_\_val, **std::random\_access\_iterator\_tag**)\
 template\<typename \_ForwardIterator, typename \_Integer, typename \_Tp\> \_ForwardIterator **\_\_search\_n** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, \_Integer \_\_count, const \_Tp &\_\_val, **std::forward\_iterator\_tag**)\
 template\<typename \_ForwardIterator, typename \_Pointer, typename \_Predicate, typename \_Distance\> \_ForwardIterator **\_\_stable\_partition\_adaptive** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, \_Predicate \_\_pred, \_Distance \_\_len, \_Pointer \_\_buffer, \_Distance \_\_buffer\_size)\
 template\<typename \_RandomAccessIterator, typename \_Pointer, typename \_Distance, typename \_Compare\> void **\_\_stable\_sort\_adaptive** (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last, \_Pointer \_\_buffer, \_Distance \_\_buffer\_size, \_Compare \_\_comp)\
 template\<typename \_RandomAccessIterator, typename \_Pointer, typename \_Distance\> void **\_\_stable\_sort\_adaptive** (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last, \_Pointer \_\_buffer, \_Distance \_\_buffer\_size)\
 void **\_\_throw\_bad\_alloc** (void) \_\_attribute\_\_((\_\_noreturn\_\_))\
 void **\_\_throw\_bad\_cast** (void) \_\_attribute\_\_((\_\_noreturn\_\_))\
 void **\_\_throw\_bad\_exception** (void) \_\_attribute\_\_((\_\_noreturn\_\_))\
 void **\_\_throw\_bad\_typeid** (void) \_\_attribute\_\_((\_\_noreturn\_\_))\
 void **\_\_throw\_domain\_error** (const char \*) \_\_attribute\_\_((\_\_noreturn\_\_))\
 void **\_\_throw\_invalid\_argument** (const char \*) \_\_attribute\_\_((\_\_noreturn\_\_))\
 void **\_\_throw\_ios\_failure** (const char \*) \_\_attribute\_\_((\_\_noreturn\_\_))\
 void **\_\_throw\_length\_error** (const char \*) \_\_attribute\_\_((\_\_noreturn\_\_))\
 void **\_\_throw\_logic\_error** (const char \*) \_\_attribute\_\_((\_\_noreturn\_\_))\
 void **\_\_throw\_out\_of\_range** (const char \*) \_\_attribute\_\_((\_\_noreturn\_\_))\
 void **\_\_throw\_overflow\_error** (const char \*) \_\_attribute\_\_((\_\_noreturn\_\_))\
 void **\_\_throw\_range\_error** (const char \*) \_\_attribute\_\_((\_\_noreturn\_\_))\
 void **\_\_throw\_runtime\_error** (const char \*) \_\_attribute\_\_((\_\_noreturn\_\_))\
 void **\_\_throw\_underflow\_error** (const char \*) \_\_attribute\_\_((\_\_noreturn\_\_))\
 template\<typename \_RandomAccessIterator, typename \_Compare\> void **\_\_unguarded\_insertion\_sort** (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last, \_Compare \_\_comp)\
 template\<typename \_RandomAccessIterator\> void **\_\_unguarded\_insertion\_sort** (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last)\
 template\<typename \_RandomAccessIterator, typename \_Tp, typename \_Compare\> void **\_\_unguarded\_linear\_insert** (\_RandomAccessIterator \_\_last, \_Tp \_\_val, \_Compare \_\_comp)\
 template\<typename \_RandomAccessIterator, typename \_Tp\> void **\_\_unguarded\_linear\_insert** (\_RandomAccessIterator \_\_last, \_Tp \_\_val)\
 template\<typename \_RandomAccessIterator, typename \_Tp, typename \_Compare\> \_RandomAccessIterator **\_\_unguarded\_partition** (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last, \_Tp \_\_pivot, \_Compare \_\_comp)\
 template\<typename \_RandomAccessIterator, typename \_Tp\> \_RandomAccessIterator **\_\_unguarded\_partition** (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last, \_Tp \_\_pivot)\
 template\<typename \_InputIterator, typename \_ForwardIterator, typename \_Tp\> \_ForwardIterator **\_\_uninitialized\_copy\_a** (\_InputIterator \_\_first, \_InputIterator \_\_last, \_ForwardIterator \_\_result, **allocator**\< \_Tp \>)\
 template\<typename \_InputIterator, typename \_ForwardIterator, typename \_Allocator\> \_ForwardIterator **\_\_uninitialized\_copy\_a** (\_InputIterator \_\_first, \_InputIterator \_\_last, \_ForwardIterator \_\_result, \_Allocator \_\_alloc)\
 template\<typename \_InputIterator, typename \_ForwardIterator\> \_ForwardIterator **\_\_uninitialized\_copy\_aux** (\_InputIterator \_\_first, \_InputIterator \_\_last, \_ForwardIterator \_\_result, \_\_false\_type)\
 template\<typename \_InputIterator, typename \_ForwardIterator\> \_ForwardIterator **\_\_uninitialized\_copy\_aux** (\_InputIterator \_\_first, \_InputIterator \_\_last, \_ForwardIterator \_\_result, \_\_true\_type)\
 template\<typename \_InputIterator1, typename \_InputIterator2, typename \_ForwardIterator, typename \_Allocator\> \_ForwardIterator **\_\_uninitialized\_copy\_copy** (\_InputIterator1 \_\_first1, \_InputIterator1 \_\_last1, \_InputIterator2 \_\_first2, \_InputIterator2 \_\_last2, \_ForwardIterator \_\_result, \_Allocator \_\_alloc)\
 template\<typename \_InputIterator, typename \_ForwardIterator, typename \_Tp, typename \_Allocator\> void **\_\_uninitialized\_copy\_fill** (\_InputIterator \_\_first1, \_InputIterator \_\_last1, \_ForwardIterator \_\_first2, \_ForwardIterator \_\_last2, const \_Tp &\_\_x, \_Allocator \_\_alloc)\
 template\<typename \_ForwardIterator, typename \_Tp, typename \_Tp2\> void **\_\_uninitialized\_fill\_a** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, const \_Tp &\_\_x, **allocator**\< \_Tp2 \>)\
 template\<typename \_ForwardIterator, typename \_Tp, typename \_Allocator\> void **\_\_uninitialized\_fill\_a** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, const \_Tp &\_\_x, \_Allocator \_\_alloc)\
 template\<typename \_ForwardIterator, typename \_Tp\> void **\_\_uninitialized\_fill\_aux** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, const \_Tp &\_\_x, \_\_false\_type)\
 template\<typename \_ForwardIterator, typename \_Tp\> void **\_\_uninitialized\_fill\_aux** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, const \_Tp &\_\_x, \_\_true\_type)\
 template\<typename \_ForwardIterator, typename \_Tp, typename \_InputIterator, typename \_Allocator\> \_ForwardIterator **\_\_uninitialized\_fill\_copy** (\_ForwardIterator \_\_result, \_ForwardIterator \_\_mid, const \_Tp &\_\_x, \_InputIterator \_\_first, \_InputIterator \_\_last, \_Allocator \_\_alloc)\
 template\<typename \_ForwardIterator, typename \_Size, typename \_Tp, typename \_Tp2\> void **\_\_uninitialized\_fill\_n\_a** (\_ForwardIterator \_\_first, \_Size \_\_n, const \_Tp &\_\_x, **allocator**\< \_Tp2 \>)\
 template\<typename \_ForwardIterator, typename \_Size, typename \_Tp, typename \_Allocator\> void **\_\_uninitialized\_fill\_n\_a** (\_ForwardIterator \_\_first, \_Size \_\_n, const \_Tp &\_\_x, \_Allocator \_\_alloc)\
 template\<typename \_ForwardIterator, typename \_Size, typename \_Tp\> void **\_\_uninitialized\_fill\_n\_aux** (\_ForwardIterator \_\_first, \_Size \_\_n, const \_Tp &\_\_x, \_\_false\_type)\
 template\<typename \_ForwardIterator, typename \_Size, typename \_Tp\> void **\_\_uninitialized\_fill\_n\_aux** (\_ForwardIterator \_\_first, \_Size \_\_n, const \_Tp &\_\_x, \_\_true\_type)\
 template\<typename \_InputIterator, typename \_ForwardIterator, typename \_BinaryPredicate\> \_ForwardIterator **\_\_unique\_copy** (\_InputIterator \_\_first, \_InputIterator \_\_last, \_ForwardIterator \_\_result, \_BinaryPredicate \_\_binary\_pred, **forward\_iterator\_tag**)\
 template\<typename \_InputIterator, typename \_OutputIterator, typename \_BinaryPredicate\> \_OutputIterator **\_\_unique\_copy** (\_InputIterator \_\_first, \_InputIterator \_\_last, \_OutputIterator \_\_result, \_BinaryPredicate \_\_binary\_pred, **output\_iterator\_tag**)\
 template\<typename \_InputIterator, typename \_ForwardIterator\> \_ForwardIterator **\_\_unique\_copy** (\_InputIterator \_\_first, \_InputIterator \_\_last, \_ForwardIterator \_\_result, **forward\_iterator\_tag**)\
 template\<typename \_InputIterator, typename \_OutputIterator\> \_OutputIterator **\_\_unique\_copy** (\_InputIterator \_\_first, \_InputIterator \_\_last, \_OutputIterator \_\_result, **output\_iterator\_tag**)\
 template\<typename \_Tp, class \_Dom\> void **\_\_valarray\_copy** (const \_Expr\< \_Dom, \_Tp \> &\_\_e, size\_t \_\_n, \_Array\< \_Tp \> \_\_a, \_Array\< bool \> \_\_m)\
 template\<typename \_Tp\> void **\_\_valarray\_copy** (\_Array\< \_Tp \> \_\_e, \_Array\< size\_t \> \_\_f, size\_t \_\_n, \_Array\< \_Tp \> \_\_a, \_Array\< size\_t \> \_\_i)\
 template\<typename \_Tp, class \_Dom\> void **\_\_valarray\_copy** (const \_Expr\< \_Dom, \_Tp \> &\_\_e, size\_t \_\_n, \_Array\< \_Tp \> \_\_a, \_Array\< size\_t \> \_\_i)\
 template\<typename \_Tp, class \_Dom\> void **\_\_valarray\_copy** (const \_Expr\< \_Dom, \_Tp \> &\_\_e, size\_t \_\_n, \_Array\< \_Tp \> \_\_a, size\_t \_\_s)\
 template\<typename \_Tp, class \_Dom\> void **\_\_valarray\_copy** (const \_Expr\< \_Dom, \_Tp \> &\_\_e, size\_t \_\_n, \_Array\< \_Tp \> \_\_a)\
 template\<typename \_Tp\> void **\_\_valarray\_copy** (\_Array\< \_Tp \> \_\_a, \_Array\< bool \> \_\_m, size\_t \_\_n, \_Array\< \_Tp \> \_\_b, \_Array\< bool \> \_\_k)\
 template\<typename \_Tp\> void **\_\_valarray\_copy** (\_Array\< \_Tp \> \_\_a, size\_t \_\_n, \_Array\< \_Tp \> \_\_b, \_Array\< bool \> \_\_m)\
 template\<typename \_Tp\> void **\_\_valarray\_copy** (\_Array\< \_Tp \> \_\_a, \_Array\< bool \> \_\_m, \_Array\< \_Tp \> \_\_b, size\_t \_\_n)\
 template\<typename \_Tp\> void **\_\_valarray\_copy** (\_Array\< \_Tp \> \_\_src, size\_t \_\_n, \_Array\< size\_t \> \_\_i, \_Array\< \_Tp \> \_\_dst, \_Array\< size\_t \> \_\_j)\
 template\<typename \_Tp\> void **\_\_valarray\_copy** (\_Array\< \_Tp \> \_\_a, size\_t \_\_n, \_Array\< \_Tp \> \_\_b, \_Array\< size\_t \> \_\_i)\
 template\<typename \_Tp\> void **\_\_valarray\_copy** (\_Array\< \_Tp \> \_\_a, \_Array\< size\_t \> \_\_i, \_Array\< \_Tp \> \_\_b, size\_t \_\_n)\
 template\<typename \_Tp\> void **\_\_valarray\_copy** (\_Array\< \_Tp \> \_\_a, size\_t \_\_n, size\_t \_\_s1, \_Array\< \_Tp \> \_\_b, size\_t \_\_s2)\
 template\<typename \_Tp\> void **\_\_valarray\_copy** (\_Array\< \_Tp \> \_\_a, \_Array\< \_Tp \> \_\_b, size\_t \_\_n, size\_t \_\_s)\
 template\<typename \_Tp\> void **\_\_valarray\_copy** (\_Array\< \_Tp \> \_\_a, size\_t \_\_n, size\_t \_\_s, \_Array\< \_Tp \> \_\_b)\
 template\<typename \_Tp\> void **\_\_valarray\_copy** (\_Array\< \_Tp \> \_\_a, size\_t \_\_n, \_Array\< \_Tp \> \_\_b)\
 template\<typename \_Tp\> void **\_\_valarray\_copy** (const \_Tp \*\_\_restrict\_\_ \_\_src, size\_t \_\_n, const size\_t \*\_\_restrict\_\_ \_\_i, \_Tp \*\_\_restrict\_\_ \_\_dst, const size\_t \*\_\_restrict\_\_ \_\_j)\
 template\<typename \_Tp\> void **\_\_valarray\_copy** (const \_Tp \*\_\_restrict\_\_ \_\_a, size\_t \_\_n, \_Tp \*\_\_restrict\_\_ \_\_b, const size\_t \*\_\_restrict\_\_ \_\_i)\
 template\<typename \_Tp\> void **\_\_valarray\_copy** (const \_Tp \*\_\_restrict\_\_ \_\_a, const size\_t \*\_\_restrict\_\_ \_\_i, \_Tp \*\_\_restrict\_\_ \_\_b, size\_t \_\_n)\
 template\<typename \_Tp\> void **\_\_valarray\_copy** (const \_Tp \*\_\_restrict\_\_ \_\_src, size\_t \_\_n, size\_t \_\_s1, \_Tp \*\_\_restrict\_\_ \_\_dst, size\_t \_\_s2)\
 template\<typename \_Tp\> void **\_\_valarray\_copy** (const \_Tp \*\_\_restrict\_\_ \_\_a, \_Tp \*\_\_restrict\_\_ \_\_b, size\_t \_\_n, size\_t \_\_s)\
 template\<typename \_Tp\> void **\_\_valarray\_copy** (const \_Tp \*\_\_restrict\_\_ \_\_a, size\_t \_\_n, size\_t \_\_s, \_Tp \*\_\_restrict\_\_ \_\_b)\
 template\<typename \_Tp\> void **\_\_valarray\_copy** (const \_Tp \*\_\_restrict\_\_ \_\_a, size\_t \_\_n, \_Tp \*\_\_restrict\_\_ \_\_b)\
 template\<typename \_Tp\> void **\_\_valarray\_copy\_construct** (\_Array\< \_Tp \> \_\_a, \_Array\< bool \> \_\_m, \_Array\< \_Tp \> \_\_b, size\_t \_\_n)\
 template\<typename \_Tp, class \_Dom\> void **\_\_valarray\_copy\_construct** (const \_Expr\< \_Dom, \_Tp \> &\_\_e, size\_t \_\_n, \_Array\< \_Tp \> \_\_a)\
 template\<typename \_Tp\> void **\_\_valarray\_copy\_construct** (const \_Tp \*\_\_restrict\_\_ \_\_a, const size\_t \*\_\_restrict\_\_ \_\_i, \_Tp \*\_\_restrict\_\_ \_\_o, size\_t \_\_n)\
 template\<typename \_Tp\> void **\_\_valarray\_copy\_construct** (const \_Tp \*\_\_restrict\_\_ \_\_a, size\_t \_\_n, size\_t \_\_s, \_Tp \*\_\_restrict\_\_ \_\_o)\
 template\<typename \_Tp\> void **\_\_valarray\_copy\_construct** (const \_Tp \*\_\_restrict\_\_ \_\_b, const \_Tp \*\_\_restrict\_\_ \_\_e, \_Tp \*\_\_restrict\_\_ \_\_o)\
 template\<typename \_Tp\> void **\_\_valarray\_default\_construct** (\_Tp \*\_\_restrict\_\_ \_\_b, \_Tp \*\_\_restrict\_\_ \_\_e)\
 template\<typename \_Tp\> void **\_\_valarray\_destroy\_elements** (\_Tp \*\_\_restrict\_\_ \_\_b, \_Tp \*\_\_restrict\_\_ \_\_e)\
 template\<typename \_Tp\> void **\_\_valarray\_fill** (\_Array\< \_Tp \> \_\_a, size\_t \_\_n, \_Array\< bool \> \_\_m, const \_Tp &\_\_t)\
 template\<typename \_Tp\> void **\_\_valarray\_fill** (\_Array\< \_Tp \> \_\_a, \_Array\< size\_t \> \_\_i, size\_t \_\_n, const \_Tp &\_\_t)\
 template\<typename \_Tp\> void **\_\_valarray\_fill** (\_Array\< \_Tp \> \_\_a, size\_t \_\_n, size\_t \_\_s, const \_Tp &\_\_t)\
 template\<typename \_Tp\> void **\_\_valarray\_fill** (\_Array\< \_Tp \> \_\_a, size\_t \_\_n, const \_Tp &\_\_t)\
 template\<typename \_Tp\> void **\_\_valarray\_fill** (\_Tp \*\_\_restrict\_\_ \_\_a, const size\_t \*\_\_restrict\_\_ \_\_i, size\_t \_\_n, const \_Tp &\_\_t)\
 template\<typename \_Tp\> void **\_\_valarray\_fill** (\_Tp \*\_\_restrict\_\_ \_\_a, size\_t \_\_n, size\_t \_\_s, const \_Tp &\_\_t)\
 template\<typename \_Tp\> void **\_\_valarray\_fill** (\_Tp \*\_\_restrict\_\_ \_\_a, size\_t \_\_n, const \_Tp &\_\_t)\
 template\<typename \_Tp\> void **\_\_valarray\_fill\_construct** (\_Tp \*\_\_restrict\_\_ \_\_b, \_Tp \*\_\_restrict\_\_ \_\_e, const \_Tp \_\_t)\
 void \* **\_\_valarray\_get\_memory** (size\_t \_\_n)\
 template\<typename \_Tp\> \_Tp \*\_\_restrict\_\_ **\_\_valarray\_get\_storage** (size\_t \_\_n)\
 template\<typename \_Ta\> \_Ta::value\_type **\_\_valarray\_max** (const \_Ta &\_\_a)\
 template\<typename \_Ta\> \_Ta::value\_type **\_\_valarray\_min** (const \_Ta &\_\_a)\
 template\<typename \_Tp\> \_Tp **\_\_valarray\_product** (const \_Tp \*\_\_restrict\_\_ \_\_f, const \_Tp \*\_\_restrict\_\_ \_\_l)\
 void **\_\_valarray\_release\_memory** (void \*\_\_p)\
 template\<typename \_Tp\> \_Tp **\_\_valarray\_sum** (const \_Tp \*\_\_restrict\_\_ \_\_f, const \_Tp \*\_\_restrict\_\_ \_\_l)\
 static bool **\_\_verify\_grouping** (const char \*\_\_grouping, size\_t \_\_grouping\_size, const **string** &\_\_grouping\_tmp)\
 template\<typename \_CharT, typename \_OutIter\> \_OutIter **\_\_write** (\_OutIter \_\_s, const \_CharT \*\_\_ws, int \_\_len)\
 template\<typename \_CharT\> **ostreambuf\_iterator**\< \_CharT \> **\_\_write** (**ostreambuf\_iterator**\< \_CharT \> \_\_s, const \_CharT \*\_\_ws, int \_\_len)\
 template\<typename \_T1\> void **\_Construct** (\_T1 \*\_\_p)\
 template\<typename \_T1, typename \_T2\> void **\_Construct** (\_T1 \*\_\_p, const \_T2 &\_\_value)\
 template\<typename \_ForwardIterator, typename \_Tp\> void **\_Destroy** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, **allocator**\< \_Tp \>)\
 template\<typename \_ForwardIterator, typename \_Allocator\> void **\_Destroy** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, \_Allocator \_\_alloc)\
 template\<typename \_ForwardIterator\> void **\_Destroy** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last)\
 template\<typename \_Tp\> void **\_Destroy** (\_Tp \*\_\_pointer)\
 unsigned int **\_Rb\_tree\_black\_count** (const \_Rb\_tree\_node\_base \*\_\_node, const \_Rb\_tree\_node\_base \*\_\_root)\
 const \_Rb\_tree\_node\_base \* **\_Rb\_tree\_decrement** (const \_Rb\_tree\_node\_base \*\_\_x)\
 \_Rb\_tree\_node\_base \* **\_Rb\_tree\_decrement** (\_Rb\_tree\_node\_base \*\_\_x)\
 const \_Rb\_tree\_node\_base \* **\_Rb\_tree\_increment** (const \_Rb\_tree\_node\_base \*\_\_x)\
 \_Rb\_tree\_node\_base \* **\_Rb\_tree\_increment** (\_Rb\_tree\_node\_base \*\_\_x)\
 void **\_Rb\_tree\_insert\_and\_rebalance** (const bool \_\_insert\_left, \_Rb\_tree\_node\_base \*\_\_x, \_Rb\_tree\_node\_base \*\_\_p, \_Rb\_tree\_node\_base &\_\_header)\
 \_Rb\_tree\_node\_base \* **\_Rb\_tree\_rebalance\_for\_erase** (\_Rb\_tree\_node\_base \*const \_\_z, \_Rb\_tree\_node\_base &\_\_header)\
 void **\_Rb\_tree\_rotate\_left** (\_Rb\_tree\_node\_base \*const \_\_x, \_Rb\_tree\_node\_base \*&\_\_root)\
 void **\_Rb\_tree\_rotate\_right** (\_Rb\_tree\_node\_base \*const \_\_x, \_Rb\_tree\_node\_base \*&\_\_root)\
 template\<typename \_InputIterator, typename \_Tp, typename \_BinaryOperation\> \_Tp **accumulate** (\_InputIterator \_\_first, \_InputIterator \_\_last, \_Tp \_\_init, \_BinaryOperation \_\_binary\_op)\
 template\<typename \_InputIterator, typename \_Tp\> \_Tp **accumulate** (\_InputIterator \_\_first, \_InputIterator \_\_last, \_Tp \_\_init)\
 template\<typename \_InputIterator, typename \_OutputIterator, typename \_BinaryOperation\> \_OutputIterator **adjacent\_difference** (\_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 \_ForwardIterator, typename \_BinaryPredicate\> \_ForwardIterator **adjacent\_find** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, \_BinaryPredicate \_\_binary\_pred)\
 template\<typename \_ForwardIterator\> \_ForwardIterator **adjacent\_find** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last)\
 template\<typename \_InputIterator, typename \_Distance\> void **advance** (\_InputIterator &\_\_i, \_Distance \_\_n)\
 template\<typename \_Container\> **back\_insert\_iterator**\< \_Container \> **back\_inserter** (\_Container &\_\_x)\
 template\<typename \_ForwardIterator, typename \_Tp, typename \_Compare\> bool **binary\_search** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, const \_Tp &\_\_val, \_Compare \_\_comp)\
 template\<typename \_ForwardIterator, typename \_Tp\> bool **binary\_search** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, const \_Tp &\_\_val)\
 template\<class \_Operation, class \_Tp\> **binder1st**\< \_Operation \> **bind1st** (const \_Operation &\_\_fn, const \_Tp &\_\_x)\
 template\<class \_Operation, class \_Tp\> **binder2nd**\< \_Operation \> **bind2nd** (const \_Operation &\_\_fn, const \_Tp &\_\_x)\
 **ios\_base** & **boolalpha** (**ios\_base** &\_\_base)\
 template\<typename \_InputIterator, typename \_OutputIterator\> \_OutputIterator **copy** (\_InputIterator \_\_first, \_InputIterator \_\_last, \_OutputIterator \_\_result)\
 template\<typename \_BI1, typename \_BI2\> \_BI2 **copy\_backward** (\_BI1 \_\_first, \_BI1 \_\_last, \_BI2 \_\_result)\
 template\<typename \_InputIterator, typename \_Tp\> **iterator\_traits**\< \_InputIterator \>::difference\_type **count** (\_InputIterator \_\_first, \_InputIterator \_\_last, const \_Tp &\_\_value)\
 template\<typename \_InputIterator, typename \_Predicate\> **iterator\_traits**\< \_InputIterator \>::difference\_type **count\_if** (\_InputIterator \_\_first, \_InputIterator \_\_last, \_Predicate \_\_pred)\
 **ios\_base** & **dec** (**ios\_base** &\_\_base)\
 template\<typename \_InputIterator\> **iterator\_traits**\< \_InputIterator \>::difference\_type **distance** (\_InputIterator \_\_first, \_InputIterator \_\_last)\
 template\<typename \_CharT, typename \_Traits\> **basic\_ostream**\< \_CharT, \_Traits \> & **endl** (**basic\_ostream**\< \_CharT, \_Traits \> &\_\_os)\
 template\<typename \_CharT, typename \_Traits\> **basic\_ostream**\< \_CharT, \_Traits \> & **ends** (**basic\_ostream**\< \_CharT, \_Traits \> &\_\_os)\
 template\<typename \_InputIterator1, typename \_InputIterator2, typename \_BinaryPredicate\> bool **equal** (\_InputIterator1 \_\_first1, \_InputIterator1 \_\_last1, \_InputIterator2 \_\_first2, \_BinaryPredicate \_\_binary\_pred)\
 template\<typename \_InputIterator1, typename \_InputIterator2\> bool **equal** (\_InputIterator1 \_\_first1, \_InputIterator1 \_\_last1, \_InputIterator2 \_\_first2)\
 template\<typename \_ForwardIterator, typename \_Tp, typename \_Compare\> **pair**\< \_ForwardIterator, \_ForwardIterator \> **equal\_range** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, const \_Tp &\_\_val, \_Compare \_\_comp)\
 template\<typename \_ForwardIterator, typename \_Tp\> **pair**\< \_ForwardIterator, \_ForwardIterator \> **equal\_range** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, const \_Tp &\_\_val)\
 void **fill** (char \*\_\_first, char \*\_\_last, const char &\_\_c)\
 void **fill** (signed char \*\_\_first, signed char \*\_\_last, const signed char &\_\_c)\
 void **fill** (unsigned char \*\_\_first, unsigned char \*\_\_last, const unsigned char &\_\_c)\
 template\<typename \_ForwardIterator, typename \_Tp\> void **fill** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, const \_Tp &\_\_value)\
 template\<typename \_Size\> char \* **fill\_n** (char \*\_\_first, \_Size \_\_n, const char &\_\_c)\
 template\<typename \_Size\> signed char \* **fill\_n** (char \*\_\_first, \_Size \_\_n, const signed char &\_\_c)\
 template\<typename \_Size\> unsigned char \* **fill\_n** (unsigned char \*\_\_first, \_Size \_\_n, const unsigned char &\_\_c)\
 template\<typename \_OutputIterator, typename \_Size, typename \_Tp\> \_OutputIterator **fill\_n** (\_OutputIterator \_\_first, \_Size \_\_n, const \_Tp &\_\_value)\
 template\<typename \_InputIterator, typename \_Tp\> \_InputIterator **find** (\_InputIterator \_\_first, \_InputIterator \_\_last, const \_Tp &\_\_val)\
 template\<typename \_ForwardIterator1, typename \_ForwardIterator2, typename \_BinaryPredicate\> \_ForwardIterator1 **find\_end** (\_ForwardIterator1 \_\_first1, \_ForwardIterator1 \_\_last1, \_ForwardIterator2 \_\_first2, \_ForwardIterator2 \_\_last2, \_BinaryPredicate \_\_comp)\
 template\<typename \_ForwardIterator1, typename \_ForwardIterator2\> \_ForwardIterator1 **find\_end** (\_ForwardIterator1 \_\_first1, \_ForwardIterator1 \_\_last1, \_ForwardIterator2 \_\_first2, \_ForwardIterator2 \_\_last2)\
 template\<typename \_InputIterator, typename \_ForwardIterator, typename \_BinaryPredicate\> \_InputIterator **find\_first\_of** (\_InputIterator \_\_first1, \_InputIterator \_\_last1, \_ForwardIterator \_\_first2, \_ForwardIterator \_\_last2, \_BinaryPredicate \_\_comp)\
 template\<typename \_InputIterator, typename \_ForwardIterator\> \_InputIterator **find\_first\_of** (\_InputIterator \_\_first1, \_InputIterator \_\_last1, \_ForwardIterator \_\_first2, \_ForwardIterator \_\_last2)\
 template\<typename \_InputIterator, typename \_Predicate\> \_InputIterator **find\_if** (\_InputIterator \_\_first, \_InputIterator \_\_last, \_Predicate \_\_pred)\
 **ios\_base** & **fixed** (**ios\_base** &\_\_base)\
 template\<typename \_CharT, typename \_Traits\> **basic\_ostream**\< \_CharT, \_Traits \> & **flush** (**basic\_ostream**\< \_CharT, \_Traits \> &\_\_os)\
 template\<typename \_InputIterator, typename \_Function\> \_Function **for\_each** (\_InputIterator \_\_first, \_InputIterator \_\_last, \_Function \_\_f)\
 template\<typename \_Container\> **front\_insert\_iterator**\< \_Container \> **front\_inserter** (\_Container &\_\_x)\
 template\<typename \_ForwardIterator, typename \_Generator\> void **generate** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, \_Generator \_\_gen)\
 template\<typename \_OutputIterator, typename \_Size, typename \_Generator\> \_OutputIterator **generate\_n** (\_OutputIterator \_\_first, \_Size \_\_n, \_Generator \_\_gen)\
 template\<typename \_Tp\> **pair**\< \_Tp \*, ptrdiff\_t \> **get\_temporary\_buffer** (ptrdiff\_t \_\_len)\
 template\<typename \_CharT, typename \_Traits, typename \_Alloc, template\< typename, typename, typename \> class \_Base\> **basic\_istream**\< \_CharT, \_Traits \> & **getline** (**basic\_istream**\< \_CharT, \_Traits \> &\_\_is, **\_\_gnu\_cxx::\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_str)\
 template\<typename \_CharT, typename \_Traits, typename \_Alloc, template\< typename, typename, typename \> class \_Base\> **basic\_istream**\< \_CharT, \_Traits \> & **getline** (**basic\_istream**\< \_CharT, \_Traits \> &\_\_is, **\_\_gnu\_cxx::\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_str, \_CharT \_\_delim)\
 template\<\> **basic\_istream**\< wchar\_t \> & **getline** (**basic\_istream**\< wchar\_t \> &\_\_in, **basic\_string**\< wchar\_t \> &\_\_str, wchar\_t \_\_delim)\
 template\<\> **basic\_istream**\< char \> & **getline** (**basic\_istream**\< char \> &\_\_in, **basic\_string**\< char \> &\_\_str, char \_\_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\<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 \_Facet\> bool **has\_facet** (const **locale** &\_\_loc)  throw ()\
 **ios\_base** & **hex** (**ios\_base** &\_\_base)\
 template\<typename \_InputIterator1, typename \_InputIterator2, typename \_Compare\> bool **includes** (\_InputIterator1 \_\_first1, \_InputIterator1 \_\_last1, \_InputIterator2 \_\_first2, \_InputIterator2 \_\_last2, \_Compare \_\_comp)\
 template\<typename \_InputIterator1, typename \_InputIterator2\> bool **includes** (\_InputIterator1 \_\_first1, \_InputIterator1 \_\_last1, \_InputIterator2 \_\_first2, \_InputIterator2 \_\_last2)\
 template\<typename \_InputIterator1, typename \_InputIterator2, typename \_Tp, typename \_BinaryOperation1, typename \_BinaryOperation2\> \_Tp **inner\_product** (\_InputIterator1 \_\_first1, \_InputIterator1 \_\_last1, \_InputIterator2 \_\_first2, \_Tp \_\_init, \_BinaryOperation1 \_\_binary\_op1, \_BinaryOperation2 \_\_binary\_op2)\
 template\<typename \_InputIterator1, typename \_InputIterator2, typename \_Tp\> \_Tp **inner\_product** (\_InputIterator1 \_\_first1, \_InputIterator1 \_\_last1, \_InputIterator2 \_\_first2, \_Tp \_\_init)\
 template\<typename \_BidirectionalIterator, typename \_Compare\> void **inplace\_merge** (\_BidirectionalIterator \_\_first, \_BidirectionalIterator \_\_middle, \_BidirectionalIterator \_\_last, \_Compare \_\_comp)\
 template\<typename \_BidirectionalIterator\> void **inplace\_merge** (\_BidirectionalIterator \_\_first, \_BidirectionalIterator \_\_middle, \_BidirectionalIterator \_\_last)\
 template\<typename \_Container, typename \_Iterator\> **insert\_iterator**\< \_Container \> **inserter** (\_Container &\_\_x, \_Iterator \_\_i)\
 **ios\_base** & **internal** (**ios\_base** &\_\_base)\
 template\<typename \_CharT\> bool **isalnum** (\_CharT \_\_c, const **locale** &\_\_loc)\
 template\<typename \_CharT\> bool **isalpha** (\_CharT \_\_c, const **locale** &\_\_loc)\
 template\<typename \_CharT\> bool **iscntrl** (\_CharT \_\_c, const **locale** &\_\_loc)\
 template\<typename \_CharT\> bool **isdigit** (\_CharT \_\_c, const **locale** &\_\_loc)\
 template\<typename \_CharT\> bool **isgraph** (\_CharT \_\_c, const **locale** &\_\_loc)\
 template\<typename \_CharT\> bool **islower** (\_CharT \_\_c, const **locale** &\_\_loc)\
 template\<typename \_CharT\> bool **isprint** (\_CharT \_\_c, const **locale** &\_\_loc)\
 template\<typename \_CharT\> bool **ispunct** (\_CharT \_\_c, const **locale** &\_\_loc)\
 template\<typename \_CharT\> bool **isspace** (\_CharT \_\_c, const **locale** &\_\_loc)\
 template\<typename \_CharT\> bool **isupper** (\_CharT \_\_c, const **locale** &\_\_loc)\
 template\<typename \_CharT\> bool **isxdigit** (\_CharT \_\_c, const **locale** &\_\_loc)\
 template\<typename \_ForwardIterator1, typename \_ForwardIterator2\> void **iter\_swap** (\_ForwardIterator1 \_\_a, \_ForwardIterator2 \_\_b)\
 **ios\_base** & **left** (**ios\_base** &\_\_base)\
 bool **lexicographical\_compare** (const char \*\_\_first1, const char \*\_\_last1, const char \*\_\_first2, const char \*\_\_last2)\
 bool **lexicographical\_compare** (const unsigned char \*\_\_first1, const unsigned char \*\_\_last1, const unsigned char \*\_\_first2, const unsigned char \*\_\_last2)\
 template\<typename \_InputIterator1, typename \_InputIterator2, typename \_Compare\> bool **lexicographical\_compare** (\_InputIterator1 \_\_first1, \_InputIterator1 \_\_last1, \_InputIterator2 \_\_first2, \_InputIterator2 \_\_last2, \_Compare \_\_comp)\
 template\<typename \_InputIterator1, typename \_InputIterator2\> bool **lexicographical\_compare** (\_InputIterator1 \_\_first1, \_InputIterator1 \_\_last1, \_InputIterator2 \_\_first2, \_InputIterator2 \_\_last2)\
 template\<typename \_ForwardIterator, typename \_Tp, typename \_Compare\> \_ForwardIterator **lower\_bound** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, const \_Tp &\_\_val, \_Compare \_\_comp)\
 template\<typename \_ForwardIterator, typename \_Tp\> \_ForwardIterator **lower\_bound** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, const \_Tp &\_\_val)\
 template\<typename \_RandomAccessIterator, typename \_Compare\> void **make\_heap** (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last, \_Compare \_\_comp)\
 template\<typename \_RandomAccessIterator\> void **make\_heap** (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last)\
 template\<class \_T1, class \_T2\> **pair**\< \_T1, \_T2 \> **make\_pair** (\_T1 \_\_x, \_T2 \_\_y)\
 template\<typename \_Tp, typename \_Compare\> const \_Tp & **max** (const \_Tp &\_\_a, const \_Tp &\_\_b, \_Compare \_\_comp)\
 template\<typename \_Tp\> const \_Tp & **max** (const \_Tp &\_\_a, const \_Tp &\_\_b)\
 template\<typename \_ForwardIterator, typename \_Compare\> \_ForwardIterator **max\_element** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, \_Compare \_\_comp)\
 template\<typename \_ForwardIterator\> \_ForwardIterator **max\_element** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last)\
 template\<class \_Ret, class \_Tp, class \_Arg\> **mem\_fun1\_t**\< \_Ret, \_Tp, \_Arg \> **mem\_fun** (\_Ret(\_Tp::\*\_\_f)(\_Arg))\
 template\<class \_Ret, class \_Tp\> **mem\_fun\_t**\< \_Ret, \_Tp \> **mem\_fun** (\_Ret(\_Tp::\*\_\_f)())\
 template\<class \_Ret, class \_Tp, class \_Arg\> **mem\_fun1\_ref\_t**\< \_Ret, \_Tp, \_Arg \> **mem\_fun\_ref** (\_Ret(\_Tp::\*\_\_f)(\_Arg))\
 template\<class \_Ret, class \_Tp\> **mem\_fun\_ref\_t**\< \_Ret, \_Tp \> **mem\_fun\_ref** (\_Ret(\_Tp::\*\_\_f)())\
 template\<typename \_InputIterator1, typename \_InputIterator2, typename \_OutputIterator, typename \_Compare\> \_OutputIterator **merge** (\_InputIterator1 \_\_first1, \_InputIterator1 \_\_last1, \_InputIterator2 \_\_first2, \_InputIterator2 \_\_last2, \_OutputIterator \_\_result, \_Compare \_\_comp)\
 template\<typename \_InputIterator1, typename \_InputIterator2, typename \_OutputIterator\> \_OutputIterator **merge** (\_InputIterator1 \_\_first1, \_InputIterator1 \_\_last1, \_InputIterator2 \_\_first2, \_InputIterator2 \_\_last2, \_OutputIterator \_\_result)\
 template\<typename \_Tp, typename \_Compare\> const \_Tp & **min** (const \_Tp &\_\_a, const \_Tp &\_\_b, \_Compare \_\_comp)\
 template\<typename \_Tp\> const \_Tp & **min** (const \_Tp &\_\_a, const \_Tp &\_\_b)\
 template\<typename \_ForwardIterator, typename \_Compare\> \_ForwardIterator **min\_element** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, \_Compare \_\_comp)\
 template\<typename \_ForwardIterator\> \_ForwardIterator **min\_element** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last)\
 template\<typename \_InputIterator1, typename \_InputIterator2, typename \_BinaryPredicate\> **pair**\< \_InputIterator1, \_InputIterator2 \> **mismatch** (\_InputIterator1 \_\_first1, \_InputIterator1 \_\_last1, \_InputIterator2 \_\_first2, \_BinaryPredicate \_\_binary\_pred)\
 template\<typename \_InputIterator1, typename \_InputIterator2\> **pair**\< \_InputIterator1, \_InputIterator2 \> **mismatch** (\_InputIterator1 \_\_first1, \_InputIterator1 \_\_last1, \_InputIterator2 \_\_first2)\
 template\<typename \_BidirectionalIterator, typename \_Compare\> bool **next\_permutation** (\_BidirectionalIterator \_\_first, \_BidirectionalIterator \_\_last, \_Compare \_\_comp)\
 template\<typename \_BidirectionalIterator\> bool **next\_permutation** (\_BidirectionalIterator \_\_first, \_BidirectionalIterator \_\_last)\
 **ios\_base** & **noboolalpha** (**ios\_base** &\_\_base)\
 **ios\_base** & **noshowbase** (**ios\_base** &\_\_base)\
 **ios\_base** & **noshowpoint** (**ios\_base** &\_\_base)\
 **ios\_base** & **noshowpos** (**ios\_base** &\_\_base)\
 **ios\_base** & **noskipws** (**ios\_base** &\_\_base)\
 template\<class \_Predicate\> **unary\_negate**\< \_Predicate \> **not1** (const \_Predicate &\_\_pred)\
 template\<class \_Predicate\> **binary\_negate**\< \_Predicate \> **not2** (const \_Predicate &\_\_pred)\
 **ios\_base** & **nounitbuf** (**ios\_base** &\_\_base)\
 **ios\_base** & **nouppercase** (**ios\_base** &\_\_base)\
 template\<typename \_RandomAccessIterator, typename \_Compare\> void **nth\_element** (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_nth, \_RandomAccessIterator \_\_last, \_Compare \_\_comp)\
 template\<typename \_RandomAccessIterator\> void **nth\_element** (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_nth, \_RandomAccessIterator \_\_last)\
 **ios\_base** & **oct** (**ios\_base** &\_\_base)\
 \_Ios\_Iostate **operator &** (\_Ios\_Iostate \_\_a, \_Ios\_Iostate \_\_b)\
 \_Ios\_Openmode **operator &** (\_Ios\_Openmode \_\_a, \_Ios\_Openmode \_\_b)\
 \_Ios\_Fmtflags **operator &** (\_Ios\_Fmtflags \_\_a, \_Ios\_Fmtflags \_\_b)\
 \_Ios\_Iostate & **operator &=** (\_Ios\_Iostate &\_\_a, \_Ios\_Iostate \_\_b)\
 \_Ios\_Openmode & **operator &=** (\_Ios\_Openmode &\_\_a, \_Ios\_Openmode \_\_b)\
 \_Ios\_Fmtflags & **operator &=** (\_Ios\_Fmtflags &\_\_a, \_Ios\_Fmtflags \_\_b)\
 template\<typename \_CharT, typename \_Traits\> bool **operator!=** (const **istreambuf\_iterator**\< \_CharT, \_Traits \> &\_\_a, const **istreambuf\_iterator**\< \_CharT, \_Traits \> &\_\_b)\
 template\<class \_Tp, class \_CharT, class \_Traits, class \_Dist\> bool **operator!=** (const **istream\_iterator**\< \_Tp, \_CharT, \_Traits, \_Dist \> &\_\_x, const **istream\_iterator**\< \_Tp, \_CharT, \_Traits, \_Dist \> &\_\_y)\
 template\<typename \_Tp, typename \_Alloc\> bool **operator!=** (const **vector**\< \_Tp, \_Alloc \> &\_\_x, const **vector**\< \_Tp, \_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 \_Val\> bool **operator!=** (const \_Rb\_tree\_iterator\< \_Val \> &\_\_x, const \_Rb\_tree\_const\_iterator\< \_Val \> &\_\_y)\
 template\<typename \_Tp, typename \_Seq\> bool **operator!=** (const **stack**\< \_Tp, \_Seq \> &\_\_x, const **stack**\< \_Tp, \_Seq \> &\_\_y)\
 template\<class \_Key, class \_Compare, class \_Alloc\> bool **operator!=** (const **set**\< \_Key, \_Compare, \_Alloc \> &\_\_x, const **set**\< \_Key, \_Compare, \_Alloc \> &\_\_y)\
 template\<typename \_Tp, typename \_Sequence\> bool **operator!=** (const **queue**\< \_Tp, \_Sequence \> &\_\_x, const **queue**\< \_Tp, \_Sequence \> &\_\_y)\
 template\<class \_T1, class \_T2\> bool **operator!=** (const **pair**\< \_T1, \_T2 \> &\_\_x, const **pair**\< \_T1, \_T2 \> &\_\_y)\
 template\<class \_Key, class \_Compare, class \_Alloc\> bool **operator!=** (const **multiset**\< \_Key, \_Compare, \_Alloc \> &\_\_x, const **multiset**\< \_Key, \_Compare, \_Alloc \> &\_\_y)\
 template\<typename \_Key, typename \_Tp, typename \_Compare, typename \_Alloc\> bool **operator!=** (const **multimap**\< \_Key, \_Tp, \_Compare, \_Alloc \> &\_\_x, const **multimap**\< \_Key, \_Tp, \_Compare, \_Alloc \> &\_\_y)\
 template\<typename \_Key, typename \_Tp, typename \_Compare, typename \_Alloc\> bool **operator!=** (const **map**\< \_Key, \_Tp, \_Compare, \_Alloc \> &\_\_x, const **map**\< \_Key, \_Tp, \_Compare, \_Alloc \> &\_\_y)\
 template\<typename \_Tp, typename \_Alloc\> bool **operator!=** (const **list**\< \_Tp, \_Alloc \> &\_\_x, const **list**\< \_Tp, \_Alloc \> &\_\_y)\
 template\<typename \_Val\> bool **operator!=** (const **\_List\_iterator**\< \_Val \> &\_\_x, const **\_List\_const\_iterator**\< \_Val \> &\_\_y)\
 template\<typename \_Tp, typename \_Alloc\> bool **operator!=** (const **deque**\< \_Tp, \_Alloc \> &\_\_x, const **deque**\< \_Tp, \_Alloc \> &\_\_y)\
 template\<typename \_Tp, typename \_RefL, typename \_PtrL, typename \_RefR, typename \_PtrR\> bool **operator!=** (const **\_Deque\_iterator**\< \_Tp, \_RefL, \_PtrL \> &\_\_x, const **\_Deque\_iterator**\< \_Tp, \_RefR, \_PtrR \> &\_\_y)\
 template\<typename \_Tp, typename \_Ref, typename \_Ptr\> bool **operator!=** (const **\_Deque\_iterator**\< \_Tp, \_Ref, \_Ptr \> &\_\_x, const **\_Deque\_iterator**\< \_Tp, \_Ref, \_Ptr \> &\_\_y)\
 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 \_T1, typename \_T2\> bool **operator!=** (const **allocator**\< \_T1 \> &, const **allocator**\< \_T2 \> &)\
 template\<typename \_Tp, typename \_Ref, typename \_Ptr\> **\_Deque\_iterator**\< \_Tp, \_Ref, \_Ptr \> **operator+** (ptrdiff\_t \_\_n, const **\_Deque\_iterator**\< \_Tp, \_Ref, \_Ptr \> &\_\_x)\
 \_Bit\_const\_iterator **operator+** (ptrdiff\_t \_\_n, const \_Bit\_const\_iterator &\_\_x)\
 \_Bit\_iterator **operator+** (ptrdiff\_t \_\_n, const \_Bit\_iterator &\_\_x)\
 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\> **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+** (\_CharT \_\_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+** (const **basic\_string**\< \_CharT, \_Traits, \_Alloc \> &\_\_lhs, const **basic\_string**\< \_CharT, \_Traits, \_Alloc \> &\_\_rhs)\
 template\<typename \_Tp, typename \_RefL, typename \_PtrL, typename \_RefR, typename \_PtrR\> **\_Deque\_iterator**\< \_Tp, \_RefL, \_PtrL \>::difference\_type **operator-** (const **\_Deque\_iterator**\< \_Tp, \_RefL, \_PtrL \> &\_\_x, const **\_Deque\_iterator**\< \_Tp, \_RefR, \_PtrR \> &\_\_y)\
 ptrdiff\_t **operator-** (const \_Bit\_iterator\_base &\_\_x, const \_Bit\_iterator\_base &\_\_y)\
 template\<typename \_Tp, typename \_Alloc\> bool **operator\<** (const **vector**\< \_Tp, \_Alloc \> &\_\_x, const **vector**\< \_Tp, \_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 \_Tp, typename \_Seq\> bool **operator\<** (const **stack**\< \_Tp, \_Seq \> &\_\_x, const **stack**\< \_Tp, \_Seq \> &\_\_y)\
 template\<class \_Key, class \_Compare, class \_Alloc\> bool **operator\<** (const **set**\< \_Key, \_Compare, \_Alloc \> &\_\_x, const **set**\< \_Key, \_Compare, \_Alloc \> &\_\_y)\
 template\<typename \_Tp, typename \_Sequence\> bool **operator\<** (const **queue**\< \_Tp, \_Sequence \> &\_\_x, const **queue**\< \_Tp, \_Sequence \> &\_\_y)\
 template\<typename \_Tp, typename \_Seq\> bool **operator\<** (const **queue**\< \_Tp, \_Seq \> &, const **queue**\< \_Tp, \_Seq \> &)\
 template\<class \_T1, class \_T2\> bool **operator\<** (const **pair**\< \_T1, \_T2 \> &\_\_x, const **pair**\< \_T1, \_T2 \> &\_\_y)\
 template\<class \_Key, class \_Compare, class \_Alloc\> bool **operator\<** (const **multiset**\< \_Key, \_Compare, \_Alloc \> &\_\_x, const **multiset**\< \_Key, \_Compare, \_Alloc \> &\_\_y)\
 template\<typename \_Key, typename \_Tp, typename \_Compare, typename \_Alloc\> bool **operator\<** (const **multimap**\< \_Key, \_Tp, \_Compare, \_Alloc \> &\_\_x, const **multimap**\< \_Key, \_Tp, \_Compare, \_Alloc \> &\_\_y)\
 template\<typename \_Key, typename \_Tp, typename \_Compare, typename \_Alloc\> bool **operator\<** (const **map**\< \_Key, \_Tp, \_Compare, \_Alloc \> &\_\_x, const **map**\< \_Key, \_Tp, \_Compare, \_Alloc \> &\_\_y)\
 template\<typename \_Tp, typename \_Alloc\> bool **operator\<** (const **list**\< \_Tp, \_Alloc \> &\_\_x, const **list**\< \_Tp, \_Alloc \> &\_\_y)\
 template\<typename \_Tp, typename \_Alloc\> bool **operator\<** (const **deque**\< \_Tp, \_Alloc \> &\_\_x, const **deque**\< \_Tp, \_Alloc \> &\_\_y)\
 template\<typename \_Tp, typename \_RefL, typename \_PtrL, typename \_RefR, typename \_PtrR\> bool **operator\<** (const **\_Deque\_iterator**\< \_Tp, \_RefL, \_PtrL \> &\_\_x, const **\_Deque\_iterator**\< \_Tp, \_RefR, \_PtrR \> &\_\_y)\
 template\<typename \_Tp, typename \_Ref, typename \_Ptr\> bool **operator\<** (const **\_Deque\_iterator**\< \_Tp, \_Ref, \_Ptr \> &\_\_x, const **\_Deque\_iterator**\< \_Tp, \_Ref, \_Ptr \> &\_\_y)\
 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\> **basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**basic\_ostream**\< \_CharT, \_Traits \> &\_\_os, \_Setw \_\_f)\
 template\<typename \_CharT, typename \_Traits\> **basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**basic\_ostream**\< \_CharT, \_Traits \> &\_\_os, \_Setprecision \_\_f)\
 template\<typename \_CharT, typename \_Traits\> **basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**basic\_ostream**\< \_CharT, \_Traits \> &\_\_os, \_Setfill\< \_CharT \> \_\_f)\
 template\<typename \_CharT, typename \_Traits\> **basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**basic\_ostream**\< \_CharT, \_Traits \> &\_\_os, \_Setbase \_\_f)\
 template\<typename \_CharT, typename \_Traits\> **basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**basic\_ostream**\< \_CharT, \_Traits \> &\_\_os, \_Setiosflags \_\_f)\
 template\<typename \_CharT, typename \_Traits\> **basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**basic\_ostream**\< \_CharT, \_Traits \> &\_\_os, \_Resetiosflags \_\_f)\
 template\<typename \_CharT, typename \_Traits, typename \_Alloc, template\< typename, typename, typename \> class \_Base\> **basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**basic\_ostream**\< \_CharT, \_Traits \> &\_\_os, const **\_\_gnu\_cxx::\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_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 \_Tp, typename \_Alloc\> bool **operator\<=** (const **vector**\< \_Tp, \_Alloc \> &\_\_x, const **vector**\< \_Tp, \_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 \_Tp, typename \_Seq\> bool **operator\<=** (const **stack**\< \_Tp, \_Seq \> &\_\_x, const **stack**\< \_Tp, \_Seq \> &\_\_y)\
 template\<class \_Key, class \_Compare, class \_Alloc\> bool **operator\<=** (const **set**\< \_Key, \_Compare, \_Alloc \> &\_\_x, const **set**\< \_Key, \_Compare, \_Alloc \> &\_\_y)\
 template\<typename \_Tp, typename \_Sequence\> bool **operator\<=** (const **queue**\< \_Tp, \_Sequence \> &\_\_x, const **queue**\< \_Tp, \_Sequence \> &\_\_y)\
 template\<class \_T1, class \_T2\> bool **operator\<=** (const **pair**\< \_T1, \_T2 \> &\_\_x, const **pair**\< \_T1, \_T2 \> &\_\_y)\
 template\<class \_Key, class \_Compare, class \_Alloc\> bool **operator\<=** (const **multiset**\< \_Key, \_Compare, \_Alloc \> &\_\_x, const **multiset**\< \_Key, \_Compare, \_Alloc \> &\_\_y)\
 template\<typename \_Key, typename \_Tp, typename \_Compare, typename \_Alloc\> bool **operator\<=** (const **multimap**\< \_Key, \_Tp, \_Compare, \_Alloc \> &\_\_x, const **multimap**\< \_Key, \_Tp, \_Compare, \_Alloc \> &\_\_y)\
 template\<typename \_Key, typename \_Tp, typename \_Compare, typename \_Alloc\> bool **operator\<=** (const **map**\< \_Key, \_Tp, \_Compare, \_Alloc \> &\_\_x, const **map**\< \_Key, \_Tp, \_Compare, \_Alloc \> &\_\_y)\
 template\<typename \_Tp, typename \_Alloc\> bool **operator\<=** (const **list**\< \_Tp, \_Alloc \> &\_\_x, const **list**\< \_Tp, \_Alloc \> &\_\_y)\
 template\<typename \_Tp, typename \_Alloc\> bool **operator\<=** (const **deque**\< \_Tp, \_Alloc \> &\_\_x, const **deque**\< \_Tp, \_Alloc \> &\_\_y)\
 template\<typename \_Tp, typename \_RefL, typename \_PtrL, typename \_RefR, typename \_PtrR\> bool **operator\<=** (const **\_Deque\_iterator**\< \_Tp, \_RefL, \_PtrL \> &\_\_x, const **\_Deque\_iterator**\< \_Tp, \_RefR, \_PtrR \> &\_\_y)\
 template\<typename \_Tp, typename \_Ref, typename \_Ptr\> bool **operator\<=** (const **\_Deque\_iterator**\< \_Tp, \_Ref, \_Ptr \> &\_\_x, const **\_Deque\_iterator**\< \_Tp, \_Ref, \_Ptr \> &\_\_y)\
 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\> bool **operator==** (const **istreambuf\_iterator**\< \_CharT, \_Traits \> &\_\_a, const **istreambuf\_iterator**\< \_CharT, \_Traits \> &\_\_b)\
 template\<typename \_Tp, typename \_CharT, typename \_Traits, typename \_Dist\> bool **operator==** (const **istream\_iterator**\< \_Tp, \_CharT, \_Traits, \_Dist \> &\_\_x, const **istream\_iterator**\< \_Tp, \_CharT, \_Traits, \_Dist \> &\_\_y)\
 template\<typename \_Tp, typename \_Alloc\> bool **operator==** (const **vector**\< \_Tp, \_Alloc \> &\_\_x, const **vector**\< \_Tp, \_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 \_Val\> bool **operator==** (const \_Rb\_tree\_iterator\< \_Val \> &\_\_x, const \_Rb\_tree\_const\_iterator\< \_Val \> &\_\_y)\
 template\<typename \_Tp, typename \_Seq\> bool **operator==** (const **stack**\< \_Tp, \_Seq \> &\_\_x, const **stack**\< \_Tp, \_Seq \> &\_\_y)\
 template\<class \_Key, class \_Compare, class \_Alloc\> bool **operator==** (const **set**\< \_Key, \_Compare, \_Alloc \> &\_\_x, const **set**\< \_Key, \_Compare, \_Alloc \> &\_\_y)\
 template\<typename \_Tp, typename \_Sequence\> bool **operator==** (const **queue**\< \_Tp, \_Sequence \> &\_\_x, const **queue**\< \_Tp, \_Sequence \> &\_\_y)\
 template\<typename \_Tp, typename \_Seq\> bool **operator==** (const **queue**\< \_Tp, \_Seq \> &, const **queue**\< \_Tp, \_Seq \> &)\
 template\<class \_T1, class \_T2\> bool **operator==** (const **pair**\< \_T1, \_T2 \> &\_\_x, const **pair**\< \_T1, \_T2 \> &\_\_y)\
 template\<class \_Key, class \_Compare, class \_Alloc\> bool **operator==** (const **multiset**\< \_Key, \_Compare, \_Alloc \> &\_\_x, const **multiset**\< \_Key, \_Compare, \_Alloc \> &\_\_y)\
 template\<typename \_Key, typename \_Tp, typename \_Compare, typename \_Alloc\> bool **operator==** (const **multimap**\< \_Key, \_Tp, \_Compare, \_Alloc \> &\_\_x, const **multimap**\< \_Key, \_Tp, \_Compare, \_Alloc \> &\_\_y)\
 template\<typename \_Key, typename \_Tp, typename \_Compare, typename \_Alloc\> bool **operator==** (const **map**\< \_Key, \_Tp, \_Compare, \_Alloc \> &\_\_x, const **map**\< \_Key, \_Tp, \_Compare, \_Alloc \> &\_\_y)\
 template\<typename \_Tp, typename \_Alloc\> bool **operator==** (const **list**\< \_Tp, \_Alloc \> &\_\_x, const **list**\< \_Tp, \_Alloc \> &\_\_y)\
 template\<typename \_Val\> bool **operator==** (const **\_List\_iterator**\< \_Val \> &\_\_x, const **\_List\_const\_iterator**\< \_Val \> &\_\_y)\
 template\<typename \_Tp, typename \_Alloc\> bool **operator==** (const **deque**\< \_Tp, \_Alloc \> &\_\_x, const **deque**\< \_Tp, \_Alloc \> &\_\_y)\
 template\<typename \_Tp, typename \_RefL, typename \_PtrL, typename \_RefR, typename \_PtrR\> bool **operator==** (const **\_Deque\_iterator**\< \_Tp, \_RefL, \_PtrL \> &\_\_x, const **\_Deque\_iterator**\< \_Tp, \_RefR, \_PtrR \> &\_\_y)\
 template\<typename \_Tp, typename \_Ref, typename \_Ptr\> bool **operator==** (const **\_Deque\_iterator**\< \_Tp, \_Ref, \_Ptr \> &\_\_x, const **\_Deque\_iterator**\< \_Tp, \_Ref, \_Ptr \> &\_\_y)\
 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 \_T1, typename \_T2\> bool **operator==** (const **allocator**\< \_T1 \> &, const **allocator**\< \_T2 \> &)\
 template\<typename \_Tp, typename \_Alloc\> bool **operator\>** (const **vector**\< \_Tp, \_Alloc \> &\_\_x, const **vector**\< \_Tp, \_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 \_Tp, typename \_Seq\> bool **operator\>** (const **stack**\< \_Tp, \_Seq \> &\_\_x, const **stack**\< \_Tp, \_Seq \> &\_\_y)\
 template\<class \_Key, class \_Compare, class \_Alloc\> bool **operator\>** (const **set**\< \_Key, \_Compare, \_Alloc \> &\_\_x, const **set**\< \_Key, \_Compare, \_Alloc \> &\_\_y)\
 template\<typename \_Tp, typename \_Sequence\> bool **operator\>** (const **queue**\< \_Tp, \_Sequence \> &\_\_x, const **queue**\< \_Tp, \_Sequence \> &\_\_y)\
 template\<class \_T1, class \_T2\> bool **operator\>** (const **pair**\< \_T1, \_T2 \> &\_\_x, const **pair**\< \_T1, \_T2 \> &\_\_y)\
 template\<class \_Key, class \_Compare, class \_Alloc\> bool **operator\>** (const **multiset**\< \_Key, \_Compare, \_Alloc \> &\_\_x, const **multiset**\< \_Key, \_Compare, \_Alloc \> &\_\_y)\
 template\<typename \_Key, typename \_Tp, typename \_Compare, typename \_Alloc\> bool **operator\>** (const **multimap**\< \_Key, \_Tp, \_Compare, \_Alloc \> &\_\_x, const **multimap**\< \_Key, \_Tp, \_Compare, \_Alloc \> &\_\_y)\
 template\<typename \_Key, typename \_Tp, typename \_Compare, typename \_Alloc\> bool **operator\>** (const **map**\< \_Key, \_Tp, \_Compare, \_Alloc \> &\_\_x, const **map**\< \_Key, \_Tp, \_Compare, \_Alloc \> &\_\_y)\
 template\<typename \_Tp, typename \_Alloc\> bool **operator\>** (const **list**\< \_Tp, \_Alloc \> &\_\_x, const **list**\< \_Tp, \_Alloc \> &\_\_y)\
 template\<typename \_Tp, typename \_Alloc\> bool **operator\>** (const **deque**\< \_Tp, \_Alloc \> &\_\_x, const **deque**\< \_Tp, \_Alloc \> &\_\_y)\
 template\<typename \_Tp, typename \_RefL, typename \_PtrL, typename \_RefR, typename \_PtrR\> bool **operator\>** (const **\_Deque\_iterator**\< \_Tp, \_RefL, \_PtrL \> &\_\_x, const **\_Deque\_iterator**\< \_Tp, \_RefR, \_PtrR \> &\_\_y)\
 template\<typename \_Tp, typename \_Ref, typename \_Ptr\> bool **operator\>** (const **\_Deque\_iterator**\< \_Tp, \_Ref, \_Ptr \> &\_\_x, const **\_Deque\_iterator**\< \_Tp, \_Ref, \_Ptr \> &\_\_y)\
 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 \_Tp, typename \_Alloc\> bool **operator\>=** (const **vector**\< \_Tp, \_Alloc \> &\_\_x, const **vector**\< \_Tp, \_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 \_Tp, typename \_Seq\> bool **operator\>=** (const **stack**\< \_Tp, \_Seq \> &\_\_x, const **stack**\< \_Tp, \_Seq \> &\_\_y)\
 template\<class \_Key, class \_Compare, class \_Alloc\> bool **operator\>=** (const **set**\< \_Key, \_Compare, \_Alloc \> &\_\_x, const **set**\< \_Key, \_Compare, \_Alloc \> &\_\_y)\
 template\<typename \_Tp, typename \_Sequence\> bool **operator\>=** (const **queue**\< \_Tp, \_Sequence \> &\_\_x, const **queue**\< \_Tp, \_Sequence \> &\_\_y)\
 template\<class \_T1, class \_T2\> bool **operator\>=** (const **pair**\< \_T1, \_T2 \> &\_\_x, const **pair**\< \_T1, \_T2 \> &\_\_y)\
 template\<class \_Key, class \_Compare, class \_Alloc\> bool **operator\>=** (const **multiset**\< \_Key, \_Compare, \_Alloc \> &\_\_x, const **multiset**\< \_Key, \_Compare, \_Alloc \> &\_\_y)\
 template\<typename \_Key, typename \_Tp, typename \_Compare, typename \_Alloc\> bool **operator\>=** (const **multimap**\< \_Key, \_Tp, \_Compare, \_Alloc \> &\_\_x, const **multimap**\< \_Key, \_Tp, \_Compare, \_Alloc \> &\_\_y)\
 template\<typename \_Key, typename \_Tp, typename \_Compare, typename \_Alloc\> bool **operator\>=** (const **map**\< \_Key, \_Tp, \_Compare, \_Alloc \> &\_\_x, const **map**\< \_Key, \_Tp, \_Compare, \_Alloc \> &\_\_y)\
 template\<typename \_Tp, typename \_Alloc\> bool **operator\>=** (const **list**\< \_Tp, \_Alloc \> &\_\_x, const **list**\< \_Tp, \_Alloc \> &\_\_y)\
 template\<typename \_Tp, typename \_Alloc\> bool **operator\>=** (const **deque**\< \_Tp, \_Alloc \> &\_\_x, const **deque**\< \_Tp, \_Alloc \> &\_\_y)\
 template\<typename \_Tp, typename \_RefL, typename \_PtrL, typename \_RefR, typename \_PtrR\> bool **operator\>=** (const **\_Deque\_iterator**\< \_Tp, \_RefL, \_PtrL \> &\_\_x, const **\_Deque\_iterator**\< \_Tp, \_RefR, \_PtrR \> &\_\_y)\
 template\<typename \_Tp, typename \_Ref, typename \_Ptr\> bool **operator\>=** (const **\_Deque\_iterator**\< \_Tp, \_Ref, \_Ptr \> &\_\_x, const **\_Deque\_iterator**\< \_Tp, \_Ref, \_Ptr \> &\_\_y)\
 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\> **basic\_istream**\< \_CharT, \_Traits \> & **operator\>\>** (**basic\_istream**\< \_CharT, \_Traits \> &\_\_is, \_Setw \_\_f)\
 template\<typename \_CharT, typename \_Traits\> **basic\_istream**\< \_CharT, \_Traits \> & **operator\>\>** (**basic\_istream**\< \_CharT, \_Traits \> &\_\_is, \_Setprecision \_\_f)\
 template\<typename \_CharT, typename \_Traits\> **basic\_istream**\< \_CharT, \_Traits \> & **operator\>\>** (**basic\_istream**\< \_CharT, \_Traits \> &\_\_is, \_Setfill\< \_CharT \> \_\_f)\
 template\<typename \_CharT, typename \_Traits\> **basic\_istream**\< \_CharT, \_Traits \> & **operator\>\>** (**basic\_istream**\< \_CharT, \_Traits \> &\_\_is, \_Setbase \_\_f)\
 template\<typename \_CharT, typename \_Traits\> **basic\_istream**\< \_CharT, \_Traits \> & **operator\>\>** (**basic\_istream**\< \_CharT, \_Traits \> &\_\_is, \_Setiosflags \_\_f)\
 template\<typename \_CharT, typename \_Traits\> **basic\_istream**\< \_CharT, \_Traits \> & **operator\>\>** (**basic\_istream**\< \_CharT, \_Traits \> &\_\_is, \_Resetiosflags \_\_f)\
 template\<typename \_CharT, typename \_Traits, typename \_Alloc, template\< typename, typename, typename \> class \_Base\> **basic\_istream**\< \_CharT, \_Traits \> & **operator\>\>** (**basic\_istream**\< \_CharT, \_Traits \> &\_\_is, **\_\_gnu\_cxx::\_\_versa\_string**\< \_CharT, \_Traits, \_Alloc, \_Base \> &\_\_str)\
 template\<\> **basic\_istream**\< char \> & **operator\>\>** (**basic\_istream**\< char \> &\_\_is, **basic\_string**\< char \> &\_\_str)\
 template\<typename \_CharT, typename \_Traits, typename \_Alloc\> **basic\_istream**\< \_CharT, \_Traits \> & **operator\>\>** (**basic\_istream**\< \_CharT, \_Traits \> &\_\_is, **basic\_string**\< \_CharT, \_Traits, \_Alloc \> &\_\_str)\
 \_Ios\_Iostate **operator^** (\_Ios\_Iostate \_\_a, \_Ios\_Iostate \_\_b)\
 \_Ios\_Openmode **operator^** (\_Ios\_Openmode \_\_a, \_Ios\_Openmode \_\_b)\
 \_Ios\_Fmtflags **operator^** (\_Ios\_Fmtflags \_\_a, \_Ios\_Fmtflags \_\_b)\
 \_Ios\_Iostate & **operator^=** (\_Ios\_Iostate &\_\_a, \_Ios\_Iostate \_\_b)\
 \_Ios\_Openmode & **operator^=** (\_Ios\_Openmode &\_\_a, \_Ios\_Openmode \_\_b)\
 \_Ios\_Fmtflags & **operator^=** (\_Ios\_Fmtflags &\_\_a, \_Ios\_Fmtflags \_\_b)\
 \_Ios\_Iostate **operator\|** (\_Ios\_Iostate \_\_a, \_Ios\_Iostate \_\_b)\
 \_Ios\_Openmode **operator\|** (\_Ios\_Openmode \_\_a, \_Ios\_Openmode \_\_b)\
 \_Ios\_Fmtflags **operator\|** (\_Ios\_Fmtflags \_\_a, \_Ios\_Fmtflags \_\_b)\
 \_Ios\_Iostate & **operator\|=** (\_Ios\_Iostate &\_\_a, \_Ios\_Iostate \_\_b)\
 \_Ios\_Openmode & **operator\|=** (\_Ios\_Openmode &\_\_a, \_Ios\_Openmode \_\_b)\
 \_Ios\_Fmtflags & **operator\|=** (\_Ios\_Fmtflags &\_\_a, \_Ios\_Fmtflags \_\_b)\
 \_Ios\_Iostate **operator~** (\_Ios\_Iostate \_\_a)\
 \_Ios\_Openmode **operator~** (\_Ios\_Openmode \_\_a)\
 \_Ios\_Fmtflags **operator~** (\_Ios\_Fmtflags \_\_a)\
 template\<typename \_RandomAccessIterator, typename \_Compare\> void **partial\_sort** (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_middle, \_RandomAccessIterator \_\_last, \_Compare \_\_comp)\
 template\<typename \_RandomAccessIterator\> void **partial\_sort** (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_middle, \_RandomAccessIterator \_\_last)\
 template\<typename \_InputIterator, typename \_RandomAccessIterator, typename \_Compare\> \_RandomAccessIterator **partial\_sort\_copy** (\_InputIterator \_\_first, \_InputIterator \_\_last, \_RandomAccessIterator \_\_result\_first, \_RandomAccessIterator \_\_result\_last, \_Compare \_\_comp)\
 template\<typename \_InputIterator, typename \_RandomAccessIterator\> \_RandomAccessIterator **partial\_sort\_copy** (\_InputIterator \_\_first, \_InputIterator \_\_last, \_RandomAccessIterator \_\_result\_first, \_RandomAccessIterator \_\_result\_last)\
 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 **partial\_sum** (\_InputIterator \_\_first, \_InputIterator \_\_last, \_OutputIterator \_\_result)\
 template\<typename \_ForwardIterator, typename \_Predicate\> \_ForwardIterator **partition** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, \_Predicate \_\_pred)\
 template\<typename \_RandomAccessIterator, typename \_Compare\> void **pop\_heap** (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last, \_Compare \_\_comp)\
 template\<typename \_RandomAccessIterator\> void **pop\_heap** (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last)\
 template\<typename \_BidirectionalIterator, typename \_Compare\> bool **prev\_permutation** (\_BidirectionalIterator \_\_first, \_BidirectionalIterator \_\_last, \_Compare \_\_comp)\
 template\<typename \_BidirectionalIterator\> bool **prev\_permutation** (\_BidirectionalIterator \_\_first, \_BidirectionalIterator \_\_last)\
 template\<class \_Arg1, class \_Arg2, class \_Result\> **pointer\_to\_binary\_function**\< \_Arg1, \_Arg2, \_Result \> **ptr\_fun** (\_Result(\*\_\_x)(\_Arg1, \_Arg2))\
 template\<class \_Arg, class \_Result\> **pointer\_to\_unary\_function**\< \_Arg, \_Result \> **ptr\_fun** (\_Result(\*\_\_x)(\_Arg))\
 template\<typename \_RandomAccessIterator, typename \_Compare\> void **push\_heap** (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last, \_Compare \_\_comp)\
 template\<typename \_RandomAccessIterator\> void **push\_heap** (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last)\
 template\<typename \_RandomAccessIterator, typename \_RandomNumberGenerator\> void **random\_shuffle** (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last, \_RandomNumberGenerator &\_\_rand)\
 template\<typename \_RandomAccessIterator\> void **random\_shuffle** (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last)\
 template\<typename \_ForwardIterator, typename \_Tp\> \_ForwardIterator **remove** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, const \_Tp &\_\_value)\
 template\<typename \_InputIterator, typename \_OutputIterator, typename \_Tp\> \_OutputIterator **remove\_copy** (\_InputIterator \_\_first, \_InputIterator \_\_last, \_OutputIterator \_\_result, const \_Tp &\_\_value)\
 template\<typename \_InputIterator, typename \_OutputIterator, typename \_Predicate\> \_OutputIterator **remove\_copy\_if** (\_InputIterator \_\_first, \_InputIterator \_\_last, \_OutputIterator \_\_result, \_Predicate \_\_pred)\
 template\<typename \_ForwardIterator, typename \_Predicate\> \_ForwardIterator **remove\_if** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, \_Predicate \_\_pred)\
 template\<typename \_ForwardIterator, typename \_Tp\> void **replace** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, const \_Tp &\_\_old\_value, const \_Tp &\_\_new\_value)\
 template\<typename \_InputIterator, typename \_OutputIterator, typename \_Tp\> \_OutputIterator **replace\_copy** (\_InputIterator \_\_first, \_InputIterator \_\_last, \_OutputIterator \_\_result, const \_Tp &\_\_old\_value, const \_Tp &\_\_new\_value)\
 template\<typename \_InputIterator, typename \_OutputIterator, typename \_Predicate, typename \_Tp\> \_OutputIterator **replace\_copy\_if** (\_InputIterator \_\_first, \_InputIterator \_\_last, \_OutputIterator \_\_result, \_Predicate \_\_pred, const \_Tp &\_\_new\_value)\
 template\<typename \_ForwardIterator, typename \_Predicate, typename \_Tp\> void **replace\_if** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, \_Predicate \_\_pred, const \_Tp &\_\_new\_value)\
 \_Resetiosflags **resetiosflags** (**ios\_base::fmtflags** \_\_mask)\
 template\<typename \_Tp\> void **return\_temporary\_buffer** (\_Tp \*\_\_p)\
 template\<typename \_BidirectionalIterator\> void **reverse** (\_BidirectionalIterator \_\_first, \_BidirectionalIterator \_\_last)\
 template\<typename \_BidirectionalIterator, typename \_OutputIterator\> \_OutputIterator **reverse\_copy** (\_BidirectionalIterator \_\_first, \_BidirectionalIterator \_\_last, \_OutputIterator \_\_result)\
 **ios\_base** & **right** (**ios\_base** &\_\_base)\
 template\<typename \_ForwardIterator\> void **rotate** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_middle, \_ForwardIterator \_\_last)\
 template\<typename \_ForwardIterator, typename \_OutputIterator\> \_OutputIterator **rotate\_copy** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_middle, \_ForwardIterator \_\_last, \_OutputIterator \_\_result)\
 **ios\_base** & **scientific** (**ios\_base** &\_\_base)\
 template\<typename \_ForwardIterator1, typename \_ForwardIterator2, typename \_BinaryPredicate\> \_ForwardIterator1 **search** (\_ForwardIterator1 \_\_first1, \_ForwardIterator1 \_\_last1, \_ForwardIterator2 \_\_first2, \_ForwardIterator2 \_\_last2, \_BinaryPredicate \_\_predicate)\
 template\<typename \_ForwardIterator1, typename \_ForwardIterator2\> \_ForwardIterator1 **search** (\_ForwardIterator1 \_\_first1, \_ForwardIterator1 \_\_last1, \_ForwardIterator2 \_\_first2, \_ForwardIterator2 \_\_last2)\
 template\<typename \_ForwardIterator, typename \_Integer, typename \_Tp, typename \_BinaryPredicate\> \_ForwardIterator **search\_n** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, \_Integer \_\_count, const \_Tp &\_\_val, \_BinaryPredicate \_\_binary\_pred)\
 template\<typename \_ForwardIterator, typename \_Integer, typename \_Tp\> \_ForwardIterator **search\_n** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, \_Integer \_\_count, const \_Tp &\_\_val)\
 template\<typename \_InputIterator1, typename \_InputIterator2, typename \_OutputIterator, typename \_Compare\> \_OutputIterator **set\_difference** (\_InputIterator1 \_\_first1, \_InputIterator1 \_\_last1, \_InputIterator2 \_\_first2, \_InputIterator2 \_\_last2, \_OutputIterator \_\_result, \_Compare \_\_comp)\
 template\<typename \_InputIterator1, typename \_InputIterator2, typename \_OutputIterator\> \_OutputIterator **set\_difference** (\_InputIterator1 \_\_first1, \_InputIterator1 \_\_last1, \_InputIterator2 \_\_first2, \_InputIterator2 \_\_last2, \_OutputIterator \_\_result)\
 template\<typename \_InputIterator1, typename \_InputIterator2, typename \_OutputIterator, typename \_Compare\> \_OutputIterator **set\_intersection** (\_InputIterator1 \_\_first1, \_InputIterator1 \_\_last1, \_InputIterator2 \_\_first2, \_InputIterator2 \_\_last2, \_OutputIterator \_\_result, \_Compare \_\_comp)\
 template\<typename \_InputIterator1, typename \_InputIterator2, typename \_OutputIterator\> \_OutputIterator **set\_intersection** (\_InputIterator1 \_\_first1, \_InputIterator1 \_\_last1, \_InputIterator2 \_\_first2, \_InputIterator2 \_\_last2, \_OutputIterator \_\_result)\
 **new\_handler** **set\_new\_handler** (**new\_handler**)  throw ()\
 template\<typename \_InputIterator1, typename \_InputIterator2, typename \_OutputIterator, typename \_Compare\> \_OutputIterator **set\_symmetric\_difference** (\_InputIterator1 \_\_first1, \_InputIterator1 \_\_last1, \_InputIterator2 \_\_first2, \_InputIterator2 \_\_last2, \_OutputIterator \_\_result, \_Compare \_\_comp)\
 template\<typename \_InputIterator1, typename \_InputIterator2, typename \_OutputIterator\> \_OutputIterator **set\_symmetric\_difference** (\_InputIterator1 \_\_first1, \_InputIterator1 \_\_last1, \_InputIterator2 \_\_first2, \_InputIterator2 \_\_last2, \_OutputIterator \_\_result)\
 **terminate\_handler** **set\_terminate** (**terminate\_handler**)  throw ()\
 **unexpected\_handler** **set\_unexpected** (**unexpected\_handler**)  throw ()\
 template\<typename \_InputIterator1, typename \_InputIterator2, typename \_OutputIterator, typename \_Compare\> \_OutputIterator **set\_union** (\_InputIterator1 \_\_first1, \_InputIterator1 \_\_last1, \_InputIterator2 \_\_first2, \_InputIterator2 \_\_last2, \_OutputIterator \_\_result, \_Compare \_\_comp)\
 template\<typename \_InputIterator1, typename \_InputIterator2, typename \_OutputIterator\> \_OutputIterator **set\_union** (\_InputIterator1 \_\_first1, \_InputIterator1 \_\_last1, \_InputIterator2 \_\_first2, \_InputIterator2 \_\_last2, \_OutputIterator \_\_result)\
 \_Setbase **setbase** (int \_\_base)\
 template\<typename \_CharT\> \_Setfill\< \_CharT \> **setfill** (\_CharT \_\_c)\
 \_Setiosflags **setiosflags** (**ios\_base::fmtflags** \_\_mask)\
 \_Setprecision **setprecision** (int \_\_n)\
 \_Setw **setw** (int \_\_n)\
 **ios\_base** & **showbase** (**ios\_base** &\_\_base)\
 **ios\_base** & **showpoint** (**ios\_base** &\_\_base)\
 **ios\_base** & **showpos** (**ios\_base** &\_\_base)\
 **ios\_base** & **skipws** (**ios\_base** &\_\_base)\
 template\<typename \_RandomAccessIterator, typename \_Compare\> void **sort** (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last, \_Compare \_\_comp)\
 template\<typename \_RandomAccessIterator\> void **sort** (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last)\
 template\<typename \_RandomAccessIterator, typename \_Compare\> void **sort\_heap** (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last, \_Compare \_\_comp)\
 template\<typename \_RandomAccessIterator\> void **sort\_heap** (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last)\
 template\<typename \_ForwardIterator, typename \_Predicate\> \_ForwardIterator **stable\_partition** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, \_Predicate \_\_pred)\
 template\<typename \_RandomAccessIterator, typename \_Compare\> void **stable\_sort** (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last, \_Compare \_\_comp)\
 template\<typename \_RandomAccessIterator\> void **stable\_sort** (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last)\
 template\<typename \_Tp, typename \_Alloc\> void **swap** (**vector**\< \_Tp, \_Alloc \> &\_\_x, **vector**\< \_Tp, \_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)\
 template\<class \_Key, class \_Compare, class \_Alloc\> void **swap** (**set**\< \_Key, \_Compare, \_Alloc \> &\_\_x, **set**\< \_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 \_Key, typename \_Tp, typename \_Compare, typename \_Alloc\> void **swap** (**multimap**\< \_Key, \_Tp, \_Compare, \_Alloc \> &\_\_x, **multimap**\< \_Key, \_Tp, \_Compare, \_Alloc \> &\_\_y)\
 template\<typename \_Key, typename \_Tp, typename \_Compare, typename \_Alloc\> void **swap** (**map**\< \_Key, \_Tp, \_Compare, \_Alloc \> &\_\_x, **map**\< \_Key, \_Tp, \_Compare, \_Alloc \> &\_\_y)\
 template\<typename \_Tp, typename \_Alloc\> void **swap** (**list**\< \_Tp, \_Alloc \> &\_\_x, **list**\< \_Tp, \_Alloc \> &\_\_y)\
 template\<typename \_Tp, typename \_Alloc\> void **swap** (**deque**\< \_Tp, \_Alloc \> &\_\_x, **deque**\< \_Tp, \_Alloc \> &\_\_y)\
 template\<typename \_Tp\> void **swap** (\_Tp &\_\_a, \_Tp &\_\_b)\
 template\<typename \_CharT, typename \_Traits, typename \_Alloc\> void **swap** (**basic\_string**\< \_CharT, \_Traits, \_Alloc \> &\_\_lhs, **basic\_string**\< \_CharT, \_Traits, \_Alloc \> &\_\_rhs)\
 template\<typename \_ForwardIterator1, typename \_ForwardIterator2\> \_ForwardIterator2 **swap\_ranges** (\_ForwardIterator1 \_\_first1, \_ForwardIterator1 \_\_last1, \_ForwardIterator2 \_\_first2)\
 void **terminate** () \_\_attribute\_\_((\_\_noreturn\_\_))\
 template\<typename \_CharT\> \_CharT **tolower** (\_CharT \_\_c, const **locale** &\_\_loc)\
 template\<typename \_CharT\> \_CharT **toupper** (\_CharT \_\_c, const **locale** &\_\_loc)\
 template\<typename \_InputIterator1, typename \_InputIterator2, typename \_OutputIterator, typename \_BinaryOperation\> \_OutputIterator **transform** (\_InputIterator1 \_\_first1, \_InputIterator1 \_\_last1, \_InputIterator2 \_\_first2, \_OutputIterator \_\_result, \_BinaryOperation \_\_binary\_op)\
 template\<typename \_InputIterator, typename \_OutputIterator, typename \_UnaryOperation\> \_OutputIterator **transform** (\_InputIterator \_\_first, \_InputIterator \_\_last, \_OutputIterator \_\_result, \_UnaryOperation \_\_unary\_op)\
 bool **uncaught\_exception** ()  throw ()\
 void **unexpected** () \_\_attribute\_\_((\_\_noreturn\_\_))\
 wchar\_t \* **uninitialized\_copy** (const wchar\_t \*\_\_first, const wchar\_t \*\_\_last, wchar\_t \*\_\_result)\
 char \* **uninitialized\_copy** (const char \*\_\_first, const char \*\_\_last, char \*\_\_result)\
 template\<typename \_InputIterator, typename \_ForwardIterator\> \_ForwardIterator **uninitialized\_copy** (\_InputIterator \_\_first, \_InputIterator \_\_last, \_ForwardIterator \_\_result)\
 template\<typename \_ForwardIterator, typename \_Tp\> void **uninitialized\_fill** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, const \_Tp &\_\_x)\
 template\<typename \_ForwardIterator, typename \_Size, typename \_Tp\> void **uninitialized\_fill\_n** (\_ForwardIterator \_\_first, \_Size \_\_n, const \_Tp &\_\_x)\
 template\<typename \_ForwardIterator, typename \_BinaryPredicate\> \_ForwardIterator **unique** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, \_BinaryPredicate \_\_binary\_pred)\
 template\<typename \_ForwardIterator\> \_ForwardIterator **unique** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last)\
 template\<typename \_InputIterator, typename \_OutputIterator, typename \_BinaryPredicate\> \_OutputIterator **unique\_copy** (\_InputIterator \_\_first, \_InputIterator \_\_last, \_OutputIterator \_\_result, \_BinaryPredicate \_\_binary\_pred)\
 template\<typename \_InputIterator, typename \_OutputIterator\> \_OutputIterator **unique\_copy** (\_InputIterator \_\_first, \_InputIterator \_\_last, \_OutputIterator \_\_result)\
 **ios\_base** & **unitbuf** (**ios\_base** &\_\_base)\
 template\<typename \_ForwardIterator, typename \_Tp, typename \_Compare\> \_ForwardIterator **upper\_bound** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, const \_Tp &\_\_val, \_Compare \_\_comp)\
 template\<typename \_ForwardIterator, typename \_Tp\> \_ForwardIterator **upper\_bound** (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, const \_Tp &\_\_val)\
 **ios\_base** & **uppercase** (**ios\_base** &\_\_base)\
 template\<typename \_Facet\> const \_Facet & **use\_facet** (const **locale** &\_\_loc)\
 template\<\> const **ctype**\< char \> & **use\_facet\< ctype\< char \> \>** (const **locale** &\_\_loc)\
 template\<\> const **ctype**\< wchar\_t \> & **use\_facet\< ctype\< wchar\_t \> \>** (const **locale** &\_\_loc)\
 template\<typename \_CharT, typename \_Traits\> **basic\_istream**\< \_CharT, \_Traits \> & **ws** (**basic\_istream**\< \_CharT, \_Traits \> &\_\_is)\

template\<size\_t \_Nb\> **bitset**\< \_Nb \> **operator &** (const **bitset**\< \_Nb \> &\_\_x, const **bitset**\< \_Nb \> &\_\_y)\
 template\<size\_t \_Nb\> **bitset**\< \_Nb \> **operator^** (const **bitset**\< \_Nb \> &\_\_x, const **bitset**\< \_Nb \> &\_\_y)\
 template\<size\_t \_Nb\> **bitset**\< \_Nb \> **operator\|** (const **bitset**\< \_Nb \> &\_\_x, const **bitset**\< \_Nb \> &\_\_y)\

template\<typename \_IteratorL, typename \_IteratorR\> bool **operator!=** (const **reverse\_iterator**\< \_IteratorL \> &\_\_x, const **reverse\_iterator**\< \_IteratorR \> &\_\_y)\
 template\<typename \_Iterator\> bool **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\<typename \_IteratorL, typename \_IteratorR\> **reverse\_iterator**\< \_IteratorL \>::difference\_type **operator-** (const **reverse\_iterator**\< \_IteratorL \> &\_\_x, const **reverse\_iterator**\< \_IteratorR \> &\_\_y)\
 template\<typename \_Iterator\> **reverse\_iterator**\< \_Iterator \>::difference\_type **operator-** (const **reverse\_iterator**\< \_Iterator \> &\_\_x, const **reverse\_iterator**\< \_Iterator \> &\_\_y)\
 template\<typename \_IteratorL, typename \_IteratorR\> bool **operator\<** (const **reverse\_iterator**\< \_IteratorL \> &\_\_x, const **reverse\_iterator**\< \_IteratorR \> &\_\_y)\
 template\<typename \_Iterator\> bool **operator\<** (const **reverse\_iterator**\< \_Iterator \> &\_\_x, const **reverse\_iterator**\< \_Iterator \> &\_\_y)\
 template\<typename \_IteratorL, typename \_IteratorR\> bool **operator\<=** (const **reverse\_iterator**\< \_IteratorL \> &\_\_x, const **reverse\_iterator**\< \_IteratorR \> &\_\_y)\
 template\<typename \_Iterator\> bool **operator\<=** (const **reverse\_iterator**\< \_Iterator \> &\_\_x, const **reverse\_iterator**\< \_Iterator \> &\_\_y)\
 template\<typename \_IteratorL, typename \_IteratorR\> bool **operator==** (const **reverse\_iterator**\< \_IteratorL \> &\_\_x, const **reverse\_iterator**\< \_IteratorR \> &\_\_y)\
 template\<typename \_Iterator\> bool **operator==** (const **reverse\_iterator**\< \_Iterator \> &\_\_x, const **reverse\_iterator**\< \_Iterator \> &\_\_y)\
 template\<typename \_IteratorL, typename \_IteratorR\> bool **operator\>** (const **reverse\_iterator**\< \_IteratorL \> &\_\_x, const **reverse\_iterator**\< \_IteratorR \> &\_\_y)\
 template\<typename \_Iterator\> bool **operator\>** (const **reverse\_iterator**\< \_Iterator \> &\_\_x, const **reverse\_iterator**\< \_Iterator \> &\_\_y)\
 template\<typename \_IteratorL, typename \_IteratorR\> bool **operator\>=** (const **reverse\_iterator**\< \_IteratorL \> &\_\_x, const **reverse\_iterator**\< \_IteratorR \> &\_\_y)\
 template\<typename \_Iterator\> bool **operator\>=** (const **reverse\_iterator**\< \_Iterator \> &\_\_x, const **reverse\_iterator**\< \_Iterator \> &\_\_y)\

template\<class \_Traits\> **basic\_ostream**\< char, \_Traits \> & **operator\<\<** (**basic\_ostream**\< char, \_Traits \> &\_\_out, const unsigned char \*\_\_s)\
 template\<class \_Traits\> **basic\_ostream**\< char, \_Traits \> & **operator\<\<** (**basic\_ostream**\< char, \_Traits \> &\_\_out, const signed char \*\_\_s)\
 template\<class \_Traits\> **basic\_ostream**\< char, \_Traits \> & **operator\<\<** (**basic\_ostream**\< char, \_Traits \> &\_\_out, const char \*\_\_s)\
 template\<typename \_CharT, typename \_Traits\> **basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**basic\_ostream**\< \_CharT, \_Traits \> &\_\_out, const char \*\_\_s)\
 template\<typename \_CharT, typename \_Traits\> **basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**basic\_ostream**\< \_CharT, \_Traits \> &\_\_out, const \_CharT \*\_\_s)\

template\<class \_Traits\> **basic\_ostream**\< char, \_Traits \> & **operator\<\<** (**basic\_ostream**\< char, \_Traits \> &\_\_out, unsigned char \_\_c)\
 template\<class \_Traits\> **basic\_ostream**\< char, \_Traits \> & **operator\<\<** (**basic\_ostream**\< char, \_Traits \> &\_\_out, signed char \_\_c)\
 template\<typename \_CharT, typename \_Traits\> **basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**basic\_ostream**\< \_CharT, \_Traits \> &\_\_out, char \_\_c)\
 template\<class \_Traits\> **basic\_ostream**\< char, \_Traits \> & **operator\<\<** (**basic\_ostream**\< char, \_Traits \> &\_\_out, char \_\_c)\
 template\<typename \_CharT, typename \_Traits\> **basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**basic\_ostream**\< \_CharT, \_Traits \> &\_\_out, \_CharT \_\_c)\

template\<class \_CharT, class \_Traits, size\_t \_Nb\> **std::basic\_ostream**\< \_CharT, \_Traits \> & **operator\<\<** (**std::basic\_ostream**\< \_CharT, \_Traits \> &\_\_os, const **bitset**\< \_Nb \> &\_\_x)\
 template\<class \_CharT, class \_Traits, size\_t \_Nb\> **std::basic\_istream**\< \_CharT, \_Traits \> & **operator\>\>** (**std::basic\_istream**\< \_CharT, \_Traits \> &\_\_is, **bitset**\< \_Nb \> &\_\_x)\

template\<class \_Traits\> **basic\_istream**\< char, \_Traits \> & **operator\>\>** (**basic\_istream**\< char, \_Traits \> &\_\_in, signed char \*\_\_s)\
 template\<class \_Traits\> **basic\_istream**\< char, \_Traits \> & **operator\>\>** (**basic\_istream**\< char, \_Traits \> &\_\_in, unsigned char \*\_\_s)\
 template\<\> **basic\_istream**\< char \> & **operator\>\>** (**basic\_istream**\< char \> &\_\_in, char \*\_\_s)\
 template\<typename \_CharT, typename \_Traits\> **basic\_istream**\< \_CharT, \_Traits \> & **operator\>\>** (**basic\_istream**\< \_CharT, \_Traits \> &\_\_in, \_CharT \*\_\_s)\

template\<class \_Traits\> **basic\_istream**\< char, \_Traits \> & **operator\>\>** (**basic\_istream**\< char, \_Traits \> &\_\_in, signed char &\_\_c)\
 template\<class \_Traits\> **basic\_istream**\< char, \_Traits \> & **operator\>\>** (**basic\_istream**\< char, \_Traits \> &\_\_in, unsigned char &\_\_c)\
 template\<typename \_CharT, typename \_Traits\> **basic\_istream**\< \_CharT, \_Traits \> & **operator\>\>** (**basic\_istream**\< \_CharT, \_Traits \> &\_\_in, \_CharT &\_\_c)\

### Variables

static ios\_base::Init **\_\_ioinit**\
 const nothrow\_t **nothrow**\

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

**ostream** **cerr**\
 **istream** **cin**\
 **ostream** **clog**\
 **ostream** **cout**\
 **wostream** **wcerr**\
 **wistream** **wcin**\
 **wostream** **wclog**\
 **wostream** **wcout**\

## Typedef Documentation

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

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

Definition at line 68 of file new.

### typedef long long streamoff

Type used by **fpos**, **char\_traits\<char\>**, and **char\_traits\<wchar\_t\>**.

Definition at line 74 of file postypes.h.

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

File position for char streams.

Definition at line 210 of file postypes.h.

### typedef ptrdiff\_t streamsize

Integral type for I/O operation counts and buffer sizes.

Definition at line 78 of file postypes.h.

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

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

Definition at line 76 of file exception.

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

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

Definition at line 78 of file exception.

### typedef fpos\<mbstate\_t\> wstreampos

File position for wchar\_t streams.

Definition at line 212 of file postypes.h.

## Enumeration Type Documentation

### enum float\_denorm\_style

Describes the denormalization for floating-point types.

These values represent the presence or absence of a variable number of exponent bits. This type is used in the **std::numeric\_limits** class.

**Enumerator:**

- *denorm\_indeterminate*

  *Indeterminate at compile time whether denormalized values are allowed.*

- *denorm\_absent*

  *The type does not allow denormalized values.*

- *denorm\_present*

  *The type allows denormalized values.*

*Definition at line 171 of file limits.*

### enum float\_round\_style

*Describes the rounding style for floating-point types.*

*This is used in the* **std::numeric\_limits** *class.*

**Enumerator:**

- *round\_indeterminate*

  *Self-explanatory.*

- *round\_toward\_zero*

  *Self-explanatory.*

- *round\_to\_nearest*

  *To the nearest representable value.*

- *round\_toward\_infinity*

  *Self-explanatory.*

- *round\_toward\_neg\_infinity*

  *Self-explanatory.*

*Definition at line 156 of file limits.*

## Function Documentation

### \_Tp std::accumulate (\_InputIterator \_\_first, \_InputIterator \_\_last, \_Tp \_\_init, \_BinaryOperation \_\_binary\_op)` [inline]`

*Accumulate values in a range with operation.*

*Accumulates the values in the range \[first,last) using the function object binary\_op. The initial value is init. The values are processed in order.*

**Parameters:**

*first Start of range.* \
 *last End of range.* \
 *init Starting value to add other values to.* \
 *binary\_op Function object to accumulate with.*

**Returns:**

*The final sum.*

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

### \_Tp std::accumulate (\_InputIterator \_\_first, \_InputIterator \_\_last, \_Tp \_\_init)` [inline]`

*Accumulate values in a range.*

*Accumulates the values in the range \[first,last) using* **operator+()***. The initial value is init. The values are processed in order.*

**Parameters:**

*first Start of range.* \
 *last End of range.* \
 *init Starting value to add other values to.*

**Returns:**

*The final sum.*

*Definition at line 82 of file stl\_numeric.h.*

### \_OutputIterator std::adjacent\_difference (\_InputIterator \_\_first, \_InputIterator \_\_last, \_OutputIterator \_\_result, \_BinaryOperation \_\_binary\_op)` [inline]`

*Return differences between adjacent values.*

*Computes the difference between adjacent values in the range \[first,last) using the function object binary\_op and writes the result to result.*

**Parameters:**

*first Start of input range.* \
 *last End of input range.* \
 *result Output to write sums to.*

**Returns:**

*Iterator pointing just beyond the values written to result.*

*Definition at line 314 of file stl\_numeric.h.*

### \_OutputIterator std::adjacent\_difference (\_InputIterator \_\_first, \_InputIterator \_\_last, \_OutputIterator \_\_result)` [inline]`

*Return differences between adjacent values.*

*Computes the difference between adjacent values in the range \[first,last) using operator-() and writes the result to result.*

**Parameters:**

*first Start of input range.* \
 *last End of input range.* \
 *result Output to write sums to.*

**Returns:**

*Iterator pointing just beyond the values written to result.*

*Definition at line 275 of file stl\_numeric.h.*

### \_ForwardIterator std::adjacent\_find (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, \_BinaryPredicate \_\_binary\_pred)` [inline]`

*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 382 of file stl\_algo.h.*

### \_ForwardIterator std::adjacent\_find (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last)` [inline]`

*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 351 of file stl\_algo.h.*

*Referenced by unique().*

### 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 172 of file stl\_iterator\_base\_funcs.h.*

*Referenced by equal\_range(), lower\_bound(), and upper\_bound().*

### 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 444 of file stl\_iterator.h.*

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

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

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

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

### \_OutputIterator std::copy (\_InputIterator \_\_first, \_InputIterator \_\_last, \_OutputIterator \_\_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). Result may not be contained within \[first,last); the copy\_backward function should be used instead.*

*Note that the end of the output range is permitted to be contained within \[first,last).*

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

*References \_\_gnu\_cxx::copy\_n().*

*Referenced by vector::erase(), deque::erase(), merge(), vector::operator=(), deque::operator=(), rotate\_copy(), set\_difference(), set\_symmetric\_difference(), set\_union(), basic\_filebuf::underflow(), basic\_streambuf::xsgetn(), basic\_filebuf::xsgetn(), and basic\_streambuf::xsputn().*

### \_BI2 std::copy\_backward (\_BI1 \_\_first, \_BI1 \_\_last, \_BI2 \_\_result)` [inline]`

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

**Parameters:**

*first A bidirectional* **iterator***.* \
 *last A bidirectional* **iterator***.* \
 *result A bidirectional* **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).*

*Result may not be in the range \[first,last). Use copy instead. Note that the start of the output range may overlap \[first,last).*

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

*Referenced by deque::erase().*

### iterator\_traits\<\_InputIterator\>::difference\_type std::count (\_InputIterator \_\_first, \_InputIterator \_\_last, const \_Tp & \_\_value)` [inline]`

*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 413 of file stl\_algo.h.*

*Referenced by set::count(), multiset::count(), multimap::count(), map::count(), and bitset::count().*

### iterator\_traits\<\_InputIterator\>::difference\_type std::count\_if (\_InputIterator \_\_first, \_InputIterator \_\_last, \_Predicate \_\_pred)` [inline]`

*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 437 of file stl\_algo.h.*

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

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

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

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

### 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 114 of file stl\_iterator\_base\_funcs.h.*

*Referenced by equal\_range(), inplace\_merge(), lower\_bound(), \_\_gnu\_cxx::random\_sample\_n(), list::size(), and upper\_bound().*

### basic\_ostream\<\_CharT, \_Traits\>& std::endl (basic\_ostream\< \_CharT, \_Traits \> & \_\_os)` [inline]`

*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 498 of file ostream.*

*References flush(), basic\_ostream::put(), and basic\_ios::widen().*

### basic\_ostream\<\_CharT, \_Traits\>& std::ends (basic\_ostream\< \_CharT, \_Traits \> & \_\_os)` [inline]`

*Write a null character into the output sequence.*

*Definition at line 509 of file ostream.*

*References basic\_ostream::put().*

### bool std::equal (\_InputIterator1 \_\_first1, \_InputIterator1 \_\_last1, \_InputIterator2 \_\_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 781 of file stl\_algobase.h.*

### bool std::equal (\_InputIterator1 \_\_first1, \_InputIterator1 \_\_last1, \_InputIterator2 \_\_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 748 of file stl\_algobase.h.*

*Referenced by operator==().*

### void std::fill (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, const \_Tp & \_\_value)` [inline]`

*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 560 of file stl\_algobase.h.*

### \_OutputIterator std::fill\_n (\_OutputIterator \_\_first, \_Size \_\_n, const \_Tp & \_\_value)` [inline]`

*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 636 of file stl\_algobase.h.*

### \_InputIterator std::find (\_InputIterator \_\_first, \_InputIterator \_\_last, const \_Tp & \_\_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 307 of file stl\_algo.h.*

*Referenced by \_\_versa\_string::find(), basic\_string::find(), \_\_versa\_string::find\_first\_not\_of(), basic\_string::find\_first\_not\_of(), \_\_versa\_string::find\_first\_of(), basic\_string::find\_first\_of(), \_\_versa\_string::find\_last\_not\_of(), basic\_string::find\_last\_not\_of(), \_\_versa\_string::find\_last\_of(), basic\_string::find\_last\_of(), remove(), search(), and search\_n().*

### \_ForwardIterator1 std::find\_end (\_ForwardIterator1 \_\_first1, \_ForwardIterator1 \_\_last1, \_ForwardIterator2 \_\_first2, \_ForwardIterator2 \_\_last2, \_BinaryPredicate \_\_comp)` [inline]`

*Find last matching subsequence in a sequence using a predicate.*

**Parameters:**

*first1 Start of range to search.* \
 *last1 End of range to search.* \
 *first2 Start of sequence to match.* \
 *last2 End of sequence to match.* \
 *comp The predicate to use.*

**Returns:**

*The last* **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 comp as a predicate and returns an* **iterator** *to the first element of the sub-sequence, or* `last1` *if the sub-sequence is not found. The sub-sequence will be the last such subsequence contained in \[first,last1).*

*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 5287 of file stl\_algo.h.*

### \_ForwardIterator1 std::find\_end (\_ForwardIterator1 \_\_first1, \_ForwardIterator1 \_\_last1, \_ForwardIterator2 \_\_first2, \_ForwardIterator2 \_\_last2)` [inline]`

*Find last matching subsequence in a sequence.*

**Parameters:**

*first1 Start of range to search.* \
 *last1 End of range to search.* \
 *first2 Start of sequence to match.* \
 *last2 End of sequence to match.*

**Returns:**

*The last* **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. The sub-sequence will be the last such subsequence contained in \[first,last1).*

*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 5241 of file stl\_algo.h.*

### \_InputIterator std::find\_first\_of (\_InputIterator \_\_first1, \_InputIterator \_\_last1, \_ForwardIterator \_\_first2, \_ForwardIterator \_\_last2, \_BinaryPredicate \_\_comp)` [inline]`

*Find element from a* **set** *in a sequence using a predicate.*

**Parameters:**

*first1 Start of range to search.* \
 *last1 End of range to search.* \
 *first2 Start of match candidates.* \
 *last2 End of match candidates.* \
 *comp Predicate to use.*

**Returns:**

*The first* **iterator** `i` *in the range \[first1,last1) such that* `comp`*(\*i,* `*`*(i2)) is true and i2 is an interator in \[first2,last2), or* `last1` *if no such* **iterator** *exists.*

*Searches the range \[first1,last1) for an element that is equal to some element in the range \[first2,last2). If found, returns an* **iterator** *in the range \[first1,last1), otherwise returns* `last1`*.*

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

### \_InputIterator std::find\_first\_of (\_InputIterator \_\_first1, \_InputIterator \_\_last1, \_ForwardIterator \_\_first2, \_ForwardIterator \_\_last2)` [inline]`

*Find element from a* **set** *in a sequence.*

**Parameters:**

*first1 Start of range to search.* \
 *last1 End of range to search.* \
 *first2 Start of match candidates.* \
 *last2 End of match candidates.*

**Returns:**

*The first* **iterator** `i` *in the range \[first1,last1) such that* `*i` *==* `*`*(i2) such that i2 is an interator in \[first2,last2), or* `last1` *if no such* **iterator** *exists.*

*Searches the range \[first1,last1) for an element that is equal to some element in the range \[first2,last2). If found, returns an* **iterator** *in the range \[first1,last1), otherwise returns* `last1`*.*

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

### \_InputIterator std::find\_if (\_InputIterator \_\_first, \_InputIterator \_\_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 329 of file stl\_algo.h.*

*Referenced by remove\_if().*

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

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

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

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

### basic\_ostream\<\_CharT, \_Traits\>& std::flush (basic\_ostream\< \_CharT, \_Traits \> & \_\_os)` [inline]`

*Flushes the output stream.*

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

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

**References basic\_ostream::flush().**

**Referenced by endl().**

### \_Function std::for\_each (\_InputIterator \_\_first, \_InputIterator \_\_last, \_Function \_\_f)` [inline]`

**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 153 of file stl\_algo.h.**

### 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 518 of file stl\_iterator.h.**

### void std::generate (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, \_Generator \_\_gen)` [inline]`

**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 1114 of file stl\_algo.h.**

### \_OutputIterator std::generate\_n (\_OutputIterator \_\_first, \_Size \_\_n, \_Generator \_\_gen)` [inline]`

**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 1140 of file stl\_algo.h.**

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

**Allocates a temporary buffer.**

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

**Provides the nothrow exception guarantee.**

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

### basic\_istream\<\_CharT, \_Traits\>& std::getline (basic\_istream\< \_CharT, \_Traits \> & \_\_is, \_\_gnu\_cxx::\_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \> & \_\_str)` [inline]`

**Read a line from stream into a string.**

**Parameters:**

*is* **Input stream.** \
 *str* **Buffer to store into.**

**Returns:**

**Reference to the input stream.**

**Stores characters from is into** *str* **until '**\

**Definition at line 2185 of file vstring.h.**

**References getline(), and basic\_ios::widen().**

### basic\_istream\< \_CharT, \_Traits \> & getline (basic\_istream\< \_CharT, \_Traits \> & \_\_is, \_\_gnu\_cxx::\_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \> & \_\_str, \_CharT \_\_delim)` [inline]`

**Read a line from stream into a string.**

**Parameters:**

*is* **Input stream.** \
 *str* **Buffer to store into.** \
 *delim* **Character marking end of line.**

**Returns:**

**Reference to the input stream.**

**Stores characters from** *is* **into** *str* **until** *delim* **is found, the end of the stream is encountered, or str.max\_size() is reached. If is.width() is non-zero, that is the limit on the number of characters stored into** *str***. Any previous contents of** *str* **are erased. If** *delim* **was encountered, it is extracted but not stored into** *str***.**

**Definition at line 648 of file vstring.tcc.**

**References basic\_ios::\_M\_setstate(), \_\_versa\_string::append(), \_\_versa\_string::erase(), \_\_versa\_string::max\_size(), basic\_ios::rdbuf(), and basic\_ios::setstate().**

### basic\_istream\< \_CharT, \_Traits \> & getline (basic\_istream\< \_CharT, \_Traits \> & \_\_is, basic\_string\< \_CharT, \_Traits, \_Alloc \> & \_\_str)` [inline]`

**Read a line from stream into a string.**

**Parameters:**

*is* **Input stream.** \
 *str* **Buffer to store into.**

**Returns:**

**Reference to the input stream.**

**Stores characters from is into** *str* **until '**\

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

**References basic\_istream::getline(), and basic\_ios::widen().**

### basic\_istream\< \_CharT, \_Traits \> & getline (basic\_istream\< \_CharT, \_Traits \> & \_\_is, basic\_string\< \_CharT, \_Traits, \_Alloc \> & \_\_str, \_CharT \_\_delim)` [inline]`

**Read a line from stream into a string.**

**Parameters:**

*is* **Input stream.** \
 *str* **Buffer to store into.** \
 *delim* **Character marking end of line.**

**Returns:**

**Reference to the input stream.**

**Stores characters from** *is* **into** *str* **until** *delim* **is found, the end of the stream is encountered, or str.max\_size() is reached. If is.width() is non-zero, that is the limit on the number of characters stored into** *str***. Any previous contents of** *str* **are erased. If** *delim* **was encountered, it is extracted but not stored into** *str***.**

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

**References basic\_ios::\_M\_setstate(), ios\_base::badbit, ios\_base::eofbit, basic\_string::erase(), ios\_base::failbit, ios\_base::goodbit, basic\_string::max\_size(), basic\_ios::rdbuf(), and basic\_ios::setstate().**

**Referenced by getline().**

### bool has\_facet (const locale & \_\_loc) throw ()` [inline]`

**Test for the presence of a facet.**

**has\_facet tests the locale argument for the presence of the facet type provided as the template parameter. Facets derived from the facet parameter will also return true.**

**Parameters:**

*Facet* **The facet type to test the presence of.** \
 **locale The locale to test.**

**Returns:**

**true if locale contains a facet of type Facet, else false.**

**Definition at line 88 of file locale\_facets.tcc.**

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

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

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

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

### \_Tp std::inner\_product (\_InputIterator1 \_\_first1, \_InputIterator1 \_\_last1, \_InputIterator2 \_\_first2, \_Tp \_\_init, \_BinaryOperation1 \_\_binary\_op1, \_BinaryOperation2 \_\_binary\_op2)` [inline]`

**Compute inner product of two ranges.**

**Starting with an initial value of** *init***, applies** *binary\_op2* **to successive elements from the two ranges and accumulates each result into the accumulated value using** *binary\_op1***. The values in the ranges are processed in order.**

**Parameters:**

*first1* **Start of range 1.** \
 *last1* **End of range 1.** \
 *first2* **Start of range 2.** \
 *init* **Starting value to add other values to.** \
 *binary\_op1* **Function object to accumulate with.** \
 *binary\_op2* **Function object to apply to pairs of input values.**

**Returns:**

**The final inner product.**

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

### \_Tp std::inner\_product (\_InputIterator1 \_\_first1, \_InputIterator1 \_\_last1, \_InputIterator2 \_\_first2, \_Tp \_\_init)` [inline]`

**Compute inner product of two ranges.**

**Starting with an initial value of** *init***, multiplies successive elements from the two ranges and adds each product into the accumulated value using operator+(). The values in the ranges are processed in order.**

**Parameters:**

*first1* **Start of range 1.** \
 *last1* **End of range 1.** \
 *first2* **Start of range 2.** \
 *init* **Starting value to add other values to.**

**Returns:**

**The final inner product.**

**Definition at line 136 of file stl\_numeric.h.**

### void std::inplace\_merge (\_BidirectionalIterator \_\_first, \_BidirectionalIterator \_\_middle, \_BidirectionalIterator \_\_last, \_Compare \_\_comp)` [inline]`

**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 3651 of file stl\_algo.h.**

**References distance().**

### void std::inplace\_merge (\_BidirectionalIterator \_\_first, \_BidirectionalIterator \_\_middle, \_BidirectionalIterator \_\_last)` [inline]`

**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 3597 of file stl\_algo.h.**

**References distance().**

### 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 614 of file stl\_iterator.h.**

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

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

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

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

### bool isalnum (\_CharT \_\_c, const locale & \_\_loc)` [inline]`

**Convenience interface to ctype.is(ctype\_base::alnum, \_\_c).**

**Definition at line 4615 of file locale\_facets.h.**

### bool isalpha (\_CharT \_\_c, const locale & \_\_loc)` [inline]`

**Convenience interface to ctype.is(ctype\_base::alpha, \_\_c).**

**Definition at line 4591 of file locale\_facets.h.**

### bool iscntrl (\_CharT \_\_c, const locale & \_\_loc)` [inline]`

**Convenience interface to ctype.is(ctype\_base::cntrl, \_\_c).**

**Definition at line 4573 of file locale\_facets.h.**

### bool isdigit (\_CharT \_\_c, const locale & \_\_loc)` [inline]`

**Convenience interface to ctype.is(ctype\_base::digit, \_\_c).**

**Definition at line 4597 of file locale\_facets.h.**

### bool isgraph (\_CharT \_\_c, const locale & \_\_loc)` [inline]`

**Convenience interface to ctype.is(ctype\_base::graph, \_\_c).**

**Definition at line 4621 of file locale\_facets.h.**

### bool islower (\_CharT \_\_c, const locale & \_\_loc)` [inline]`

**Convenience interface to ctype.is(ctype\_base::lower, \_\_c).**

**Definition at line 4585 of file locale\_facets.h.**

### bool isprint (\_CharT \_\_c, const locale & \_\_loc)` [inline]`

**Convenience interface to ctype.is(ctype\_base::print, \_\_c).**

**Definition at line 4567 of file locale\_facets.h.**

### bool ispunct (\_CharT \_\_c, const locale & \_\_loc)` [inline]`

**Convenience interface to ctype.is(ctype\_base::punct, \_\_c).**

**Definition at line 4603 of file locale\_facets.h.**

### bool isspace (\_CharT \_\_c, const locale & \_\_loc)` [inline]`

**Convenience interface to ctype.is(ctype\_base::space, \_\_c).**

**Definition at line 4561 of file locale\_facets.h.**

### bool isupper (\_CharT \_\_c, const locale & \_\_loc)` [inline]`

**Convenience interface to ctype.is(ctype\_base::upper, \_\_c).**

**Definition at line 4579 of file locale\_facets.h.**

### bool isxdigit (\_CharT \_\_c, const locale & \_\_loc)` [inline]`

**Convenience interface to ctype.is(ctype\_base::xdigit, \_\_c).**

**Definition at line 4609 of file locale\_facets.h.**

### void std::iter\_swap (\_ForwardIterator1 \_\_a, \_ForwardIterator2 \_\_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 142 of file stl\_algobase.h.**

**Referenced by 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 909 of file ios\_base.h.**

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

### bool std::lexicographical\_compare (\_InputIterator1 \_\_first1, \_InputIterator1 \_\_last1, \_InputIterator2 \_\_first2, \_InputIterator2 \_\_last2, \_Compare \_\_comp)` [inline]`

**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 853 of file stl\_algobase.h.**

### bool std::lexicographical\_compare (\_InputIterator1 \_\_first1, \_InputIterator1 \_\_last1, \_InputIterator2 \_\_first2, \_InputIterator2 \_\_last2)` [inline]`

**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 812 of file stl\_algobase.h.**

**Referenced by operator\<().**

### void std::make\_heap (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last, \_Compare \_\_comp)` [inline]`

**Construct a heap over a range using comparison functor.**

**Parameters:**

*first* **Start of heap.** \
 *last* **End of heap.** \
 *comp* **Comparison functor to use.**

**This operation makes the elements in \[first,last) into a heap. Comparisons are made using comp.**

**Definition at line 384 of file stl\_heap.h.**

### void std::make\_heap (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last)` [inline]`

**Construct a heap over a range.**

**Parameters:**

*first* **Start of heap.** \
 *last* **End of heap.**

**This operation makes the elements in \[first,last) into a heap.**

**Definition at line 344 of file stl\_heap.h.**

**Referenced by partial\_sort(), partial\_sort\_copy(), and priority\_queue::priority\_queue().**

### pair\<\_T1, \_T2\> std::make\_pair (\_T1 \_\_x, \_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 144 of file stl\_pair.h.**

### const \_Tp& std::max (const \_Tp & \_\_a, const \_Tp & \_\_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 248 of file stl\_algobase.h.**

**Referenced by basic\_istream::ignore(), and operator\>\>().**

### const \_Tp& std::max (const \_Tp & \_\_a, const \_Tp & \_\_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 206 of file stl\_algobase.h.**

**Referenced by basic\_stringbuf::overflow().**

### \_ForwardIterator std::max\_element (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, \_Compare \_\_comp)` [inline]`

**Return the maximum element in a range using comparison functor.**

**Parameters:**

*first* **Start of range.** \
 *last* **End of range.** \
 *comp* **Comparison functor.**

**Returns:**

**Iterator referencing the first instance of the largest value according to comp.**

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

### \_ForwardIterator std::max\_element (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last)` [inline]`

**Return the maximum element in a range.**

**Parameters:**

*first* **Start of range.** \
 *last* **End of range.**

**Returns:**

**Iterator referencing the first instance of the largest value.**

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

**Referenced by valarray::max().**

### \_OutputIterator std::merge (\_InputIterator1 \_\_first1, \_InputIterator1 \_\_last1, \_InputIterator2 \_\_first2, \_InputIterator2 \_\_last2, \_OutputIterator \_\_result, \_Compare \_\_comp)` [inline]`

**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 3178 of file stl\_algo.h.**

**References copy().**

### \_OutputIterator std::merge (\_InputIterator1 \_\_first1, \_InputIterator1 \_\_last1, \_InputIterator2 \_\_first2, \_InputIterator2 \_\_last2, \_OutputIterator \_\_result)` [inline]`

**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 3120 of file stl\_algo.h.**

**References copy().**

### const \_Tp& std::min (const \_Tp & \_\_a, const \_Tp & \_\_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 228 of file stl\_algobase.h.**

**Referenced by basic\_istream::ignore(), and \_\_gnu\_cxx::random\_sample\_n().**

### const \_Tp& std::min (const \_Tp & \_\_a, const \_Tp & \_\_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 184 of file stl\_algobase.h.**

**Referenced by \_\_versa\_string::compare(), basic\_string::compare(), basic\_string\< char \>::compare(), basic\_stringbuf::overflow(), basic\_istream::readsome(), \_\_versa\_string::rfind(), basic\_string::rfind(), basic\_filebuf::underflow(), basic\_streambuf::xsgetn(), basic\_streambuf::xsputn(), and basic\_filebuf::xsputn().**

### \_ForwardIterator std::min\_element (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, \_Compare \_\_comp)` [inline]`

**Return the minimum element in a range using comparison functor.**

**Parameters:**

*first* **Start of range.** \
 *last* **End of range.** \
 *comp* **Comparison functor.**

**Returns:**

**Iterator referencing the first instance of the smallest value according to comp.**

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

### \_ForwardIterator std::min\_element (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last)` [inline]`

**Return the minimum element in a range.**

**Parameters:**

*first* **Start of range.** \
 *last* **End of range.**

**Returns:**

**Iterator referencing the first instance of the smallest value.**

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

**Referenced by valarray::min().**

### pair\<\_InputIterator1, \_InputIterator2\> std::mismatch (\_InputIterator1 \_\_first1, \_InputIterator1 \_\_last1, \_InputIterator2 \_\_first2, \_BinaryPredicate \_\_binary\_pred)` [inline]`

**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 719 of file stl\_algobase.h.**

### pair\<\_InputIterator1, \_InputIterator2\> std::mismatch (\_InputIterator1 \_\_first1, \_InputIterator1 \_\_last1, \_InputIterator2 \_\_first2)` [inline]`

**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 683 of file stl\_algobase.h.**

### bool std::next\_permutation (\_BidirectionalIterator \_\_first, \_BidirectionalIterator \_\_last, \_Compare \_\_comp)` [inline]`

**Permute range into the next 'dictionary' ordering using comparison functor.**

**Parameters:**

*first* **Start of range.** \
 *last* **End of range.** \
 *comp*

**Returns:**

**False if wrapped to first permutation, true otherwise.**

**Treats all permutations of the range \[first,last) as a set of 'dictionary' sorted sequences ordered by** *comp***. Permutes the current sequence into the next one of this set. Returns true if there are more sequences to generate. If the sequence is the largest of the set, the smallest is generated and false returned.**

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

**References iter\_swap(), and reverse().**

### bool std::next\_permutation (\_BidirectionalIterator \_\_first, \_BidirectionalIterator \_\_last)` [inline]`

**Permute range into the next 'dictionary' ordering.**

**Parameters:**

*first* **Start of range.** \
 *last* **End of range.**

**Returns:**

**False if wrapped to first permutation, true otherwise.**

**Treats all permutations of the range as a set of 'dictionary' sorted sequences. Permutes the current sequence into the next one of this set. Returns true if there are more sequences to generate. If the sequence is the largest of the set, the smallest is generated and false returned.**

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

**References iter\_swap(), and reverse().**

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

### void std::nth\_element (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_nth, \_RandomAccessIterator \_\_last, \_Compare \_\_comp)` [inline]`

**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 3893 of file stl\_algo.h.**

**References \_\_median().**

### void std::nth\_element (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_nth, \_RandomAccessIterator \_\_last)` [inline]`

**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 3842 of file stl\_algo.h.**

**References \_\_median().**

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

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

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

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

### 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 1191 of file bitset.**

### bool std::operator!= (const istream\_iterator\< \_Tp, \_CharT, \_Traits, \_Dist \> & \_\_x, const istream\_iterator\< \_Tp, \_CharT, \_Traits, \_Dist \> & \_\_y)` [inline]`

**Return false if x and y are both end or not end, or x and y are the same.**

**Definition at line 135 of file stream\_iterator.h.**

**References istream\_iterator::\_M\_equal().**

### bool std::operator!= (const vector\< \_Tp, \_Alloc \> & \_\_x, const vector\< \_Tp, \_Alloc \> & \_\_y)` [inline]`

**Based on operator==.**

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

### bool std::operator!= (const stack\< \_Tp, \_Seq \> & \_\_x, const stack\< \_Tp, \_Seq \> & \_\_y)` [inline]`

**Based on operator==.**

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

### bool std::operator!= (const set\< \_Key, \_Compare, \_Alloc \> & \_\_x, const set\< \_Key, \_Compare, \_Alloc \> & \_\_y)` [inline]`

**Returns !(x == y).**

**Definition at line 559 of file stl\_set.h.**

### bool std::operator!= (const queue\< \_Tp, \_Sequence \> & \_\_x, const queue\< \_Tp, \_Sequence \> & \_\_y)` [inline]`

**Based on operator==.**

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

### bool std::operator!= (const pair\< \_T1, \_T2 \> & \_\_x, const pair\< \_T1, \_T2 \> & \_\_y)` [inline]`

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

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

### bool std::operator!= (const multiset\< \_Key, \_Compare, \_Alloc \> & \_\_x, const multiset\< \_Key, \_Compare, \_Alloc \> & \_\_y)` [inline]`

**Returns !(x == y).**

**Definition at line 546 of file stl\_multiset.h.**

### bool std::operator!= (const multimap\< \_Key, \_Tp, \_Compare, \_Alloc \> & \_\_x, const multimap\< \_Key, \_Tp, \_Compare, \_Alloc \> & \_\_y)` [inline]`

**Based on operator==.**

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

### bool std::operator!= (const map\< \_Key, \_Tp, \_Compare, \_Alloc \> & \_\_x, const map\< \_Key, \_Tp, \_Compare, \_Alloc \> & \_\_y)` [inline]`

**Based on operator==.**

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

### bool std::operator!= (const list\< \_Tp, \_Alloc \> & \_\_x, const list\< \_Tp, \_Alloc \> & \_\_y)` [inline]`

**Based on operator==.**

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

### bool std::operator!= (const reverse\_iterator\< \_IteratorL \> & \_\_x, const reverse\_iterator\< \_IteratorR \> & \_\_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 342 of file stl\_iterator.h.**

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

### bool std::operator!= (const deque\< \_Tp, \_Alloc \> & \_\_x, const deque\< \_Tp, \_Alloc \> & \_\_y)` [inline]`

**Based on operator==.**

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

### bool std::operator!= (const basic\_string\< \_CharT, \_Traits, \_Alloc \> & \_\_lhs, const \_CharT \* \_\_rhs)` [inline]`

**Test difference of string and C string.**

**Parameters:**

*lhs* **String.** \
 *rhs* **C string.**

**Returns:**

**True if** *lhs.compare***(***rhs***) != 0. False otherwise.**

**Definition at line 2198 of file basic\_string.h.**

**References basic\_string::compare().**

### bool std::operator!= (const \_CharT \* \_\_lhs, const basic\_string\< \_CharT, \_Traits, \_Alloc \> & \_\_rhs)` [inline]`

**Test difference of C string and string.**

**Parameters:**

*lhs* **C string.** \
 *rhs* **String.**

**Returns:**

**True if** *rhs.compare***(***lhs***) != 0. False otherwise.**

**Definition at line 2186 of file basic\_string.h.**

**References basic\_string::compare().**

### bool std::operator!= (const basic\_string\< \_CharT, \_Traits, \_Alloc \> & \_\_lhs, const basic\_string\< \_CharT, \_Traits, \_Alloc \> & \_\_rhs)` [inline]`

**Test difference of two strings.**

**Parameters:**

*lhs* **First string.** \
 *rhs* **Second string.**

**Returns:**

**True if** *lhs.compare***(***rhs***) != 0. False otherwise.**

**Definition at line 2174 of file basic\_string.h.**

**References basic\_string::compare().**

### 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 322 of file stl\_iterator.h.**

**References reverse\_iterator::base().**

### basic\_string\<\_CharT, \_Traits, \_Alloc\> std::operator+ (const basic\_string\< \_CharT, \_Traits, \_Alloc \> & \_\_lhs, \_CharT \_\_rhs)` [inline]`

**Concatenate string and character.**

**Parameters:**

*lhs* **First string.** \
 *rhs* **Last string.**

**Returns:**

**New string with** *lhs* **followed by** *rhs***.**

**Definition at line 2119 of file basic\_string.h.**

### basic\_string\<\_CharT, \_Traits, \_Alloc\> std::operator+ (const basic\_string\< \_CharT, \_Traits, \_Alloc \> & \_\_lhs, const \_CharT \* \_\_rhs)` [inline]`

**Concatenate string and C string.**

**Parameters:**

*lhs* **First string.** \
 *rhs* **Last string.**

**Returns:**

**New string with** *lhs* **followed by** *rhs***.**

**Definition at line 2103 of file basic\_string.h.**

**References basic\_string::append().**

### basic\_string\< \_CharT, \_Traits, \_Alloc \> operator+ (\_CharT \_\_lhs, const basic\_string\< \_CharT, \_Traits, \_Alloc \> & \_\_rhs)` [inline]`

**Concatenate character and string.**

**Parameters:**

*lhs* **First string.** \
 *rhs* **Last string.**

**Returns:**

**New string with** *lhs* **followed by** *rhs***.**

**Definition at line 689 of file basic\_string.tcc.**

**References basic\_string::size().**

### basic\_string\< \_CharT, \_Traits, \_Alloc \> operator+ (const \_CharT \* \_\_lhs, const basic\_string\< \_CharT, \_Traits, \_Alloc \> & \_\_rhs)` [inline]`

**Concatenate C string and string.**

**Parameters:**

*lhs* **First string.** \
 *rhs* **Last string.**

**Returns:**

**New string with value of** *lhs* **followed by** *rhs***.**

**Definition at line 673 of file basic\_string.tcc.**

**References basic\_string::size().**

### basic\_string\<\_CharT, \_Traits, \_Alloc\> std::operator+ (const basic\_string\< \_CharT, \_Traits, \_Alloc \> & \_\_lhs, const basic\_string\< \_CharT, \_Traits, \_Alloc \> & \_\_rhs)` [inline]`

**Concatenate two strings.**

**Parameters:**

*lhs* **First string.** \
 *rhs* **Last string.**

**Returns:**

**New string with value of** *lhs* **followed by** *rhs***.**

**Definition at line 2066 of file basic\_string.h.**

**References basic\_string::append().**

### reverse\_iterator\<\_IteratorL\>::difference\_type std::operator- (const reverse\_iterator\< \_IteratorL \> & \_\_x, const reverse\_iterator\< \_IteratorR \> & \_\_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 366 of file stl\_iterator.h.**

**References reverse\_iterator::base().**

### 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 316 of file stl\_iterator.h.**

**References reverse\_iterator::base().**

### bool std::operator\< (const vector\< \_Tp, \_Alloc \> & \_\_x, const vector\< \_Tp, \_Alloc \> & \_\_y)` [inline]`

**Vector ordering relation.**

**Parameters:**

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

**Returns:**

**True iff** *x* **is lexicographically 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::lexicographical\_compare() for how the determination is made.**

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

**References lexicographical\_compare().**

### bool operator\< (const stack\< \_Tp, \_Seq \> & \_\_x, const stack\< \_Tp, \_Seq \> & \_\_y)` [inline]`

**Stack ordering relation.**

**Parameters:**

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

**Returns:**

**True iff** *x* **is lexicographically 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::lexicographical\_compare() is usually used to make the determination.**

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

### bool operator\< (const set\< \_Key, \_Compare, \_Alloc \> & \_\_x, const set\< \_Key, \_Compare, \_Alloc \> & \_\_y)` [inline]`

**Set ordering relation.**

**Parameters:**

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

**Returns:**

**True iff** *x* **is lexicographically 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::lexicographical\_compare() for how the determination is made.**

**Definition at line 552 of file stl\_set.h.**

### bool std::operator\< (const queue\< \_Tp, \_Sequence \> & \_\_x, const queue\< \_Tp, \_Sequence \> & \_\_y)` [inline]`

**Queue ordering relation.**

**Parameters:**

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

**Returns:**

**True iff** *x* **is lexicographically 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::lexicographical\_compare() is usually used to make the determination.**

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

### 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 102 of file stl\_pair.h.**

### bool operator\< (const multiset\< \_Key, \_Compare, \_Alloc \> & \_\_x, const multiset\< \_Key, \_Compare, \_Alloc \> & \_\_y)` [inline]`

**Multiset ordering relation.**

**Parameters:**

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

**Returns:**

**True iff** *x* **is lexicographically 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::lexicographical\_compare() for how the determination is made.**

**Definition at line 539 of file stl\_multiset.h.**

### bool operator\< (const multimap\< \_Key, \_Tp, \_Compare, \_Alloc \> & \_\_x, const multimap\< \_Key, \_Tp, \_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 lexicographically 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::lexicographical\_compare() for how the determination is made.**

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

### bool std::operator\< (const map\< \_Key, \_Tp, \_Compare, \_Alloc \> & \_\_x, const map\< \_Key, \_Tp, \_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 lexicographically 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::lexicographical\_compare() for how the determination is made.**

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

### bool std::operator\< (const list\< \_Tp, \_Alloc \> & \_\_x, const list\< \_Tp, \_Alloc \> & \_\_y)` [inline]`

**List ordering relation.**

**Parameters:**

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

**Returns:**

**True iff** *x* **is lexicographically 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::lexicographical\_compare() for how the determination is made.**

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

**References lexicographical\_compare().**

### bool std::operator\< (const reverse\_iterator\< \_IteratorL \> & \_\_x, const reverse\_iterator\< \_IteratorR \> & \_\_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 336 of file stl\_iterator.h.**

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

### bool std::operator\< (const deque\< \_Tp, \_Alloc \> & \_\_x, const deque\< \_Tp, \_Alloc \> & \_\_y)` [inline]`

**Deque ordering relation.**

**Parameters:**

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

**Returns:**

**True iff** *x* **is lexicographically 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::lexicographical\_compare() for how the determination is made.**

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

**References lexicographical\_compare().**

### bool std::operator\< (const \_CharT \* \_\_lhs, const basic\_string\< \_CharT, \_Traits, \_Alloc \> & \_\_rhs)` [inline]`

**Test if C string precedes string.**

**Parameters:**

*lhs* **C string.** \
 *rhs* **String.**

**Returns:**

**True if** *lhs* **precedes** *rhs***. False otherwise.**

**Definition at line 2235 of file basic\_string.h.**

**References basic\_string::compare().**

### bool std::operator\< (const basic\_string\< \_CharT, \_Traits, \_Alloc \> & \_\_lhs, const \_CharT \* \_\_rhs)` [inline]`

**Test if string precedes C string.**

**Parameters:**

*lhs* **String.** \
 *rhs* **C string.**

**Returns:**

**True if** *lhs* **precedes** *rhs***. False otherwise.**

**Definition at line 2223 of file basic\_string.h.**

### bool std::operator\< (const basic\_string\< \_CharT, \_Traits, \_Alloc \> & \_\_lhs, const basic\_string\< \_CharT, \_Traits, \_Alloc \> & \_\_rhs)` [inline]`

**Test if string precedes string.**

**Parameters:**

*lhs* **First string.** \
 *rhs* **Second string.**

**Returns:**

**True if** *lhs* **precedes** *rhs***. False otherwise.**

**Definition at line 2211 of file basic\_string.h.**

### basic\_ostream\<char, \_Traits\>& std::operator\<\< (basic\_ostream\< char, \_Traits \> & \_\_out, const unsigned char \* \_\_s)` [inline]`

**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 483 of file ostream.**

### basic\_ostream\<char, \_Traits\>& std::operator\<\< (basic\_ostream\< char, \_Traits \> & \_\_out, const signed char \* \_\_s)` [inline]`

**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 478 of file ostream.**

### basic\_ostream\<char, \_Traits\>& std::operator\<\< (basic\_ostream\< char, \_Traits \> & \_\_out, unsigned char \_\_c)` [inline]`

**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 444 of file ostream.**

### basic\_ostream\<char, \_Traits\>& std::operator\<\< (basic\_ostream\< char, \_Traits \> & \_\_out, signed char \_\_c)` [inline]`

**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 439 of file ostream.**

### basic\_ostream\<\_CharT, \_Traits\>& std::operator\<\< (basic\_ostream\< \_CharT, \_Traits \> & \_\_out, char \_\_c)` [inline]`

**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 428 of file ostream.**

### std::basic\_ostream\<\_CharT, \_Traits\>& std::operator\<\< (std::basic\_ostream\< \_CharT, \_Traits \> & \_\_os, const bitset\< \_Nb \> & \_\_x)` [inline]`

**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 1286 of file bitset.**

### basic\_ostream\< \_CharT, \_Traits \> & operator\<\< (basic\_ostream\< \_CharT, \_Traits \> & \_\_os, const \_\_gnu\_cxx::\_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \> & \_\_str)` [inline]`

**Write string to a stream.**

**Parameters:**

*os* **Output stream.** \
 *str* **String to write out.**

**Returns:**

**Reference to the output stream.**

**Output characters of** *str* **into os following the same rules as for writing a C string.**

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

### basic\_ostream\< char, \_Traits \> & operator\<\< (basic\_ostream\< char, \_Traits \> & \_\_out, const char \* \_\_s)` [inline]`

**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 735 of file ostream.tcc.**

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

### basic\_ostream\< \_CharT, \_Traits \> & operator\<\< (basic\_ostream\< \_CharT, \_Traits \> & \_\_out, const char \* \_\_s)` [inline]`

**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 690 of file ostream.tcc.**

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

### basic\_ostream\< \_CharT, \_Traits \> & operator\<\< (basic\_ostream\< \_CharT, \_Traits \> & \_\_out, const \_CharT \* \_\_s)` [inline]`

**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 657 of file ostream.tcc.**

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

### basic\_ostream\< char, \_Traits \> & operator\<\< (basic\_ostream\< char, \_Traits \> & \_\_out, char \_\_c)` [inline]`

**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 628 of file ostream.tcc.**

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

### basic\_ostream\< \_CharT, \_Traits \> & operator\<\< (basic\_ostream\< \_CharT, \_Traits \> & \_\_out, \_CharT \_\_c)` [inline]`

**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 597 of file ostream.tcc.**

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

### basic\_ostream\< \_CharT, \_Traits \> & operator\<\< (basic\_ostream\< \_CharT, \_Traits \> & \_\_os, const basic\_string\< \_CharT, \_Traits, \_Alloc \> & \_\_str)` [inline]`

**Write string to a stream.**

**Parameters:**

*os* **Output stream.** \
 *str* **String to write out.**

**Returns:**

**Reference to the output stream.**

**Output characters of** *str* **into os following the same rules as for writing a C string.**

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

### bool std::operator\<= (const vector\< \_Tp, \_Alloc \> & \_\_x, const vector\< \_Tp, \_Alloc \> & \_\_y)` [inline]`

**Based on operator\<.**

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

### bool std::operator\<= (const stack\< \_Tp, \_Seq \> & \_\_x, const stack\< \_Tp, \_Seq \> & \_\_y)` [inline]`

**Based on operator\<.**

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

### bool std::operator\<= (const set\< \_Key, \_Compare, \_Alloc \> & \_\_x, const set\< \_Key, \_Compare, \_Alloc \> & \_\_y)` [inline]`

**Returns !(y \< x).**

**Definition at line 573 of file stl\_set.h.**

### bool std::operator\<= (const queue\< \_Tp, \_Sequence \> & \_\_x, const queue\< \_Tp, \_Sequence \> & \_\_y)` [inline]`

**Based on operator\<.**

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

### bool std::operator\<= (const pair\< \_T1, \_T2 \> & \_\_x, const pair\< \_T1, \_T2 \> & \_\_y)` [inline]`

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

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

### bool std::operator\<= (const multiset\< \_Key, \_Compare, \_Alloc \> & \_\_x, const multiset\< \_Key, \_Compare, \_Alloc \> & \_\_y)` [inline]`

**Returns !(y \< x).**

**Definition at line 560 of file stl\_multiset.h.**

### bool std::operator\<= (const multimap\< \_Key, \_Tp, \_Compare, \_Alloc \> & \_\_x, const multimap\< \_Key, \_Tp, \_Compare, \_Alloc \> & \_\_y)` [inline]`

**Based on operator\<.**

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

### bool std::operator\<= (const map\< \_Key, \_Tp, \_Compare, \_Alloc \> & \_\_x, const map\< \_Key, \_Tp, \_Compare, \_Alloc \> & \_\_y)` [inline]`

**Based on operator\<.**

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

### bool std::operator\<= (const list\< \_Tp, \_Alloc \> & \_\_x, const list\< \_Tp, \_Alloc \> & \_\_y)` [inline]`

**Based on operator\<.**

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

### bool std::operator\<= (const reverse\_iterator\< \_IteratorL \> & \_\_x, const reverse\_iterator\< \_IteratorR \> & \_\_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 354 of file stl\_iterator.h.**

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

### bool std::operator\<= (const deque\< \_Tp, \_Alloc \> & \_\_x, const deque\< \_Tp, \_Alloc \> & \_\_y)` [inline]`

**Based on operator\<.**

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

### bool std::operator\<= (const \_CharT \* \_\_lhs, const basic\_string\< \_CharT, \_Traits, \_Alloc \> & \_\_rhs)` [inline]`

**Test if C string doesn't follow string.**

**Parameters:**

*lhs* **C string.** \
 *rhs* **String.**

**Returns:**

**True if** *lhs* **doesn't follow** *rhs***. False otherwise.**

**Definition at line 2309 of file basic\_string.h.**

**References basic\_string::compare().**

### bool std::operator\<= (const basic\_string\< \_CharT, \_Traits, \_Alloc \> & \_\_lhs, const \_CharT \* \_\_rhs)` [inline]`

**Test if string doesn't follow C string.**

**Parameters:**

*lhs* **String.** \
 *rhs* **C string.**

**Returns:**

**True if** *lhs* **doesn't follow** *rhs***. False otherwise.**

**Definition at line 2297 of file basic\_string.h.**

### bool std::operator\<= (const basic\_string\< \_CharT, \_Traits, \_Alloc \> & \_\_lhs, const basic\_string\< \_CharT, \_Traits, \_Alloc \> & \_\_rhs)` [inline]`

**Test if string doesn't follow string.**

**Parameters:**

*lhs* **First string.** \
 *rhs* **Second string.**

**Returns:**

**True if** *lhs* **doesn't follow** *rhs***. False otherwise.**

**Definition at line 2285 of file basic\_string.h.**

### bool std::operator== (const istream\_iterator\< \_Tp, \_CharT, \_Traits, \_Dist \> & \_\_x, const istream\_iterator\< \_Tp, \_CharT, \_Traits, \_Dist \> & \_\_y)` [inline]`

**Return true if x and y are both end or not end, or x and y are the same.**

**Definition at line 128 of file stream\_iterator.h.**

**References istream\_iterator::\_M\_equal().**

### bool std::operator== (const vector\< \_Tp, \_Alloc \> & \_\_x, const vector\< \_Tp, \_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 932 of file stl\_vector.h.**

**References vector::begin(), vector::end(), equal(), and vector::size().**

### bool operator== (const stack\< \_Tp, \_Seq \> & \_\_x, const stack\< \_Tp, \_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 226 of file stl\_stack.h.**

**References stack::c.**

### bool operator== (const set\< \_Key, \_Compare, \_Alloc \> & \_\_x, const set\< \_Key, \_Compare, \_Alloc \> & \_\_y)` [inline]`

**Set equality comparison.**

**Parameters:**

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

**Returns:**

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

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

**Definition at line 535 of file stl\_set.h.**

**References set::\_M\_t.**

### bool std::operator== (const queue\< \_Tp, \_Sequence \> & \_\_x, const queue\< \_Tp, \_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 250 of file stl\_queue.h.**

**References queue::c.**

### 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 96 of file stl\_pair.h.**

**References pair::first, and pair::second.**

### bool operator== (const multiset\< \_Key, \_Compare, \_Alloc \> & \_\_x, const multiset\< \_Key, \_Compare, \_Alloc \> & \_\_y)` [inline]`

**Multiset equality comparison.**

**Parameters:**

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

**Returns:**

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

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

**Definition at line 522 of file stl\_multiset.h.**

**References multiset::\_M\_t.**

### bool operator== (const multimap\< \_Key, \_Tp, \_Compare, \_Alloc \> & \_\_x, const multimap\< \_Key, \_Tp, \_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 627 of file stl\_multimap.h.**

**References multimap::\_M\_t.**

### bool std::operator== (const map\< \_Key, \_Tp, \_Compare, \_Alloc \> & \_\_x, const map\< \_Key, \_Tp, \_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 674 of file stl\_map.h.**

**References map::\_M\_t.**

### bool std::operator== (const list\< \_Tp, \_Alloc \> & \_\_x, const list\< \_Tp, \_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 1166 of file stl\_list.h.**

**References list::begin(), and list::end().**

### bool std::operator== (const reverse\_iterator\< \_IteratorL \> & \_\_x, const reverse\_iterator\< \_IteratorR \> & \_\_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 330 of file stl\_iterator.h.**

**References reverse\_iterator::base().**

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

**References reverse\_iterator::base().**

### bool std::operator== (const deque\< \_Tp, \_Alloc \> & \_\_x, const deque\< \_Tp, \_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 1473 of file stl\_deque.h.**

**References deque::begin(), deque::end(), equal(), and deque::size().**

### bool std::operator== (const basic\_string\< \_CharT, \_Traits, \_Alloc \> & \_\_lhs, const \_CharT \* \_\_rhs)` [inline]`

**Test equivalence of string and C string.**

**Parameters:**

*lhs* **String.** \
 *rhs* **C string.**

**Returns:**

**True if** *lhs.compare***(***rhs***) == 0. False otherwise.**

**Definition at line 2161 of file basic\_string.h.**

**References basic\_string::compare().**

### bool std::operator== (const \_CharT \* \_\_lhs, const basic\_string\< \_CharT, \_Traits, \_Alloc \> & \_\_rhs)` [inline]`

**Test equivalence of C string and string.**

**Parameters:**

*lhs* **C string.** \
 *rhs* **String.**

**Returns:**

**True if** *rhs.compare***(***lhs***) == 0. False otherwise.**

**Definition at line 2149 of file basic\_string.h.**

**References basic\_string::compare().**

### bool std::operator== (const basic\_string\< \_CharT, \_Traits, \_Alloc \> & \_\_lhs, const basic\_string\< \_CharT, \_Traits, \_Alloc \> & \_\_rhs)` [inline]`

**Test equivalence of two strings.**

**Parameters:**

*lhs* **First string.** \
 *rhs* **Second string.**

**Returns:**

**True if** *lhs.compare***(***rhs***) == 0. False otherwise.**

**Definition at line 2137 of file basic\_string.h.**

**References basic\_string::compare().**

### bool std::operator\> (const vector\< \_Tp, \_Alloc \> & \_\_x, const vector\< \_Tp, \_Alloc \> & \_\_y)` [inline]`

**Based on operator\<.**

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

**References operator\>().**

### bool std::operator\> (const stack\< \_Tp, \_Seq \> & \_\_x, const stack\< \_Tp, \_Seq \> & \_\_y)` [inline]`

**Based on operator\<.**

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

### bool std::operator\> (const set\< \_Key, \_Compare, \_Alloc \> & \_\_x, const set\< \_Key, \_Compare, \_Alloc \> & \_\_y)` [inline]`

**Returns y \< x.**

**Definition at line 566 of file stl\_set.h.**

**References operator\>().**

### bool std::operator\> (const queue\< \_Tp, \_Sequence \> & \_\_x, const queue\< \_Tp, \_Sequence \> & \_\_y)` [inline]`

**Based on operator\<.**

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

### bool std::operator\> (const pair\< \_T1, \_T2 \> & \_\_x, const pair\< \_T1, \_T2 \> & \_\_y)` [inline]`

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

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

### bool std::operator\> (const multiset\< \_Key, \_Compare, \_Alloc \> & \_\_x, const multiset\< \_Key, \_Compare, \_Alloc \> & \_\_y)` [inline]`

**Returns y \< x.**

**Definition at line 553 of file stl\_multiset.h.**

**References operator\>().**

### bool std::operator\> (const multimap\< \_Key, \_Tp, \_Compare, \_Alloc \> & \_\_x, const multimap\< \_Key, \_Tp, \_Compare, \_Alloc \> & \_\_y)` [inline]`

**Based on operator\<.**

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

**References operator\>().**

### bool std::operator\> (const map\< \_Key, \_Tp, \_Compare, \_Alloc \> & \_\_x, const map\< \_Key, \_Tp, \_Compare, \_Alloc \> & \_\_y)` [inline]`

**Based on operator\<.**

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

**References operator\>().**

### bool std::operator\> (const list\< \_Tp, \_Alloc \> & \_\_x, const list\< \_Tp, \_Alloc \> & \_\_y)` [inline]`

**Based on operator\<.**

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

**References operator\>().**

### bool std::operator\> (const reverse\_iterator\< \_IteratorL \> & \_\_x, const reverse\_iterator\< \_IteratorR \> & \_\_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 348 of file stl\_iterator.h.**

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

### bool std::operator\> (const deque\< \_Tp, \_Alloc \> & \_\_x, const deque\< \_Tp, \_Alloc \> & \_\_y)` [inline]`

**Based on operator\<.**

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

### bool std::operator\> (const \_CharT \* \_\_lhs, const basic\_string\< \_CharT, \_Traits, \_Alloc \> & \_\_rhs)` [inline]`

**Test if C string follows string.**

**Parameters:**

*lhs* **C string.** \
 *rhs* **String.**

**Returns:**

**True if** *lhs* **follows** *rhs***. False otherwise.**

**Definition at line 2272 of file basic\_string.h.**

**References basic\_string::compare().**

### bool std::operator\> (const basic\_string\< \_CharT, \_Traits, \_Alloc \> & \_\_lhs, const \_CharT \* \_\_rhs)` [inline]`

**Test if string follows C string.**

**Parameters:**

*lhs* **String.** \
 *rhs* **C string.**

**Returns:**

**True if** *lhs* **follows** *rhs***. False otherwise.**

**Definition at line 2260 of file basic\_string.h.**

**References basic\_string::compare().**

### bool std::operator\> (const basic\_string\< \_CharT, \_Traits, \_Alloc \> & \_\_lhs, const basic\_string\< \_CharT, \_Traits, \_Alloc \> & \_\_rhs)` [inline]`

**Test if string follows string.**

**Parameters:**

*lhs* **First string.** \
 *rhs* **Second string.**

**Returns:**

**True if** *lhs* **follows** *rhs***. False otherwise.**

**Definition at line 2248 of file basic\_string.h.**

**References basic\_string::compare().**

**Referenced by operator\>().**

### bool std::operator\>= (const vector\< \_Tp, \_Alloc \> & \_\_x, const vector\< \_Tp, \_Alloc \> & \_\_y)` [inline]`

**Based on operator\<.**

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

**References operator\>=().**

### bool std::operator\>= (const stack\< \_Tp, \_Seq \> & \_\_x, const stack\< \_Tp, \_Seq \> & \_\_y)` [inline]`

**Based on operator\<.**

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

### bool std::operator\>= (const set\< \_Key, \_Compare, \_Alloc \> & \_\_x, const set\< \_Key, \_Compare, \_Alloc \> & \_\_y)` [inline]`

**Returns !(x \< y).**

**Definition at line 580 of file stl\_set.h.**

**References operator\>=().**

### bool std::operator\>= (const queue\< \_Tp, \_Sequence \> & \_\_x, const queue\< \_Tp, \_Sequence \> & \_\_y)` [inline]`

**Based on operator\<.**

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

### bool std::operator\>= (const pair\< \_T1, \_T2 \> & \_\_x, const pair\< \_T1, \_T2 \> & \_\_y)` [inline]`

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

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

### bool std::operator\>= (const multiset\< \_Key, \_Compare, \_Alloc \> & \_\_x, const multiset\< \_Key, \_Compare, \_Alloc \> & \_\_y)` [inline]`

**Returns !(x \< y).**

**Definition at line 567 of file stl\_multiset.h.**

**References operator\>=().**

### bool std::operator\>= (const multimap\< \_Key, \_Tp, \_Compare, \_Alloc \> & \_\_x, const multimap\< \_Key, \_Tp, \_Compare, \_Alloc \> & \_\_y)` [inline]`

**Based on operator\<.**

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

**References operator\>=().**

### bool std::operator\>= (const map\< \_Key, \_Tp, \_Compare, \_Alloc \> & \_\_x, const map\< \_Key, \_Tp, \_Compare, \_Alloc \> & \_\_y)` [inline]`

**Based on operator\<.**

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

**References operator\>=().**

### bool std::operator\>= (const list\< \_Tp, \_Alloc \> & \_\_x, const list\< \_Tp, \_Alloc \> & \_\_y)` [inline]`

**Based on operator\<.**

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

**References operator\>=().**

### bool std::operator\>= (const reverse\_iterator\< \_IteratorL \> & \_\_x, const reverse\_iterator\< \_IteratorR \> & \_\_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 360 of file stl\_iterator.h.**

### 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 310 of file stl\_iterator.h.**

### bool std::operator\>= (const deque\< \_Tp, \_Alloc \> & \_\_x, const deque\< \_Tp, \_Alloc \> & \_\_y)` [inline]`

**Based on operator\<.**

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

### bool std::operator\>= (const \_CharT \* \_\_lhs, const basic\_string\< \_CharT, \_Traits, \_Alloc \> & \_\_rhs)` [inline]`

**Test if C string doesn't precede string.**

**Parameters:**

*lhs* **C string.** \
 *rhs* **String.**

**Returns:**

**True if** *lhs* **doesn't precede** *rhs***. False otherwise.**

**Definition at line 2346 of file basic\_string.h.**

**References basic\_string::compare().**

### bool std::operator\>= (const basic\_string\< \_CharT, \_Traits, \_Alloc \> & \_\_lhs, const \_CharT \* \_\_rhs)` [inline]`

**Test if string doesn't precede C string.**

**Parameters:**

*lhs* **String.** \
 *rhs* **C string.**

**Returns:**

**True if** *lhs* **doesn't precede** *rhs***. False otherwise.**

**Definition at line 2334 of file basic\_string.h.**

**References basic\_string::compare().**

### bool std::operator\>= (const basic\_string\< \_CharT, \_Traits, \_Alloc \> & \_\_lhs, const basic\_string\< \_CharT, \_Traits, \_Alloc \> & \_\_rhs)` [inline]`

**Test if string doesn't precede string.**

**Parameters:**

*lhs* **First string.** \
 *rhs* **Second string.**

**Returns:**

**True if** *lhs* **doesn't precede** *rhs***. False otherwise.**

**Definition at line 2322 of file basic\_string.h.**

**References basic\_string::compare().**

**Referenced by operator\>=().**

### basic\_istream\<char, \_Traits\>& std::operator\>\> (basic\_istream\< char, \_Traits \> & \_\_in, signed char \* \_\_s)` [inline]`

**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 739 of file istream.**

### basic\_istream\<char, \_Traits\>& std::operator\>\> (basic\_istream\< char, \_Traits \> & \_\_in, unsigned char \* \_\_s)` [inline]`

**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 734 of file istream.**

### basic\_istream\<char\>& std::operator\>\> (basic\_istream\< char \> & \_\_in, char \* \_\_s)` [inline]`

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

### basic\_istream\<char, \_Traits\>& std::operator\>\> (basic\_istream\< char, \_Traits \> & \_\_in, signed char & \_\_c)` [inline]`

**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 693 of file istream.**

### basic\_istream\<char, \_Traits\>& std::operator\>\> (basic\_istream\< char, \_Traits \> & \_\_in, unsigned char & \_\_c)` [inline]`

**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 688 of file istream.**

### std::basic\_istream\<\_CharT, \_Traits\>& std::operator\>\> (std::basic\_istream\< \_CharT, \_Traits \> & \_\_is, bitset\< \_Nb \> & \_\_x)` [inline]`

**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 1228 of file bitset.**

**References bitset::\_M\_copy\_from\_string(), basic\_ios::\_M\_setstate(), ios\_base::badbit, basic\_string::empty(), ios\_base::eofbit, ios\_base::failbit, ios\_base::goodbit, basic\_string::push\_back(), basic\_ios::rdbuf(), basic\_string::reserve(), basic\_streambuf::sbumpc(), basic\_ios::setstate(), basic\_streambuf::sputbackc(), and basic\_ios::widen().**

### basic\_istream\< \_CharT, \_Traits \> & operator\>\> (basic\_istream\< \_CharT, \_Traits \> & \_\_is, \_\_gnu\_cxx::\_\_versa\_string\< \_CharT, \_Traits, \_Alloc, \_Base \> & \_\_str)` [inline]`

**Read stream into a string.**

**Parameters:**

*is* **Input stream.** \
 *str* **Buffer to store into.**

**Returns:**

**Reference to the input stream.**

**Stores characters from** *is* **into** *str* **until whitespace is found, the end of the stream is encountered, or str.max\_size() is reached. If is.width() is non-zero, that is the limit on the number of characters stored into** *str***. Any previous contents of** *str* **are erased.**

**Definition at line 546 of file vstring.tcc.**

**References basic\_ios::\_M\_setstate(), ios\_base::getloc(), basic\_ios::rdbuf(), basic\_ios::setstate(), and ios\_base::width().**

### basic\_istream\< \_CharT, \_Traits \> & operator\>\> (basic\_istream\< \_CharT, \_Traits \> & \_\_in, \_CharT \* \_\_s)` [inline]`

**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 1050 of file istream.tcc.**

**References basic\_ios::\_M\_setstate(), ios\_base::badbit, ios\_base::eofbit, ios\_base::failbit, ios\_base::getloc(), ios\_base::goodbit, max(), basic\_ios::rdbuf(), basic\_ios::setstate(), and ios\_base::width().**

### basic\_istream\< \_CharT, \_Traits \> & operator\>\> (basic\_istream\< \_CharT, \_Traits \> & \_\_in, \_CharT & \_\_c)` [inline]`

**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 1023 of file istream.tcc.**

**References basic\_ios::\_M\_setstate(), ios\_base::badbit, ios\_base::eofbit, ios\_base::failbit, ios\_base::goodbit, basic\_ios::rdbuf(), and basic\_ios::setstate().**

### basic\_istream\< \_CharT, \_Traits \> & operator\>\> (basic\_istream\< \_CharT, \_Traits \> & \_\_is, basic\_string\< \_CharT, \_Traits, \_Alloc \> & \_\_str)` [inline]`

**Read stream into a string.**

**Parameters:**

*is* **Input stream.** \
 *str* **Buffer to store into.**

**Returns:**

**Reference to the input stream.**

**Stores characters from** *is* **into** *str* **until whitespace is found, the end of the stream is encountered, or str.max\_size() is reached. If is.width() is non-zero, that is the limit on the number of characters stored into** *str***. Any previous contents of** *str* **are erased.**

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

**References basic\_ios::\_M\_setstate(), basic\_string::append(), ios\_base::badbit, ios\_base::eofbit, basic\_string::erase(), ios\_base::failbit, ios\_base::getloc(), ios\_base::goodbit, basic\_string::max\_size(), basic\_ios::rdbuf(), basic\_ios::setstate(), and ios\_base::width().**

### 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 1209 of file bitset.**

### 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 1200 of file bitset.**

### void std::partial\_sort (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_middle, \_RandomAccessIterator \_\_last, \_Compare \_\_comp)` [inline]`

**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 2459 of file stl\_algo.h.**

**References make\_heap(), and sort\_heap().**

### void std::partial\_sort (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_middle, \_RandomAccessIterator \_\_last)` [inline]`

**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 2418 of file stl\_algo.h.**

**References make\_heap(), and sort\_heap().**

### \_RandomAccessIterator std::partial\_sort\_copy (\_InputIterator \_\_first, \_InputIterator \_\_last, \_RandomAccessIterator \_\_result\_first, \_RandomAccessIterator \_\_result\_last, \_Compare \_\_comp)` [inline]`

**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 2565 of file stl\_algo.h.**

**References make\_heap(), and sort\_heap().**

### \_RandomAccessIterator std::partial\_sort\_copy (\_InputIterator \_\_first, \_InputIterator \_\_last, \_RandomAccessIterator \_\_result\_first, \_RandomAccessIterator \_\_result\_last)` [inline]`

**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 2501 of file stl\_algo.h.**

**References make\_heap(), and sort\_heap().**

### \_OutputIterator std::partial\_sum (\_InputIterator \_\_first, \_InputIterator \_\_last, \_OutputIterator \_\_result, \_BinaryOperation \_\_binary\_op)` [inline]`

**Return list of partial sums.**

**Accumulates the values in the range \[first,last) using operator+(). As each successive input value is added into the total, that partial sum is written to** *result***. Therefore, the first value in result is the first value of the input, the second value in result is the sum of the first and second input values, and so on.**

**Parameters:**

*first* **Start of input range.** \
 *last* **End of input range.** \
 *result* **Output to write sums to.**

**Returns:**

**Iterator pointing just beyond the values written to result.**

**Definition at line 239 of file stl\_numeric.h.**

### \_OutputIterator std::partial\_sum (\_InputIterator \_\_first, \_InputIterator \_\_last, \_OutputIterator \_\_result)` [inline]`

**Return list of partial sums.**

**Accumulates the values in the range \[first,last) using operator+(). As each successive input value is added into the total, that partial sum is written to** *result***. Therefore, the first value in result is the first value of the input, the second value in result is the sum of the first and second input values, and so on.**

**Parameters:**

*first* **Start of input range.** \
 *last* **End of input range.** \
 *result* **Output to write sums to.**

**Returns:**

**Iterator pointing just beyond the values written to result.**

**Definition at line 199 of file stl\_numeric.h.**

### \_ForwardIterator std::partition (\_ForwardIterator \_\_first, \_ForwardIterator \_\_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 2018 of file stl\_algo.h.**

### void std::pop\_heap (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last, \_Compare \_\_comp)` [inline]`

**Pop an element off a heap using comparison functor.**

**Parameters:**

*first* **Start of heap.** \
 *last* **End of heap.** \
 *comp* **Comparison functor to use.**

**This operation pops the top of the heap. The elements first and last-1 are swapped and \[first,last-1) is made into a heap. Comparisons are made using comp.**

**Definition at line 319 of file stl\_heap.h.**

### void std::pop\_heap (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last)` [inline]`

**Pop an element off a heap.**

**Parameters:**

*first* **Start of heap.** \
 *last* **End of heap.**

**This operation pops the top of the heap. The elements first and last-1 are swapped and \[first,last-1) is made into a heap.**

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

**Referenced by priority\_queue::pop(), and sort\_heap().**

### bool std::prev\_permutation (\_BidirectionalIterator \_\_first, \_BidirectionalIterator \_\_last, \_Compare \_\_comp)` [inline]`

**Permute range into the previous 'dictionary' ordering using comparison functor.**

**Parameters:**

*first* **Start of range.** \
 *last* **End of range.** \
 *comp*

**Returns:**

**False if wrapped to last permutation, true otherwise.**

**Treats all permutations of the range \[first,last) as a set of 'dictionary' sorted sequences ordered by** *comp***. Permutes the current sequence into the previous one of this set. Returns true if there are more sequences to generate. If the sequence is the smallest of the set, the largest is generated and false returned.**

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

**References iter\_swap(), and reverse().**

### bool std::prev\_permutation (\_BidirectionalIterator \_\_first, \_BidirectionalIterator \_\_last)` [inline]`

**Permute range into the previous 'dictionary' ordering.**

**Parameters:**

*first* **Start of range.** \
 *last* **End of range.**

**Returns:**

**False if wrapped to last permutation, true otherwise.**

**Treats all permutations of the range as a set of 'dictionary' sorted sequences. Permutes the current sequence into the previous one of this set. Returns true if there are more sequences to generate. If the sequence is the smallest of the set, the largest is generated and false returned.**

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

**References iter\_swap(), and reverse().**

### void std::push\_heap (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last, \_Compare \_\_comp)` [inline]`

**Push an element onto a heap using comparison functor.**

**Parameters:**

*first* **Start of heap.** \
 *last* **End of heap + element.** \
 *comp* **Comparison functor.**

**This operation pushes the element at last-1 onto the valid heap over the range \[first,last-1). After completion, \[first,last) is a valid heap. Compare operations are performed using comp.**

**Definition at line 189 of file stl\_heap.h.**

### void std::push\_heap (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last)` [inline]`

**Push an element onto a heap.**

**Parameters:**

*first* **Start of heap.** \
 *last* **End of heap + element.**

**This operation pushes the element at last-1 onto the valid heap over the range \[first,last-1). After completion, \[first,last) is a valid heap.**

**Definition at line 141 of file stl\_heap.h.**

**Referenced by priority\_queue::push().**

### void std::random\_shuffle (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last, \_RandomNumberGenerator & \_\_rand)` [inline]`

**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 1924 of file stl\_algo.h.**

**References iter\_swap().**

### void std::random\_shuffle (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_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 1897 of file stl\_algo.h.**

**References iter\_swap().**

### \_ForwardIterator std::remove (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, const \_Tp & \_\_value)` [inline]`

**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 1242 of file stl\_algo.h.**

**References find(), and remove\_copy().**

### \_OutputIterator std::remove\_copy (\_InputIterator \_\_first, \_InputIterator \_\_last, \_OutputIterator \_\_result, const \_Tp & \_\_value)` [inline]`

**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 1167 of file stl\_algo.h.**

**Referenced by remove().**

### \_OutputIterator std::remove\_copy\_if (\_InputIterator \_\_first, \_InputIterator \_\_last, \_OutputIterator \_\_result, \_Predicate \_\_pred)` [inline]`

**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 1204 of file stl\_algo.h.**

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

### \_ForwardIterator std::remove\_if (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, \_Predicate \_\_pred)` [inline]`

**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 1277 of file stl\_algo.h.**

**References find\_if(), and remove\_copy\_if().**

### void std::replace (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, const \_Tp & \_\_old\_value, const \_Tp & \_\_new\_value)` [inline]`

**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 980 of file stl\_algo.h.**

### \_OutputIterator std::replace\_copy (\_InputIterator \_\_first, \_InputIterator \_\_last, \_OutputIterator \_\_result, const \_Tp & \_\_old\_value, const \_Tp & \_\_new\_value)` [inline]`

**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 1044 of file stl\_algo.h.**

### \_OutputIterator std::replace\_copy\_if (\_InputIterator \_\_first, \_InputIterator \_\_last, \_OutputIterator \_\_result, \_Predicate \_\_pred, const \_Tp & \_\_new\_value)` [inline]`

**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 1081 of file stl\_algo.h.**

### void std::replace\_if (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, \_Predicate \_\_pred, const \_Tp & \_\_new\_value)` [inline]`

**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 1011 of file stl\_algo.h.**

### \_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 63 of file iomanip.**

### void std::return\_temporary\_buffer (\_Tp \* \_\_p)` [inline]`

**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 122 of file memory.**

### void std::reverse (\_BidirectionalIterator \_\_first, \_BidirectionalIterator \_\_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 1605 of file stl\_algo.h.**

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

### \_OutputIterator std::reverse\_copy (\_BidirectionalIterator \_\_first, \_BidirectionalIterator \_\_last, \_OutputIterator \_\_result)` [inline]`

**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 1631 of file stl\_algo.h.**

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

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

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

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

### void std::rotate (\_ForwardIterator \_\_first, \_ForwardIterator \_\_middle, \_ForwardIterator \_\_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 1838 of file stl\_algo.h.**

### \_OutputIterator std::rotate\_copy (\_ForwardIterator \_\_first, \_ForwardIterator \_\_middle, \_ForwardIterator \_\_last, \_OutputIterator \_\_result)` [inline]`

**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 1871 of file stl\_algo.h.**

**References copy().**

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

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

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

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

### \_ForwardIterator1 std::search (\_ForwardIterator1 \_\_first1, \_ForwardIterator1 \_\_last1, \_ForwardIterator2 \_\_first2, \_ForwardIterator2 \_\_last2, \_BinaryPredicate \_\_predicate)` [inline]`

**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 548 of file stl\_algo.h.**

### \_ForwardIterator1 std::search (\_ForwardIterator1 \_\_first1, \_ForwardIterator1 \_\_last1, \_ForwardIterator2 \_\_first2, \_ForwardIterator2 \_\_last2)` [inline]`

**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 476 of file stl\_algo.h.**

**References find().**

**Referenced by \_\_versa\_string::find(), and basic\_string::find().**

### \_ForwardIterator std::search\_n (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, \_Integer \_\_count, const \_Tp & \_\_val, \_BinaryPredicate \_\_binary\_pred)` [inline]`

**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 840 of file stl\_algo.h.**

### \_ForwardIterator std::search\_n (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, \_Integer \_\_count, const \_Tp & \_\_val)` [inline]`

**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 711 of file stl\_algo.h.**

**References 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 132 of file iomanip.**

### \_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 174 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 97 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 208 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 242 of file iomanip.**

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

### void std::sort (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_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 2734 of file stl\_algo.h.**

### void std::sort (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_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 2700 of file stl\_algo.h.**

### void std::sort\_heap (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last, \_Compare \_\_comp)` [inline]`

**Sort a heap using comparison functor.**

**Parameters:**

*first* **Start of heap.** \
 *last* **End of heap.** \
 *comp* **Comparison functor to use.**

**This operation sorts the valid heap in the range \[first,last). Comparisons are made using comp.**

**Definition at line 448 of file stl\_heap.h.**

**References pop\_heap().**

### void std::sort\_heap (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_last)` [inline]`

**Sort a heap.**

**Parameters:**

*first* **Start of heap.** \
 *last* **End of heap.**

**This operation sorts the valid heap in the range \[first,last).**

**Definition at line 422 of file stl\_heap.h.**

**References pop\_heap().**

**Referenced by partial\_sort(), and partial\_sort\_copy().**

### \_ForwardIterator std::stable\_partition (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, \_Predicate \_\_pred)` [inline]`

**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 2129 of file stl\_algo.h.**

### void std::stable\_sort (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_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 3801 of file stl\_algo.h.**

### void std::stable\_sort (\_RandomAccessIterator \_\_first, \_RandomAccessIterator \_\_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 3760 of file stl\_algo.h.**

### void std::swap (vector\< \_Tp, \_Alloc \> & \_\_x, vector\< \_Tp, \_Alloc \> & \_\_y)` [inline]`

**See std::vector::swap().**

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

**References vector::swap(), and swap().**

### void std::swap (set\< \_Key, \_Compare, \_Alloc \> & \_\_x, set\< \_Key, \_Compare, \_Alloc \> & \_\_y)` [inline]`

**See std::set::swap().**

**Definition at line 587 of file stl\_set.h.**

**References set::swap(), and swap().**

### void std::swap (multiset\< \_Key, \_Compare, \_Alloc \> & \_\_x, multiset\< \_Key, \_Compare, \_Alloc \> & \_\_y)` [inline]`

**See std::multiset::swap().**

**Definition at line 574 of file stl\_multiset.h.**

**References multiset::swap(), and swap().**

### void std::swap (multimap\< \_Key, \_Tp, \_Compare, \_Alloc \> & \_\_x, multimap\< \_Key, \_Tp, \_Compare, \_Alloc \> & \_\_y)` [inline]`

**See std::multimap::swap().**

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

**References multimap::swap(), and swap().**

### void std::swap (map\< \_Key, \_Tp, \_Compare, \_Alloc \> & \_\_x, map\< \_Key, \_Tp, \_Compare, \_Alloc \> & \_\_y)` [inline]`

**See std::map::swap().**

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

**References map::swap(), and swap().**

### void std::swap (list\< \_Tp, \_Alloc \> & \_\_x, list\< \_Tp, \_Alloc \> & \_\_y)` [inline]`

**See std::list::swap().**

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

**References list::swap(), and swap().**

### void std::swap (deque\< \_Tp, \_Alloc \> & \_\_x, deque\< \_Tp, \_Alloc \> & \_\_y)` [inline]`

**See std::deque::swap().**

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

**References deque::swap().**

### void std::swap (\_Tp & \_\_a, \_Tp & \_\_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 92 of file stl\_algobase.h.**

### void std::swap (basic\_string\< \_CharT, \_Traits, \_Alloc \> & \_\_lhs, basic\_string\< \_CharT, \_Traits, \_Alloc \> & \_\_rhs)` [inline]`

**Swap contents of two strings.**

**Parameters:**

*lhs* **First string.** \
 *rhs* **Second string.**

**Exchanges the contents of** *lhs* **and** *rhs* **in constant time.**

**Definition at line 2359 of file basic\_string.h.**

**References basic\_string::swap().**

**Referenced by vector\< \_Node \*, \_Nodeptr\_Alloc \>::swap(), set::swap(), multiset::swap(), multimap::swap(), map::swap(), swap(), list::swap(), deque::swap(), and std::tr1::swap().**

### \_ForwardIterator2 std::swap\_ranges (\_ForwardIterator1 \_\_first1, \_ForwardIterator1 \_\_last1, \_ForwardIterator2 \_\_first2)` [inline]`

**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 875 of file stl\_algo.h.**

**References iter\_swap().**

### void std::terminate ()

**The runtime will call this function if exception handling must be abandoned for any reason. It can also be called by the user.**

### \_CharT tolower (\_CharT \_\_c, const locale & \_\_loc)` [inline]`

**Convenience interface to ctype.tolower(\_\_c).**

**Definition at line 4633 of file locale\_facets.h.**

### \_CharT toupper (\_CharT \_\_c, const locale & \_\_loc)` [inline]`

**Convenience interface to ctype.toupper(\_\_c).**

**Definition at line 4627 of file locale\_facets.h.**

### \_OutputIterator std::transform (\_InputIterator1 \_\_first1, \_InputIterator1 \_\_last1, \_InputIterator2 \_\_first2, \_OutputIterator \_\_result, \_BinaryOperation \_\_binary\_op)` [inline]`

**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 949 of file stl\_algo.h.**

### \_OutputIterator std::transform (\_InputIterator \_\_first, \_InputIterator \_\_last, \_OutputIterator \_\_result, \_UnaryOperation \_\_unary\_op)` [inline]`

**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 914 of file stl\_algo.h.**

### 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 basic\_ostream::sentry::~sentry().**

### void std::unexpected ()

**The runtime will call this function if an exception is thrown which violates the function's exception specification.**

### \_ForwardIterator std::uninitialized\_copy (\_InputIterator \_\_first, \_InputIterator \_\_last, \_ForwardIterator \_\_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 107 of file stl\_uninitialized.h.**

### void std::uninitialized\_fill (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, const \_Tp & \_\_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 169 of file stl\_uninitialized.h.**

### void std::uninitialized\_fill\_n (\_ForwardIterator \_\_first, \_Size \_\_n, const \_Tp & \_\_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:**

**Nothing.**

**Like fill\_n(), but does not require an initialized output range.**

**Definition at line 214 of file stl\_uninitialized.h.**

### \_ForwardIterator std::unique (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last, \_BinaryPredicate \_\_binary\_pred)` [inline]`

**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 1522 of file stl\_algo.h.**

**References adjacent\_find().**

### \_ForwardIterator std::unique (\_ForwardIterator \_\_first, \_ForwardIterator \_\_last)` [inline]`

**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 1483 of file stl\_algo.h.**

**References adjacent\_find().**

### \_OutputIterator std::unique\_copy (\_InputIterator \_\_first, \_InputIterator \_\_last, \_OutputIterator \_\_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 1450 of file stl\_algo.h.**

### \_OutputIterator std::unique\_copy (\_InputIterator \_\_first, \_InputIterator \_\_last, \_OutputIterator \_\_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 1414 of file stl\_algo.h.**

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

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

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

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

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

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

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

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

### const \_Facet & use\_facet (const locale & \_\_loc)` [inline]`

**Return a facet.**

**use\_facet looks for and returns a reference to a facet of type Facet where Facet is the template parameter. If has\_facet(locale) is true, there is a suitable facet to return. It throws std::bad\_cast if the locale doesn't contain a facet of type Facet.**

**Parameters:**

*Facet* **The facet type to access.** \
 **locale The locale to use.**

**Returns:**

**Reference to facet of type Facet.**

**Exceptions:**

**std::bad\_cast if locale doesn't contain a facet of type Facet.**

**Definition at line 110 of file locale\_facets.tcc.**

**References locale::\_M\_impl.**

### basic\_istream\< \_CharT, \_Traits \> & ws (basic\_istream\< \_CharT, \_Traits \> & \_\_is)` [inline]`

**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 1106 of file istream.tcc.**

**References ios\_base::eofbit, ios\_base::getloc(), basic\_ios::rdbuf(), and basic\_ios::setstate().**

## Variable Documentation

### ostream cerr

**Linked to standard error (unbuffered).**

### istream cin

**Linked to standard input.**

### ostream clog

**Linked to standard error (buffered).**

### ostream cout

**Linked to standard output.**

### wostream wcerr

**Linked to standard error (unbuffered).**

### wistream wcin

**Linked to standard input.**

### wostream wclog

**Linked to standard error (buffered).**

### wostream wcout

**Linked to standard output.**

## Author

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