std Namespace Reference

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


Classes

class  exception
 Base class for all library exceptions. More...
class  bad_exception
class  bad_alloc
 Exception possibly thrown by new. More...
class  type_info
 Part of RTTI. More...
class  bad_cast
 Thrown during incorrect typecasting. More...
class  bad_typeid
class  allocator
 The "standard" allocator, as per [20.4]. More...
class  basic_ios
 Virtual base class for all stream classes. More...
class  basic_string
 Managing sequences of characters and character-like objects. More...
struct  char_traits
 Basis for explicit traits specializations. More...
struct  char_traits< char >
 21.1.3.1 char_traits specializations More...
class  gslice
 Class defining multi-dimensional subset of an array. More...
class  gslice_array
 Reference to multi-dimensional subset of an array. More...
class  indirect_array
 Reference to arbitrary subset of an array. More...
class  ios_base
 The very top of the I/O class hierarchy. More...
class  locale
 Container class for localization functionality. More...
class  ctype_abstract_base
 Common base for ctype facet. More...
class  ctype
 Template ctype facet. More...
class  ctype< char >
 The ctype<char> specialization. More...
class  numpunct
 Numpunct facet. More...
class  num_get
 Facet for parsing number strings. More...
class  num_put
 Facet for converting numbers to strings. More...
class  collate
 Facet for localized string comparison. More...
class  time_base
 Time format ordering data. More...
class  time_get
 Facet for parsing dates and times. More...
class  time_put
 Facet for outputting dates and times. More...
class  money_base
 Money format ordering data. More...
class  moneypunct
 Facet for formatting data for money amounts. More...
class  money_get
 Facet for parsing monetary amounts. More...
class  money_put
 Facet for outputting monetary amounts. More...
struct  messages_base
 Messages facet base class providing catalog typedef. More...
class  messages
 Facet for handling message catalogs. More...
class  mask_array
 Reference to selected subset of an array. More...
class  fpos
 Class representing stream positions. More...
class  slice
 Class defining one-dimensional subset of an array. More...
class  slice_array
 Reference to one-dimensional subset of an array. More...
class  vector< bool, Alloc >
 A specialization of vector for booleans which offers fixed time access to individual elements in any order. More...
struct  Deque_iterator
 A deque::iterator. More...
class  deque
 A standard container using fixed-size memory allocation and constant-time manipulation of elements at either end. More...
struct  unary_function
struct  binary_function
struct  plus
 One of the math functors. More...
struct  minus
 One of the math functors. More...
struct  multiplies
 One of the math functors. More...
struct  divides
 One of the math functors. More...
struct  modulus
 One of the math functors. More...
struct  negate
 One of the math functors. More...
struct  equal_to
 One of the comparison functors. More...
struct  not_equal_to
 One of the comparison functors. More...
struct  greater
 One of the comparison functors. More...
struct  less
 One of the comparison functors. More...
struct  greater_equal
 One of the comparison functors. More...
struct  less_equal
 One of the comparison functors. More...
struct  logical_and
 One of the Boolean operations functors. More...
struct  logical_or
 One of the Boolean operations functors. More...
struct  logical_not
 One of the Boolean operations functors. More...
class  unary_negate
 One of the negation functors. More...
class  binary_negate
 One of the negation functors. More...
class  binder1st
 One of the binder functors. More...
class  binder2nd
 One of the binder functors. More...
class  pointer_to_unary_function
 One of the adaptors for function pointers. More...
class  pointer_to_binary_function
 One of the adaptors for function pointers. More...
class  mem_fun_t
 One of the adaptors for member pointers. More...
class  const_mem_fun_t
 One of the adaptors for member pointers. More...
class  mem_fun_ref_t
 One of the adaptors for member pointers. More...
class  const_mem_fun_ref_t
 One of the adaptors for member pointers. More...
class  mem_fun1_t
 One of the adaptors for member pointers. More...
class  const_mem_fun1_t
 One of the adaptors for member pointers. More...
class  mem_fun1_ref_t
 One of the adaptors for member pointers. More...
class  const_mem_fun1_ref_t
 One of the adaptors for member pointers. More...
class  mem_fun_t< void, Type >
 One of the adaptors for member pointers. More...
class  const_mem_fun_t< void, Type >
 One of the adaptors for member pointers. More...
class  mem_fun_ref_t< void, Type >
 One of the adaptors for member pointers. More...
class  const_mem_fun_ref_t< void, Type >
 One of the adaptors for member pointers. More...
class  mem_fun1_t< void, Type, Arg >
 One of the adaptors for member pointers. More...
class  const_mem_fun1_t< void, Type, Arg >
 One of the adaptors for member pointers. More...
class  mem_fun1_ref_t< void, Type, Arg >
 One of the adaptors for member pointers. More...
class  const_mem_fun1_ref_t< void, Type, Arg >
 One of the adaptors for member pointers. More...
class  reverse_iterator
class  back_insert_iterator
 Turns assignment into insertion. More...
class  front_insert_iterator
 Turns assignment into insertion. More...
class  insert_iterator
 Turns assignment into insertion. More...
struct  input_iterator_tag
 Marking input iterators. More...
struct  output_iterator_tag
 Marking output iterators. More...
struct  forward_iterator_tag
 Forward iterators support a superset of input iterator operations. More...
struct  bidirectional_iterator_tag
 operations. More...
struct  random_access_iterator_tag
 operations. More...
struct  iterator
 Common iterator class. More...
struct  iterator_traits
struct  List_iterator
 A list::iterator. More...
struct  List_const_iterator
 A list::const_iterator. More...
class  list
 A standard container with linear time access to elements, and fixed time insertion/deletion at any point in the sequence. More...
class  map
 A standard container made up of (key,value) pairs, which can be retrieved based on a key, in logarithmic time. More...
class  multimap
 A standard container made up of (key,value) pairs, which can be retrieved based on a key, in logarithmic time. More...
class  multiset
 A standard container made up of elements, which can be retrieved in logarithmic time. More...
struct  pair
 pair holds two objects of arbitrary type. More...
class  queue
 A standard container giving FIFO behavior. More...
class  priority_queue
 A standard container automatically sorting its contents. More...
class  raw_storage_iterator
class  set
 A standard container made up of unique keys, which can be retrieved in logarithmic time. More...
class  stack
 A standard container giving FILO behavior. More...
class  vector
 A standard container which offers fixed time access to individual elements in any order. More...
class  istream_iterator
 Provides input iterator semantics for streams. More...
class  ostream_iterator
 Provides output iterator semantics for streams. More...
class  istreambuf_iterator
 Provides input iterator semantics for streambufs. More...
class  ostreambuf_iterator
 Provides output iterator semantics for streambufs. More...
class  bitset
 The bitset class represents a fixed-size sequence of bits. More...
class  complex
class  basic_filebuf
 The actual work of input and output (for files). More...
class  basic_ifstream
 Controlling input for files. More...
class  basic_ofstream
 Controlling output for files. More...
class  basic_fstream
 Controlling intput and output for files. More...
class  basic_istream
 Controlling input. More...
class  basic_iostream
 Merging istream and ostream capabilities. More...
struct  numeric_limits_base
 Part of std::numeric_limits. More...
struct  numeric_limits
 Properties of fundamental types. More...
struct  auto_ptr_ref
class  auto_ptr
 A simple smart pointer providing strict ownership semantics. More...
class  basic_ostream
 Controlling output. More...
class  basic_stringbuf
 The actual work of input and output (for std::string). More...
class  basic_istringstream
 Controlling input for std::string. More...
class  basic_ostringstream
 Controlling output for std::string. More...
class  basic_stringstream
 Controlling input and output for std::string. More...
class  logic_error
 One of two subclasses of exception. More...
class  domain_error
class  invalid_argument
class  length_error
class  out_of_range
class  runtime_error
 One of two subclasses of exception. More...
class  range_error
class  overflow_error
class  underflow_error
class  basic_streambuf
 The actual work of input and output (interface). More...
class  valarray
 Smart array designed to support numeric processing. More...

Namespaces

namespace  rel_ops
 The generated relational operators are sequestered here.

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.

fake_istream cin
 Linked to standard input.
fake_ostream cout
 Linked to standard output.
fake_ostream cerr
 Linked to standard error (unbuffered).
fake_ostream clog
 Linked to standard error (buffered).

Typedefs

typedef void(* terminate_handler )()
 If you write a replacement terminate handler, it must be of this type.
typedef void(* unexpected_handler )()
 If you write a replacement unexpected handler, it must be of this type.
typedef void(* new_handler )()
typedef long long streamoff
 Type used by fpos, char_traits<char>, and char_traits<wchar_t>.
typedef ptrdiff_t streamsize
 Integral type for I/O operation counts and buffer sizes.
typedef fpos< mbstate_t > streampos
 File position for char streams.
typedef fpos< mbstate_t > wstreampos
 File position for wchar_t streams.
typedef basic_ios< char > ios
 One of the I/O forward declarations .
typedef basic_streambuf< char > streambuf
 One of the I/O forward declarations .
typedef basic_istream< char > istream
 One of the I/O forward declarations .
typedef basic_ostream< char > ostream
 One of the I/O forward declarations .
typedef basic_iostream< char > iostream
 One of the I/O forward declarations .
typedef basic_stringbuf< char > stringbuf
 One of the I/O forward declarations .
typedef basic_istringstream<
char > 
istringstream
 One of the I/O forward declarations .
typedef basic_ostringstream<
char > 
ostringstream
 One of the I/O forward declarations .
typedef basic_stringstream<
char > 
stringstream
 One of the I/O forward declarations .
typedef basic_filebuf< char > filebuf
 One of the I/O forward declarations .
typedef basic_ifstream< char > ifstream
 One of the I/O forward declarations .
typedef basic_ofstream< char > ofstream
 One of the I/O forward declarations .
typedef basic_fstream< char > fstream
 One of the I/O forward declarations .

Enumerations

enum  float_round_style {
  round_indeterminate, round_toward_zero, round_to_nearest, round_toward_infinity,
  round_toward_neg_infinity
}
 Describes the rounding style for floating-point types. More...
enum  float_denorm_style { denorm_indeterminate, denorm_absent, denorm_present }
 Describes the denormalization for floating-point types. More...

Functions

terminate_handler set_terminate (terminate_handler) throw ()
 Takes a new handler function as an argument, returns the old function.
void terminate () attribute__((noreturn__))
unexpected_handler set_unexpected (unexpected_handler) throw ()
 Takes a new handler function as an argument, returns the old function.
void unexpected () attribute__((noreturn__))
bool uncaught_exception () throw ()
new_handler set_new_handler (new_handler) throw ()
 Takes a replacement handler as the argument, returns the previous handler.
template<typename CharT, typename Traits, typename Alloc>
basic_string< CharT, Traits,
Alloc > 
operator+ (const basic_string< CharT, Traits, Alloc > &__lhs, const basic_string< CharT, Traits, Alloc > &__rhs)
 Concatenate two strings.
template<typename CharT, typename Traits, typename Alloc>
basic_string< CharT, Traits,
Alloc > 
operator+ (const CharT *__lhs, const basic_string< CharT, Traits, Alloc > &__rhs)
 Concatenate C string and string.
template<typename CharT, typename Traits, typename Alloc>
basic_string< CharT, Traits,
Alloc > 
operator+ (CharT __lhs, const basic_string< CharT, Traits, Alloc > &__rhs)
 Concatenate character and string.
template<typename CharT, typename Traits, typename Alloc>
basic_string< CharT, Traits,
Alloc > 
operator+ (const basic_string< CharT, Traits, Alloc > &__lhs, const CharT *__rhs)
 Concatenate string and C string.
template<typename CharT, typename Traits, typename Alloc>
basic_string< CharT, Traits,
Alloc > 
operator+ (const basic_string< CharT, Traits, Alloc > &__lhs, CharT __rhs)
 Concatenate string and character.
template<typename CharT, typename Traits, typename Alloc>
bool operator== (const basic_string< CharT, Traits, Alloc > &__lhs, const basic_string< CharT, Traits, Alloc > &__rhs)
 Test equivalence of two strings.
template<typename CharT, typename Traits, typename Alloc>
bool operator== (const CharT *__lhs, const basic_string< CharT, Traits, Alloc > &__rhs)
 Test equivalence of C string and string.
template<typename CharT, typename Traits, typename Alloc>
bool operator== (const basic_string< CharT, Traits, Alloc > &__lhs, const CharT *__rhs)
 Test equivalence of string and C string.
template<typename CharT, typename Traits, typename Alloc>
bool operator!= (const basic_string< CharT, Traits, Alloc > &__lhs, const basic_string< CharT, Traits, Alloc > &__rhs)
 Test difference of two strings.
template<typename CharT, typename Traits, typename Alloc>
bool operator!= (const CharT *__lhs, const basic_string< CharT, Traits, Alloc > &__rhs)
 Test difference of C string and string.
template<typename CharT, typename Traits, typename Alloc>
bool operator!= (const basic_string< CharT, Traits, Alloc > &__lhs, const CharT *__rhs)
 Test difference of string and C string.
template<typename CharT, typename Traits, typename Alloc>
bool operator< (const basic_string< CharT, Traits, Alloc > &__lhs, const basic_string< CharT, Traits, Alloc > &__rhs)
 Test if string precedes string.
template<typename CharT, typename Traits, typename Alloc>
bool operator< (const basic_string< CharT, Traits, Alloc > &__lhs, const CharT *__rhs)
 Test if string precedes C string.
template<typename CharT, typename Traits, typename Alloc>
bool operator< (const CharT *__lhs, const basic_string< CharT, Traits, Alloc > &__rhs)
 Test if C string precedes string.
template<typename CharT, typename Traits, typename Alloc>
bool operator> (const basic_string< CharT, Traits, Alloc > &__lhs, const basic_string< CharT, Traits, Alloc > &__rhs)
 Test if string follows string.
template<typename CharT, typename Traits, typename Alloc>
bool operator> (const basic_string< CharT, Traits, Alloc > &__lhs, const CharT *__rhs)
 Test if string follows C string.
template<typename CharT, typename Traits, typename Alloc>
bool operator> (const CharT *__lhs, const basic_string< CharT, Traits, Alloc > &__rhs)
 Test if C string follows string.
template<typename CharT, typename Traits, typename Alloc>
bool operator<= (const basic_string< CharT, Traits, Alloc > &__lhs, const basic_string< CharT, Traits, Alloc > &__rhs)
 Test if string doesn't follow string.
template<typename CharT, typename Traits, typename Alloc>
bool operator<= (const basic_string< CharT, Traits, Alloc > &__lhs, const CharT *__rhs)
 Test if string doesn't follow C string.
template<typename CharT, typename Traits, typename Alloc>
bool operator<= (const CharT *__lhs, const basic_string< CharT, Traits, Alloc > &__rhs)
 Test if C string doesn't follow string.
template<typename CharT, typename Traits, typename Alloc>
bool operator>= (const basic_string< CharT, Traits, Alloc > &__lhs, const basic_string< CharT, Traits, Alloc > &__rhs)
 Test if string doesn't precede string.
template<typename CharT, typename Traits, typename Alloc>
bool operator>= (const basic_string< CharT, Traits, Alloc > &__lhs, const CharT *__rhs)
 Test if string doesn't precede C string.
template<typename CharT, typename Traits, typename Alloc>
bool operator>= (const CharT *__lhs, const basic_string< CharT, Traits, Alloc > &__rhs)
 Test if C string doesn't precede string.
template<typename CharT, typename Traits, typename Alloc>
void swap (basic_string< CharT, Traits, Alloc > &__lhs, basic_string< CharT, Traits, Alloc > &__rhs)
 Swap contents of two strings.
template<typename CharT, typename Traits, typename Alloc>
basic_istream< CharT, Traits > & operator>> (basic_istream< CharT, Traits > &__is, basic_string< CharT, Traits, Alloc > &str)
 Read stream into a string.
template<typename CharT, typename Traits, typename Alloc>
basic_ostream< CharT, Traits > & operator<< (basic_ostream< CharT, Traits > &__os, const basic_string< CharT, Traits, Alloc > &str)
 Write string to a stream.
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)
 Read a line from stream into a string.
template<typename CharT, typename Traits, typename Alloc>
basic_istream< CharT, Traits > & getline (basic_istream< CharT, Traits > &__is, basic_string< CharT, Traits, Alloc > &str)
 Read a line from stream into a string.
ios_baseboolalpha (ios_base &__base)
 Calls base.setf(ios_base::boolalpha).
ios_basenoboolalpha (ios_base &__base)
 Calls base.unsetf(ios_base::boolalpha).
ios_baseshowbase (ios_base &__base)
 Calls base.setf(ios_base::showbase).
ios_basenoshowbase (ios_base &__base)
 Calls base.unsetf(ios_base::showbase).
ios_baseshowpoint (ios_base &__base)
 Calls base.setf(ios_base::showpoint).
ios_basenoshowpoint (ios_base &__base)
 Calls base.unsetf(ios_base::showpoint).
ios_baseshowpos (ios_base &__base)
 Calls base.setf(ios_base::showpos).
ios_basenoshowpos (ios_base &__base)
 Calls base.unsetf(ios_base::showpos).
ios_baseskipws (ios_base &__base)
 Calls base.setf(ios_base::skipws).
ios_basenoskipws (ios_base &__base)
 Calls base.unsetf(ios_base::skipws).
ios_baseuppercase (ios_base &__base)
 Calls base.setf(ios_base::uppercase).
ios_basenouppercase (ios_base &__base)
 Calls base.unsetf(ios_base::uppercase).
ios_baseunitbuf (ios_base &__base)
 Calls base.setf(ios_base::unitbuf).
ios_basenounitbuf (ios_base &__base)
 Calls base.unsetf(ios_base::unitbuf).
ios_baseinternal (ios_base &__base)
 Calls base.setf(ios_base::internal, ios_base::adjustfield).
ios_baseleft (ios_base &__base)
 Calls base.setf(ios_base::left, ios_base::adjustfield).
ios_baseright (ios_base &__base)
 Calls base.setf(ios_base::right, ios_base::adjustfield).
ios_basedec (ios_base &__base)
 Calls base.setf(ios_base::dec, ios_base::basefield).
ios_basehex (ios_base &__base)
 Calls base.setf(ios_base::hex, ios_base::basefield).
ios_baseoct (ios_base &__base)
 Calls base.setf(ios_base::oct, ios_base::basefield).
ios_basefixed (ios_base &__base)
 Calls base.setf(ios_base::fixed, ios_base::floatfield).
ios_basescientific (ios_base &__base)
 Calls base.setf(ios_base::scientific, ios_base::floatfield).
template<typename CharT, typename Traits>
basic_istream< CharT, Traits > & operator>> (basic_istream< CharT, Traits > &in, CharT &c)
 Character extractors.
template<typename CharT, typename Traits>
basic_istream< CharT, Traits > & operator>> (basic_istream< CharT, Traits > &in, CharT *s)
 Character string extractors.
template<typename CharT, typename Traits>
basic_istream< CharT, Traits > & ws (basic_istream< CharT, Traits > &in)
 Quick and easy way to eat whitespace.
template<typename CharT>
bool isspace (CharT c, const locale &__loc)
 Convenience interface to ctype.is().
template<typename Facet>
bool has_facet (const locale &__loc) throw ()
 Test for the presence of a facet.
template<typename Facet>
const Facet & use_facet (const locale &__loc)
 Return a facet.
template<typename CharT, typename Traits>
basic_ostream< CharT, Traits > & operator<< (basic_ostream< CharT, Traits > &out, CharT c)
 Character inserters.
template<typename CharT, typename Traits>
basic_ostream< CharT, Traits > & operator<< (basic_ostream< CharT, Traits > &out, const CharT *s)
 String inserters.
template<typename Type>
const Type & __median (const Type &a, const Type &__b, const Type &c)
 Find the median of three values.
template<typename Type, typename Compare>
const Type & __median (const Type &a, const Type &__b, const Type &c, Compare comp)
 Find the median of three values using a predicate for comparison.
template<typename InputIterator, typename Function>
Function for_each (InputIterator first, InputIterator last, Function __f)
 Apply a function to every element of a sequence.
template<typename InputIterator, typename Type>
InputIterator find (InputIterator first, InputIterator last, const Type &__val)
 Find the first occurrence of a value in a sequence.
template<typename InputIterator, typename Predicate>
InputIterator find_if (InputIterator first, InputIterator last, Predicate pred)
 Find the first element in a sequence for which a predicate is true.
template<typename ForwardIterator>
ForwardIterator adjacent_find (ForwardIterator first, ForwardIterator last)
 Find two adjacent values in a sequence that are equal.
template<typename ForwardIterator, typename BinaryPredicate>
ForwardIterator adjacent_find (ForwardIterator first, ForwardIterator last, BinaryPredicate __binary_pred)
 Find two adjacent values in a sequence using a predicate.
template<typename InputIterator, typename Type>
iterator_traits< InputIterator
>::difference_type 
count (InputIterator first, InputIterator last, const Type &value)
 Count the number of copies of a value in a sequence.
template<typename InputIterator, typename Predicate>
iterator_traits< InputIterator
>::difference_type 
count_if (InputIterator first, InputIterator last, Predicate pred)
 Count the elements of a sequence for which a predicate is true.
template<typename ForwardIterator1, typename ForwardIterator2>
ForwardIterator1 search (ForwardIterator1 first1, ForwardIterator1 last1, ForwardIterator2 first2, ForwardIterator2 last2)
 Search a sequence for a matching sub-sequence.
template<typename ForwardIterator1, typename ForwardIterator2, typename BinaryPredicate>
ForwardIterator1 search (ForwardIterator1 first1, ForwardIterator1 last1, ForwardIterator2 first2, ForwardIterator2 last2, BinaryPredicate predicate)
 Search a sequence for a matching sub-sequence using a predicate.
template<typename ForwardIterator, typename Integer, typename Type>
ForwardIterator search_n (ForwardIterator first, ForwardIterator last, Integer count, const Type &__val)
 Search a sequence for a number of consecutive values.
template<typename ForwardIterator, typename Integer, typename Type, typename BinaryPredicate>
ForwardIterator search_n (ForwardIterator first, ForwardIterator last, Integer count, const Type &__val, BinaryPredicate __binary_pred)
 Search a sequence for a number of consecutive values using a predicate.
template<typename ForwardIterator1, typename ForwardIterator2>
ForwardIterator2 swap_ranges (ForwardIterator1 first1, ForwardIterator1 last1, ForwardIterator2 first2)
 Swap the elements of two sequences.
template<typename InputIterator, typename OutputIterator, typename UnaryOperation>
OutputIterator transform (InputIterator first, InputIterator last, OutputIterator __result, UnaryOperation __unary_op)
 Perform an operation on a sequence.
template<typename InputIterator1, typename InputIterator2, typename OutputIterator, typename BinaryOperation>
OutputIterator transform (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, OutputIterator __result, BinaryOperation __binary_op)
 Perform an operation on corresponding elements of two sequences.
template<typename ForwardIterator, typename Type>
void replace (ForwardIterator first, ForwardIterator last, const Type &__old_value, const Type &new_value)
 Replace each occurrence of one value in a sequence with another value.
template<typename ForwardIterator, typename Predicate, typename Type>
void replace_if (ForwardIterator first, ForwardIterator last, Predicate pred, const Type &new_value)
 Replace each value in a sequence for which a predicate returns true with another value.
template<typename InputIterator, typename OutputIterator, typename Type>
OutputIterator replace_copy (InputIterator first, InputIterator last, OutputIterator __result, const Type &__old_value, const Type &new_value)
 Copy a sequence, replacing each element of one value with another value.
template<typename InputIterator, typename OutputIterator, typename Predicate, typename Type>
OutputIterator replace_copy_if (InputIterator first, InputIterator last, OutputIterator __result, Predicate pred, const Type &new_value)
 Copy a sequence, replacing each value for which a predicate returns true with another value.
template<typename ForwardIterator, typename Generator>
void generate (ForwardIterator first, ForwardIterator last, Generator __gen)
 Assign the result of a function object to each value in a sequence.
template<typename OutputIterator, typename Size, typename Generator>
OutputIterator generate_n (OutputIterator first, Size n, Generator __gen)
 Assign the result of a function object to each value in a sequence.
template<typename InputIterator, typename OutputIterator, typename Type>
OutputIterator remove_copy (InputIterator first, InputIterator last, OutputIterator __result, const Type &value)
 Copy a sequence, removing elements of a given value.
template<typename InputIterator, typename OutputIterator, typename Predicate>
OutputIterator remove_copy_if (InputIterator first, InputIterator last, OutputIterator __result, Predicate pred)
 Copy a sequence, removing elements for which a predicate is true.
template<typename ForwardIterator, typename Type>
ForwardIterator remove (ForwardIterator first, ForwardIterator last, const Type &value)
 Remove elements from a sequence.
template<typename ForwardIterator, typename Predicate>
ForwardIterator remove_if (ForwardIterator first, ForwardIterator last, Predicate pred)
 Remove elements from a sequence using a predicate.
template<typename InputIterator, typename OutputIterator>
OutputIterator unique_copy (InputIterator first, InputIterator last, OutputIterator __result)
 Copy a sequence, removing consecutive duplicate values.
template<typename InputIterator, typename OutputIterator, typename BinaryPredicate>
OutputIterator unique_copy (InputIterator first, InputIterator last, OutputIterator __result, BinaryPredicate __binary_pred)
 Copy a sequence, removing consecutive values using a predicate.
template<typename ForwardIterator>
ForwardIterator unique (ForwardIterator first, ForwardIterator last)
 Remove consecutive duplicate values from a sequence.
template<typename ForwardIterator, typename BinaryPredicate>
ForwardIterator unique (ForwardIterator first, ForwardIterator last, BinaryPredicate __binary_pred)
 Remove consecutive values from a sequence using a predicate.
template<typename BidirectionalIterator>
void reverse (BidirectionalIterator first, BidirectionalIterator last)
 Reverse a sequence.
template<typename BidirectionalIterator, typename OutputIterator>
OutputIterator reverse_copy (BidirectionalIterator first, BidirectionalIterator last, OutputIterator __result)
 Copy a sequence, reversing its elements.
template<typename ForwardIterator>
void rotate (ForwardIterator first, ForwardIterator __middle, ForwardIterator last)
 Rotate the elements of a sequence.
template<typename ForwardIterator, typename OutputIterator>
OutputIterator rotate_copy (ForwardIterator first, ForwardIterator __middle, ForwardIterator last, OutputIterator __result)
 Copy a sequence, rotating its elements.
template<typename RandomAccessIterator>
void random_shuffle (RandomAccessIterator first, RandomAccessIterator last)
 Randomly shuffle the elements of a sequence.
template<typename RandomAccessIterator, typename RandomNumberGenerator>
void random_shuffle (RandomAccessIterator first, RandomAccessIterator last, RandomNumberGenerator &__rand)
 Shuffle the elements of a sequence using a random number generator.
template<typename ForwardIterator, typename Predicate>
ForwardIterator partition (ForwardIterator first, ForwardIterator last, Predicate pred)
 Move elements for which a predicate is true to the beginning of a sequence.
template<typename ForwardIterator, typename Predicate>
ForwardIterator stable_partition (ForwardIterator first, ForwardIterator last, Predicate pred)
 Move elements for which a predicate is true to the beginning of a sequence, preserving relative ordering.
template<typename RandomAccessIterator>
void partial_sort (RandomAccessIterator first, RandomAccessIterator __middle, RandomAccessIterator last)
 Sort the smallest elements of a sequence.
template<typename RandomAccessIterator, typename Compare>
void partial_sort (RandomAccessIterator first, RandomAccessIterator __middle, RandomAccessIterator last, Compare comp)
 Sort the smallest elements of a sequence using a predicate for comparison.
template<typename InputIterator, typename RandomAccessIterator>
RandomAccessIterator partial_sort_copy (InputIterator first, InputIterator last, RandomAccessIterator __result_first, RandomAccessIterator __result_last)
 Copy the smallest elements of a sequence.
template<typename InputIterator, typename RandomAccessIterator, typename Compare>
RandomAccessIterator partial_sort_copy (InputIterator first, InputIterator last, RandomAccessIterator __result_first, RandomAccessIterator __result_last, Compare comp)
 Copy the smallest elements of a sequence using a predicate for comparison.
template<typename RandomAccessIterator>
void sort (RandomAccessIterator first, RandomAccessIterator last)
 Sort the elements of a sequence.
template<typename RandomAccessIterator, typename Compare>
void sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp)
 Sort the elements of a sequence using a predicate for comparison.
template<typename ForwardIterator, typename Type>
ForwardIterator lower_bound (ForwardIterator first, ForwardIterator last, const Type &__val)
 Finds the first position in which val could be inserted without changing the ordering.
template<typename ForwardIterator, typename Type, typename Compare>
ForwardIterator lower_bound (ForwardIterator first, ForwardIterator last, const Type &__val, Compare comp)
 Finds the first position in which val could be inserted without changing the ordering.
template<typename ForwardIterator, typename Type>
ForwardIterator upper_bound (ForwardIterator first, ForwardIterator last, const Type &__val)
 Finds the last position in which val could be inserted without changing the ordering.
template<typename ForwardIterator, typename Type, typename Compare>
ForwardIterator upper_bound (ForwardIterator first, ForwardIterator last, const Type &__val, Compare comp)
 Finds the last position in which val could be inserted without changing the ordering.
template<typename InputIterator1, typename InputIterator2, typename OutputIterator>
OutputIterator merge (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator __result)
 Merges two sorted ranges.
template<typename InputIterator1, typename InputIterator2, typename OutputIterator, typename Compare>
OutputIterator merge (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator __result, Compare comp)
 Merges two sorted ranges.
template<typename BidirectionalIterator>
void inplace_merge (BidirectionalIterator first, BidirectionalIterator __middle, BidirectionalIterator last)
 Merges two sorted ranges in place.
template<typename BidirectionalIterator, typename Compare>
void inplace_merge (BidirectionalIterator first, BidirectionalIterator __middle, BidirectionalIterator last, Compare comp)
 Merges two sorted ranges in place.
template<typename RandomAccessIterator>
void stable_sort (RandomAccessIterator first, RandomAccessIterator last)
 Sort the elements of a sequence, preserving the relative order of equivalent elements.
template<typename RandomAccessIterator, typename Compare>
void stable_sort (RandomAccessIterator first, RandomAccessIterator last, Compare comp)
 Sort the elements of a sequence using a predicate for comparison, preserving the relative order of equivalent elements.
template<typename RandomAccessIterator>
void nth_element (RandomAccessIterator first, RandomAccessIterator nth, RandomAccessIterator last)
 Sort a sequence just enough to find a particular position.
template<typename RandomAccessIterator, typename Compare>
void nth_element (RandomAccessIterator first, RandomAccessIterator nth, RandomAccessIterator last, Compare comp)
 Sort a sequence just enough to find a particular position using a predicate for comparison.
template<typename ForwardIterator, typename Type>
pair< ForwardIterator, ForwardIterator > equal_range (ForwardIterator first, ForwardIterator last, const Type &__val)
 Finds the largest subrange in which val could be inserted at any place in it without changing the ordering.
template<typename ForwardIterator, typename Type, typename Compare>
pair< ForwardIterator, ForwardIterator > equal_range (ForwardIterator first, ForwardIterator last, const Type &__val, Compare comp)
 Finds the largest subrange in which val could be inserted at any place in it without changing the ordering.
template<typename ForwardIterator, typename Type>
bool binary_search (ForwardIterator first, ForwardIterator last, const Type &__val)
 Determines whether an element exists in a range.
template<typename ForwardIterator, typename Type, typename Compare>
bool binary_search (ForwardIterator first, ForwardIterator last, const Type &__val, Compare comp)
 Determines whether an element exists in a range.
template<typename InputIterator1, typename InputIterator2>
bool includes (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2)
 Determines whether all elements of a sequence exists in a range.
template<typename InputIterator1, typename InputIterator2, typename Compare>
bool includes (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, Compare comp)
 Determines whether all elements of a sequence exists in a range using comparison.
template<typename InputIterator1, typename InputIterator2, typename OutputIterator>
OutputIterator set_union (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator __result)
 Return the union of two sorted ranges.
template<typename InputIterator1, typename InputIterator2, typename OutputIterator, typename Compare>
OutputIterator set_union (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator __result, Compare comp)
 Return the union of two sorted ranges using a comparison functor.
template<typename InputIterator1, typename InputIterator2, typename OutputIterator>
OutputIterator set_intersection (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator __result)
 Return the intersection of two sorted ranges.
template<typename InputIterator1, typename InputIterator2, typename OutputIterator, typename Compare>
OutputIterator set_intersection (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator __result, Compare comp)
 Return the intersection of two sorted ranges using comparison functor.
template<typename InputIterator1, typename InputIterator2, typename OutputIterator>
OutputIterator set_difference (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator __result)
 Return the difference of two sorted ranges.
template<typename InputIterator1, typename InputIterator2, typename OutputIterator, typename Compare>
OutputIterator set_difference (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator __result, Compare comp)
 Return the difference of two sorted ranges using comparison functor.
template<typename InputIterator1, typename InputIterator2, typename OutputIterator>
OutputIterator set_symmetric_difference (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, OutputIterator __result)
 Return the symmetric difference of two sorted ranges.
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)
 Return the symmetric difference of two sorted ranges using comparison functor.
template<typename ForwardIterator>
ForwardIterator max_element (ForwardIterator first, ForwardIterator last)
 Return the maximum element in a range.
template<typename ForwardIterator, typename Compare>
ForwardIterator max_element (ForwardIterator first, ForwardIterator last, Compare comp)
 Return the maximum element in a range using comparison functor.
template<typename ForwardIterator>
ForwardIterator min_element (ForwardIterator first, ForwardIterator last)
 Return the minimum element in a range.
template<typename ForwardIterator, typename Compare>
ForwardIterator min_element (ForwardIterator first, ForwardIterator last, Compare comp)
 Return the minimum element in a range using comparison functor.
template<typename BidirectionalIterator>
bool next_permutation (BidirectionalIterator first, BidirectionalIterator last)
 Permute range into the next "dictionary" ordering.
template<typename BidirectionalIterator, typename Compare>
bool next_permutation (BidirectionalIterator first, BidirectionalIterator last, Compare comp)
 Permute range into the next "dictionary" ordering using comparison functor.
template<typename BidirectionalIterator>
bool prev_permutation (BidirectionalIterator first, BidirectionalIterator last)
 Permute range into the previous "dictionary" ordering.
template<typename BidirectionalIterator, typename Compare>
bool prev_permutation (BidirectionalIterator first, BidirectionalIterator last, Compare comp)
 Permute range into the previous "dictionary" ordering using comparison functor.
template<typename InputIterator, typename ForwardIterator>
InputIterator find_first_of (InputIterator first1, InputIterator last1, ForwardIterator first2, ForwardIterator last2)
 Find element from a set in a sequence.
template<typename InputIterator, typename ForwardIterator, typename BinaryPredicate>
InputIterator find_first_of (InputIterator first1, InputIterator last1, ForwardIterator first2, ForwardIterator last2, BinaryPredicate comp)
 Find element from a set in a sequence using a predicate.
template<typename ForwardIterator1, typename ForwardIterator2>
ForwardIterator1 find_end (ForwardIterator1 first1, ForwardIterator1 last1, ForwardIterator2 first2, ForwardIterator2 last2)
 Find last matching subsequence in a sequence.
template<typename ForwardIterator1, typename ForwardIterator2, typename BinaryPredicate>
ForwardIterator1 find_end (ForwardIterator1 first1, ForwardIterator1 last1, ForwardIterator2 first2, ForwardIterator2 last2, BinaryPredicate comp)
 Find last matching subsequence in a sequence using a predicate.
template<typename ForwardIterator1, typename ForwardIterator2>
void iter_swap (ForwardIterator1 a, ForwardIterator2 __b)
 Swaps the contents of two iterators.
template<typename Type>
void swap (Type &a, Type &__b)
 Swaps two values.
template<typename Type>
const Type & min (const Type &a, const Type &__b)
 This does what you think it does.
template<typename Type>
const Type & max (const Type &a, const Type &__b)
 This does what you think it does.
template<typename Type, typename Compare>
const Type & min (const Type &a, const Type &__b, Compare comp)
 This does what you think it does.
template<typename Type, typename Compare>
const Type & max (const Type &a, const Type &__b, Compare comp)
 This does what you think it does.
template<typename InputIterator, typename OutputIterator>
OutputIterator copy (InputIterator first, InputIterator last, OutputIterator __result)
 Copies the range [first,last) into result.
template<typename BI1, typename BI2>
BI2 copy_backward (BI1 first, BI1 last, BI2 __result)
 Copies the range [first,last) into result.
template<typename ForwardIterator, typename Type>
void fill (ForwardIterator first, ForwardIterator last, const Type &value)
 Fills the range [first,last) with copies of value.
template<typename OutputIterator, typename Size, typename Type>
OutputIterator fill_n (OutputIterator first, Size n, const Type &value)
 Fills the range [first,first+n) with copies of value.
template<typename InputIterator1, typename InputIterator2>
pair< InputIterator1, InputIterator2 > mismatch (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2)
 Finds the places in ranges which don't match.
template<typename InputIterator1, typename InputIterator2, typename BinaryPredicate>
pair< InputIterator1, InputIterator2 > mismatch (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, BinaryPredicate __binary_pred)
 Finds the places in ranges which don't match.
template<typename InputIterator1, typename InputIterator2>
bool equal (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2)
 Tests a range for element-wise equality.
template<typename InputIterator1, typename InputIterator2, typename BinaryPredicate>
bool equal (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, BinaryPredicate __binary_pred)
 Tests a range for element-wise equality.
template<typename InputIterator1, typename InputIterator2>
bool lexicographical_compare (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2)
 Performs "dictionary" comparison on ranges.
template<typename InputIterator1, typename InputIterator2, typename Compare>
bool lexicographical_compare (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, InputIterator2 last2, Compare comp)
 Performs "dictionary" comparison on ranges.
template<typename Type, typename Alloc>
bool operator== (const deque< Type, Alloc > &x, const deque< Type, Alloc > &y)
 Deque equality comparison.
template<typename Type, typename Alloc>
bool operator< (const deque< Type, Alloc > &x, const deque< Type, Alloc > &y)
 Deque ordering relation.
template<typename Type, typename Alloc>
bool operator!= (const deque< Type, Alloc > &x, const deque< Type, Alloc > &y)
 Based on operator==.
template<typename Type, typename Alloc>
bool operator> (const deque< Type, Alloc > &x, const deque< Type, Alloc > &y)
 Based on operator<.
template<typename Type, typename Alloc>
bool operator<= (const deque< Type, Alloc > &x, const deque< Type, Alloc > &y)
 Based on operator<.
template<typename Type, typename Alloc>
bool operator>= (const deque< Type, Alloc > &x, const deque< Type, Alloc > &y)
 Based on operator<.
template<typename Type, typename Alloc>
void swap (deque< Type, Alloc > &x, deque< Type, Alloc > &y)
 See std::deque::swap().
template<class Predicate>
unary_negate< Predicate > not1 (const Predicate &pred)
 One of the negation functors.
template<class Predicate>
binary_negate< Predicate > not2 (const Predicate &pred)
 One of the negation functors.
template<class Operation, class Type>
binder1st< Operation > bind1st (const Operation &__fn, const Type &x)
 One of the binder functors.
template<class Operation, class Type>
binder2nd< Operation > bind2nd (const Operation &__fn, const Type &x)
 One of the binder functors.
template<class Arg, class Result>
pointer_to_unary_function<
Arg, Result > 
ptr_fun (Result(*x)(Arg))
 One of the adaptors for function pointers.
template<class Arg1, class Arg2, class Result>
pointer_to_binary_function<
Arg1, Arg2, Result > 
ptr_fun (Result(*x)(Arg1, Arg2))
 One of the adaptors for function pointers.
template<typename RandomAccessIterator>
void push_heap (RandomAccessIterator first, RandomAccessIterator last)
 Push an element onto a heap.
template<typename RandomAccessIterator, typename Compare>
void push_heap (RandomAccessIterator first, RandomAccessIterator last, Compare comp)
 Push an element onto a heap using comparison functor.
template<typename RandomAccessIterator>
void pop_heap (RandomAccessIterator first, RandomAccessIterator last)
 Pop an element off a heap.
template<typename RandomAccessIterator, typename Compare>
void pop_heap (RandomAccessIterator first, RandomAccessIterator last, Compare comp)
 Pop an element off a heap using comparison functor.
template<typename RandomAccessIterator>
void make_heap (RandomAccessIterator first, RandomAccessIterator last)
 Construct a heap over a range.
template<typename RandomAccessIterator, typename Compare>
void make_heap (RandomAccessIterator first, RandomAccessIterator last, Compare comp)
 Construct a heap over a range using comparison functor.
template<typename RandomAccessIterator>
void sort_heap (RandomAccessIterator first, RandomAccessIterator last)
 Sort a heap.
template<typename RandomAccessIterator, typename Compare>
void sort_heap (RandomAccessIterator first, RandomAccessIterator last, Compare comp)
 Sort a heap using comparison functor.
template<typename Iterator>
bool operator== (const reverse_iterator< Iterator > &x, const reverse_iterator< Iterator > &y)
template<typename Container>
back_insert_iterator< Container > back_inserter (Container &x)
template<typename Container>
front_insert_iterator< Container > front_inserter (Container &x)
template<typename Container, typename Iterator>
insert_iterator< Container > inserter (Container &x, Iterator __i)
template<typename InputIterator>
iterator_traits< InputIterator
>::difference_type 
distance (InputIterator first, InputIterator last)
 A generalization of pointer arithmetic.
template<typename InputIterator, typename Distance>
void advance (InputIterator &__i, Distance n)
 A generalization of pointer arithmetic.
template<typename Type, typename Alloc>
bool operator== (const list< Type, Alloc > &x, const list< Type, Alloc > &y)
 List equality comparison.
template<typename Type, typename Alloc>
bool operator< (const list< Type, Alloc > &x, const list< Type, Alloc > &y)
 List ordering relation.
template<typename Type, typename Alloc>
bool operator!= (const list< Type, Alloc > &x, const list< Type, Alloc > &y)
 Based on operator==.
template<typename Type, typename Alloc>
bool operator> (const list< Type, Alloc > &x, const list< Type, Alloc > &y)
 Based on operator<.
template<typename Type, typename Alloc>
bool operator<= (const list< Type, Alloc > &x, const list< Type, Alloc > &y)
 Based on operator<.
template<typename Type, typename Alloc>
bool operator>= (const list< Type, Alloc > &x, const list< Type, Alloc > &y)
 Based on operator<.
template<typename Type, typename Alloc>
void swap (list< Type, Alloc > &x, list< Type, Alloc > &y)
 See std::list::swap().
template<typename Key, typename Type, typename Compare, typename Alloc>
bool operator== (const map< Key, Type, Compare, Alloc > &x, const map< Key, Type, Compare, Alloc > &y)
 Map equality comparison.
template<typename Key, typename Type, typename Compare, typename Alloc>
bool operator< (const map< Key, Type, Compare, Alloc > &x, const map< Key, Type, Compare, Alloc > &y)
 Map ordering relation.
template<typename Key, typename Type, typename Compare, typename Alloc>
bool operator!= (const map< Key, Type, Compare, Alloc > &x, const map< Key, Type, Compare, Alloc > &y)
 Based on operator==.
template<typename Key, typename Type, typename Compare, typename Alloc>
bool operator> (const map< Key, Type, Compare, Alloc > &x, const map< Key, Type, Compare, Alloc > &y)
 Based on operator<.
template<typename Key, typename Type, typename Compare, typename Alloc>
bool operator<= (const map< Key, Type, Compare, Alloc > &x, const map< Key, Type, Compare, Alloc > &y)
 Based on operator<.
template<typename Key, typename Type, typename Compare, typename Alloc>
bool operator>= (const map< Key, Type, Compare, Alloc > &x, const map< Key, Type, Compare, Alloc > &y)
 Based on operator<.
template<typename Key, typename Type, typename Compare, typename Alloc>
void swap (map< Key, Type, Compare, Alloc > &x, map< Key, Type, Compare, Alloc > &y)
 See std::map::swap().
template<typename Key, typename Type, typename Compare, typename Alloc>
bool operator== (const multimap< Key, Type, Compare, Alloc > &x, const multimap< Key, Type, Compare, Alloc > &y)
 Multimap equality comparison.
template<typename Key, typename Type, typename Compare, typename Alloc>
bool operator< (const multimap< Key, Type, Compare, Alloc > &x, const multimap< Key, Type, Compare, Alloc > &y)
 Multimap ordering relation.
template<typename Key, typename Type, typename Compare, typename Alloc>
bool operator!= (const multimap< Key, Type, Compare, Alloc > &x, const multimap< Key, Type, Compare, Alloc > &y)
 Based on operator==.
template<typename Key, typename Type, typename Compare, typename Alloc>
bool operator> (const multimap< Key, Type, Compare, Alloc > &x, const multimap< Key, Type, Compare, Alloc > &y)
 Based on operator<.
template<typename Key, typename Type, typename Compare, typename Alloc>
bool operator<= (const multimap< Key, Type, Compare, Alloc > &x, const multimap< Key, Type, Compare, Alloc > &y)
 Based on operator<.
template<typename Key, typename Type, typename Compare, typename Alloc>
bool operator>= (const multimap< Key, Type, Compare, Alloc > &x, const multimap< Key, Type, Compare, Alloc > &y)
 Based on operator<.
template<typename Key, typename Type, typename Compare, typename Alloc>
void swap (multimap< Key, Type, Compare, Alloc > &x, multimap< Key, Type, Compare, Alloc > &y)
 See std::multimap::swap().
template<class Key, class Compare, class Alloc>
bool operator== (const multiset< Key, Compare, Alloc > &x, const multiset< Key, Compare, Alloc > &y)
 Multiset equality comparison.
template<class Key, class Compare, class Alloc>
bool operator< (const multiset< Key, Compare, Alloc > &x, const multiset< Key, Compare, Alloc > &y)
 Multiset ordering relation.
template<class Key, class Compare, class Alloc>
bool operator!= (const multiset< Key, Compare, Alloc > &x, const multiset< Key, Compare, Alloc > &y)
 Returns !(x == y).
template<class Key, class Compare, class Alloc>
bool operator> (const multiset< Key, Compare, Alloc > &x, const multiset< Key, Compare, Alloc > &y)
 Returns y < x.
template<class Key, class Compare, class Alloc>
bool operator<= (const multiset< Key, Compare, Alloc > &x, const multiset< Key, Compare, Alloc > &y)
 Returns !(y < x).
template<class Key, class Compare, class Alloc>
bool operator>= (const multiset< Key, Compare, Alloc > &x, const multiset< Key, Compare, Alloc > &y)
 Returns !(x < y).
template<class Key, class Compare, class Alloc>
void swap (multiset< Key, Compare, Alloc > &x, multiset< Key, Compare, Alloc > &y)
 See std::multiset::swap().
template<typename InputIterator, typename Type>
Type accumulate (InputIterator first, InputIterator last, Type init)
 Accumulate values in a range.
template<typename InputIterator, typename Type, typename BinaryOperation>
Type accumulate (InputIterator first, InputIterator last, Type init, BinaryOperation __binary_op)
 Accumulate values in a range with operation.
template<typename InputIterator1, typename InputIterator2, typename Type>
Type inner_product (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, Type init)
 Compute inner product of two ranges.
template<typename InputIterator1, typename InputIterator2, typename Type, typename BinaryOperation1, typename BinaryOperation2>
Type inner_product (InputIterator1 first1, InputIterator1 last1, InputIterator2 first2, Type init, BinaryOperation1 __binary_op1, BinaryOperation2 __binary_op2)
 Compute inner product of two ranges.
template<typename InputIterator, typename OutputIterator>
OutputIterator partial_sum (InputIterator first, InputIterator last, OutputIterator __result)
 Return list of partial sums.
template<typename InputIterator, typename OutputIterator, typename BinaryOperation>
OutputIterator partial_sum (InputIterator first, InputIterator last, OutputIterator __result, BinaryOperation __binary_op)
 Return list of partial sums.
template<typename InputIterator, typename OutputIterator>
OutputIterator adjacent_difference (InputIterator first, InputIterator last, OutputIterator __result)
 Return differences between adjacent values.
template<typename InputIterator, typename OutputIterator, typename BinaryOperation>
OutputIterator adjacent_difference (InputIterator first, InputIterator last, OutputIterator __result, BinaryOperation __binary_op)
 Return differences between adjacent values.
template<class T1, class T2>
bool operator== (const pair< T1, T2 > &x, const pair< T1, T2 > &y)
 Two pairs of the same type are equal iff their members are equal.
template<class T1, class T2>
bool operator< (const pair< T1, T2 > &x, const pair< T1, T2 > &y)
 <http://gcc.gnu.org/onlinedocs/libstdc++/20_util/howto.html#pairlt>
template<class T1, class T2>
bool operator!= (const pair< T1, T2 > &x, const pair< T1, T2 > &y)
 Uses operator== to find the result.
template<class T1, class T2>
bool operator> (const pair< T1, T2 > &x, const pair< T1, T2 > &y)
 Uses operator< to find the result.
template<class T1, class T2>
bool operator<= (const pair< T1, T2 > &x, const pair< T1, T2 > &y)
 Uses operator< to find the result.
template<class T1, class T2>
bool operator>= (const pair< T1, T2 > &x, const pair< T1, T2 > &y)
 Uses operator< to find the result.
template<class T1, class T2>
pair< T1, T2 > make_pair (T1 x, T2 y)
 A convenience wrapper for creating a pair from two objects.
template<typename Type, typename Sequence>
bool operator== (const queue< Type, Sequence > &x, const queue< Type, Sequence > &y)
 Queue equality comparison.
template<typename Type, typename Sequence>
bool operator< (const queue< Type, Sequence > &x, const queue< Type, Sequence > &y)
 Queue ordering relation.
template<typename Type, typename Sequence>
bool operator!= (const queue< Type, Sequence > &x, const queue< Type, Sequence > &y)
 Based on operator==.
template<typename Type, typename Sequence>
bool operator> (const queue< Type, Sequence > &x, const queue< Type, Sequence > &y)
 Based on operator<.
template<typename Type, typename Sequence>
bool operator<= (const queue< Type, Sequence > &x, const queue< Type, Sequence > &y)
 Based on operator<.
template<typename Type, typename Sequence>
bool operator>= (const queue< Type, Sequence > &x, const queue< Type, Sequence > &y)
 Based on operator<.
template<class Key, class Compare, class Alloc>
bool operator== (const set< Key, Compare, Alloc > &x, const set< Key, Compare, Alloc > &y)
 Set equality comparison.
template<class Key, class Compare, class Alloc>
bool operator< (const set< Key, Compare, Alloc > &x, const set< Key, Compare, Alloc > &y)
 Set ordering relation.
template<class Key, class Compare, class Alloc>
bool operator!= (const set< Key, Compare, Alloc > &x, const set< Key, Compare, Alloc > &y)
 Returns !(x == y).
template<class Key, class Compare, class Alloc>
bool operator> (const set< Key, Compare, Alloc > &x, const set< Key, Compare, Alloc > &y)
 Returns y < x.
template<class Key, class Compare, class Alloc>
bool operator<= (const set< Key, Compare, Alloc > &x, const set< Key, Compare, Alloc > &y)
 Returns !(y < x).
template<class Key, class Compare, class Alloc>
bool operator>= (const set< Key, Compare, Alloc > &x, const set< Key, Compare, Alloc > &y)
 Returns !(x < y).
template<class Key, class Compare, class Alloc>
void swap (set< Key, Compare, Alloc > &x, set< Key, Compare, Alloc > &y)
 See std::set::swap().
template<typename Type, typename Seq>
bool operator== (const stack< Type, Seq > &x, const stack< Type, Seq > &y)
 Stack equality comparison.
template<typename Type, typename Seq>
bool operator< (const stack< Type, Seq > &x, const stack< Type, Seq > &y)
 Stack ordering relation.
template<typename Type, typename Seq>
bool operator!= (const stack< Type, Seq > &x, const stack< Type, Seq > &y)
 Based on operator==.
template<typename Type, typename Seq>
bool operator> (const stack< Type, Seq > &x, const stack< Type, Seq > &y)
 Based on operator<.
template<typename Type, typename Seq>
bool operator<= (const stack< Type, Seq > &x, const stack< Type, Seq > &y)
 Based on operator<.
template<typename Type, typename Seq>
bool operator>= (const stack< Type, Seq > &x, const stack< Type, Seq > &y)
 Based on operator<.
template<typename InputIterator, typename ForwardIterator>
ForwardIterator uninitialized_copy (InputIterator first, InputIterator last, ForwardIterator __result)
 Copies the range [first,last) into result.
template<typename ForwardIterator, typename Type>
void uninitialized_fill (ForwardIterator first, ForwardIterator last, const Type &x)
 Copies the value x into the range [first,last).
template<typename ForwardIterator, typename Size, typename Type>
ForwardIterator uninitialized_fill_n (ForwardIterator first, Size n, const Type &x)
 Copies the value x into the range [first,first+n).
template<typename Type, typename Alloc>
bool operator== (const vector< Type, Alloc > &x, const vector< Type, Alloc > &y)
 Vector equality comparison.
template<typename Type, typename Alloc>
bool operator< (const vector< Type, Alloc > &x, const vector< Type, Alloc > &y)
 Vector ordering relation.
template<typename Type, typename Alloc>
bool operator!= (const vector< Type, Alloc > &x, const vector< Type, Alloc > &y)
 Based on operator==.
template<typename Type, typename Alloc>
bool operator> (const vector< Type, Alloc > &x, const vector< Type, Alloc > &y)
 Based on operator<.
template<typename Type, typename Alloc>
bool operator<= (const vector< Type, Alloc > &x, const vector< Type, Alloc > &y)
 Based on operator<.
template<typename Type, typename Alloc>
bool operator>= (const vector< Type, Alloc > &x, const vector< Type, Alloc > &y)
 Based on operator<.
template<typename Type, typename Alloc>
void swap (vector< Type, Alloc > &x, vector< Type, Alloc > &y)
 See std::vector::swap().
template<typename Type, typename CharT, typename Traits, typename Dist>
bool operator== (const istream_iterator< Type, CharT, Traits, Dist > &x, const istream_iterator< Type, CharT, Traits, Dist > &y)
 Return true if x and y are both end or not end, or x and y are the same.
template<class Type, class CharT, class Traits, class Dist>
bool operator!= (const istream_iterator< Type, CharT, Traits, Dist > &x, const istream_iterator< Type, CharT, Traits, Dist > &y)
 Return false if x and y are both end or not end, or x and y are the same.
template<size_t Nb>
bitset< Nb > operator & (const bitset< Nb > &x, const bitset< Nb > &y)
 Global bitwise operations on bitsets.
template<class CharT, class Traits, size_t Nb>
basic_istream< CharT, Traits > & operator>> (basic_istream< CharT, Traits > &__is, bitset< Nb > &x)
 Global I/O operators for bitsets.
template<typename Type>
Type abs (const complex< Type > &)
 Return magnitude of z.
template<typename Type>
Type arg (const complex< Type > &)
 Return phase angle of z.
template<typename Type>
Type norm (const complex< Type > &)
 Return z magnitude squared.
template<typename Type>
complex< Type > conj (const complex< Type > &)
 Return complex conjugate of z.
template<typename Type>
complex< Type > polar (const Type &, const Type &=0)
 Return complex with magnitude rho and angle theta.
template<typename Type>
complex< Type > cos (const complex< Type > &)
 Return complex cosine of z.
template<typename Type>
complex< Type > cosh (const complex< Type > &)
 Return complex hyperbolic cosine of z.
template<typename Type>
complex< Type > exp (const complex< Type > &)
 Return complex base e exponential of z.
template<typename Type>
complex< Type > log (const complex< Type > &)
 Return complex natural logarithm of z.
template<typename Type>
complex< Type > log10 (const complex< Type > &)
 Return complex base 10 logarithm of z.
template<typename Type>
complex< Type > pow (const complex< Type > &, int)
 Return complex cosine of z.
template<typename Type>
complex< Type > pow (const complex< Type > &, const Type &)
 Return x to the y'th power.
template<typename Type>
complex< Type > pow (const complex< Type > &, const complex< Type > &)
 Return x to the y'th power.
template<typename Type>
complex< Type > pow (const Type &, const complex< Type > &)
 Return x to the y'th power.
template<typename Type>
complex< Type > sin (const complex< Type > &)
 Return complex sine of z.
template<typename Type>
complex< Type > sinh (const complex< Type > &)
 Return complex hyperbolic sine of z.
template<typename Type>
complex< Type > sqrt (const complex< Type > &)
 Return complex square root of z.
template<typename Type>
complex< Type > tan (const complex< Type > &)
 Return complex tangent of z.
template<typename Type>
complex< Type > tanh (const complex< Type > &)
 Return complex hyperbolic tangent of z.
template<typename Type>
complex< Type > operator+ (const complex< Type > &x, const complex< Type > &y)
 Return new complex value x plus y.
template<typename Type>
complex< Type > operator- (const complex< Type > &x, const complex< Type > &y)
 Return new complex value x minus y.
template<typename Type>
complex< Type > operator * (const complex< Type > &x, const complex< Type > &y)
 Return new complex value x times y.
template<typename Type>
complex< Type > operator/ (const complex< Type > &x, const complex< Type > &y)
 Return new complex value x divided by y.
template<typename Type>
complex< Type > operator+ (const complex< Type > &x)
 Return x.
template<typename Type>
complex< Type > operator- (const complex< Type > &x)
 Return complex negation of x.
template<typename Type>
bool operator== (const complex< Type > &x, const complex< Type > &y)
 Return true if x is equal to y.
template<typename Type>
bool operator!= (const complex< Type > &x, const complex< Type > &y)
 Return false if x is equal to y.
template<typename Type, typename CharT, class Traits>
basic_istream< CharT, Traits > & operator>> (basic_istream< CharT, Traits > &__is, complex< Type > &x)
 Extraction operator for complex values.
template<typename Type, typename CharT, class Traits>
basic_ostream< CharT, Traits > & operator<< (basic_ostream< CharT, Traits > &__os, const complex< Type > &x)
 Insertion operator for complex values.
Resetiosflags resetiosflags (ios_base::fmtflags __mask)
 Manipulator for setf.
Setiosflags setiosflags (ios_base::fmtflags __mask)
 Manipulator for setf.
Setbase setbase (int __base)
 Manipulator for setf.
template<typename CharT>
Setfill< CharT > setfill (CharT c)
 Manipulator for fill.
Setprecision setprecision (int n)
 Manipulator for precision.
Setw setw (int n)
 Manipulator for width.
template<typename Type>
pair< Type *, ptrdiff_t > get_temporary_buffer (ptrdiff_t __len)
 Allocates a temporary buffer.
template<typename Type>
void return_temporary_buffer (Type *__p)
 The companion to get_temporary_buffer().
template<typename CharT, typename Traits>
basic_ostream< CharT, Traits > & endl (basic_ostream< CharT, Traits > &__os)
 Write a newline and flush the stream.
template<typename CharT, typename Traits>
basic_ostream< CharT, Traits > & ends (basic_ostream< CharT, Traits > &__os)
 Write a null character into the output sequence.
template<typename CharT, typename Traits>
basic_ostream< CharT, Traits > & flush (basic_ostream< CharT, Traits > &__os)
 Flushes the output stream.


Detailed Description

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

Typedef Documentation

typedef void(* std::new_handler)()
 

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

Definition at line 66 of file new.

typedef long long std::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> std::streampos
 

File position for char streams.

Definition at line 210 of file postypes.h.

typedef ptrdiff_t std::streamsize
 

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

Definition at line 78 of file postypes.h.

typedef void(* std::terminate_handler)()
 

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

Definition at line 74 of file exception.

typedef void(* std::unexpected_handler)()
 

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

Definition at line 76 of file exception.

typedef fpos<mbstate_t> std::wstreampos
 

File position for wchar_t streams.

Definition at line 212 of file postypes.h.


Enumeration Type Documentation

enum std::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.

Enumeration values:
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 172 of file limits.

enum std::float_round_style
 

Describes the rounding style for floating-point types.

This is used in the std::numeric_limits class.

Enumeration values:
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 157 of file limits.


Function Documentation

template<typename Type>
Type std::abs const complex< Type > &   )  [inline]
 

Return magnitude of z.

Definition at line 547 of file complex.

References std::complex< Type >::imag(), max(), and std::complex< Type >::real().

template<typename InputIterator, typename Type, typename BinaryOperation>
Type std::accumulate InputIterator  first,
InputIterator  last,
Type  init,
BinaryOperation  __binary_op
 

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.

template<typename InputIterator, typename Type>
Type std::accumulate InputIterator  first,
InputIterator  last,
Type  init
 

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.

template<typename InputIterator, typename OutputIterator, typename BinaryOperation>
OutputIterator std::adjacent_difference InputIterator  first,
InputIterator  last,
OutputIterator  __result,
BinaryOperation  __binary_op
 

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 303 of file stl_numeric.h.

template<typename InputIterator, typename OutputIterator>
OutputIterator std::adjacent_difference InputIterator  first,
InputIterator  last,
OutputIterator  __result
 

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 268 of file stl_numeric.h.

template<typename ForwardIterator, typename BinaryPredicate>
ForwardIterator std::adjacent_find ForwardIterator  first,
ForwardIterator  last,
BinaryPredicate  __binary_pred
 

Find two adjacent values in a sequence using a predicate.

Parameters:
first A forward iterator.
last A forward iterator.
binary_pred A binary predicate.
Returns:
The first iterator i such that i and i+1 are both valid iterators in [first,last) and such that binary_pred(*i,*(i+1)) is true, or last if no such iterator exists.

Definition at line 381 of file stl_algo.h.

template<typename ForwardIterator>
ForwardIterator std::adjacent_find ForwardIterator  first,
ForwardIterator  last
 

Find two adjacent values in a sequence that are equal.

Parameters:
first A forward iterator.
last A forward iterator.
Returns:
The first iterator i such that i and i+1 are both valid iterators in [first,last) and such that *i == *(i+1), or last if no such iterator exists.

Definition at line 350 of file stl_algo.h.

Referenced by unique().

template<typename InputIterator, typename Distance>
void std::advance InputIterator &  __i,
Distance  n
[inline]
 

A generalization of pointer arithmetic.

Parameters:
i An input iterator.
n The "delta" by which to change i.
Returns:
Nothing.
This increments i by n. For bidirectional and random access iterators, n may be negative, in which case i is decremented.

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

Definition at line 172 of file stl_iterator_base_funcs.h.

template<typename Type>
Type std::arg const complex< Type > &   )  [inline]
 

Return phase angle of z.

Definition at line 561 of file complex.

References std::complex< Type >::imag(), and std::complex< Type >::real().

Referenced by log().

template<typename Container>
back_insert_iterator<Container> std::back_inserter Container &  x  )  [inline]
 

Parameters:
x A container of arbitrary type.
Returns:
An instance of back_insert_iterator working on x.
This wrapper function helps in creating back_insert_iterator instances. Typing the name of the iterator requires knowing the precise full type of the container, which can be tedious and impedes generic programming. Using this function lets you take advantage of automatic template parameter deduction, making the compiler match the correct types for you.

Definition at line 397 of file stl_iterator.h.

ios_base& std::boolalpha ios_base &  __base  )  [inline]
 

Calls base.setf(ios_base::boolalpha).

Definition at line 790 of file ios_base.h.

References std::ios_base::boolalpha, and std::ios_base::setf().

template<typename Type>
complex< Type > std::conj const complex< Type > &   )  [inline]
 

Return complex conjugate of z.

Definition at line 606 of file complex.

References std::complex< Type >::imag(), and std::complex< Type >::real().

template<typename InputIterator, typename OutputIterator>
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 348 of file stl_algobase.h.

template<typename BI1, typename BI2>
BI2 std::copy_backward BI1  first,
BI1  last,
BI2  __result
[inline]
 

Copies the range [first,last) into result.

Parameters:
first 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 487 of file stl_algobase.h.

template<typename Type>
complex< Type > std::cos const complex< Type > &   )  [inline]
 

Return complex cosine of z.

Definition at line 612 of file complex.

References std::complex< Type >::imag(), and std::complex< Type >::real().

template<typename Type>
complex< Type > std::cosh const complex< Type > &   )  [inline]
 

Return complex hyperbolic cosine of z.

Definition at line 621 of file complex.

References std::complex< Type >::imag(), and std::complex< Type >::real().

template<typename InputIterator, typename Type>
iterator_traits<InputIterator>::difference_type std::count InputIterator  first,
InputIterator  last,
const Type &  value
 

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

Parameters:
first An input iterator.
last An input iterator.
value The value to be counted.
Returns:
The number of iterators i in the range [first,last) for which *i == value

Definition at line 412 of file stl_algo.h.

template<typename InputIterator, typename Predicate>
iterator_traits<InputIterator>::difference_type std::count_if InputIterator  first,
InputIterator  last,
Predicate  pred
 

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

Parameters:
first An input iterator.
last An input iterator.
pred A predicate.
Returns:
The number of iterators i in the range [first,last) for which pred(*i) is true.

Definition at line 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 928 of file ios_base.h.

References std::ios_base::basefield, and std::ios_base::dec.

template<typename InputIterator>
iterator_traits<InputIterator>::difference_type std::distance InputIterator  first,
InputIterator  last
[inline]
 

A generalization of pointer arithmetic.

Parameters:
first An input iterator.
last An input iterator.
Returns:
The distance between them.
Returns n such that first + n == last. This requires that last must be reachable from first. Note that n may be negative.

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

Definition at line 114 of file stl_iterator_base_funcs.h.

Referenced by equal_range(), inplace_merge(), lower_bound(), __gnu_cxx::random_sample_n(), std::list< Type, Allocator >::size(), and upper_bound().

template<typename CharT, typename Traits>
basic_ostream<CharT, Traits>& std::endl basic_ostream< CharT, Traits > &  __os  ) 
 

Write a newline and flush the stream.

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

Definition at line 518 of file ostream.

template<typename CharT, typename Traits>
basic_ostream<CharT, Traits>& std::ends basic_ostream< CharT, Traits > &  __os  ) 
 

Write a null character into the output sequence.

"Null character" is CharT() by definition. For CharT of char, this correctly writes the ASCII NUL character string terminator.

Definition at line 529 of file ostream.

References std::basic_ostream< CharT, Traits >::put().

template<typename InputIterator1, typename InputIterator2, typename BinaryPredicate>
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 712 of file stl_algobase.h.

template<typename InputIterator1, typename InputIterator2>
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 679 of file stl_algobase.h.

Referenced by operator==().

template<typename Type>
complex< Type > std::exp const complex< Type > &   )  [inline]
 

Return complex base e exponential of z.

Definition at line 630 of file complex.

References std::complex< Type >::imag(), polar(), and std::complex< Type >::real().

template<typename ForwardIterator, typename Type>
void std::fill ForwardIterator  first,
ForwardIterator  last,
const Type &  value
 

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

Parameters:
first A forward iterator.
last A forward iterator.
value A reference-to-const of arbitrary type.
Returns:
Nothing.
This function fills a range with copies of the same value. For one-byte types filling contiguous areas of memory, this becomes an inline call to memset.

Definition at line 516 of file stl_algobase.h.

template<typename OutputIterator, typename Size, typename Type>
OutputIterator std::fill_n OutputIterator  first,
Size  n,
const Type &  value
 

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

Parameters:
first An output iterator.
n The count of copies to perform.
value A reference-to-const of arbitrary type.
Returns:
The iterator at first+n.
This function fills a range with copies of the same value. For one-byte types filling contiguous areas of memory, this becomes an inline call to memset.

Definition at line 540 of file stl_algobase.h.

template<typename InputIterator, typename Type>
InputIterator std::find InputIterator  first,
InputIterator  last,
const Type &  __val
[inline]
 

Find the first occurrence of a value in a sequence.

Parameters:
first An input iterator.
last An input iterator.
val The value to find.
Returns:
The first iterator i in the range [first,last) such that *i == val, or last if no such iterator exists.

Definition at line 306 of file stl_algo.h.

template<typename ForwardIterator1, typename ForwardIterator2, typename BinaryPredicate>
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 5127 of file stl_algo.h.

template<typename ForwardIterator1, typename ForwardIterator2>
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 5081 of file stl_algo.h.

template<typename InputIterator, typename ForwardIterator, typename BinaryPredicate>
InputIterator std::find_first_of InputIterator  first1,
InputIterator  last1,
ForwardIterator  first2,
ForwardIterator  last2,
BinaryPredicate  comp
 

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 4902 of file stl_algo.h.

template<typename InputIterator, typename ForwardIterator>
InputIterator std::find_first_of InputIterator  first1,
InputIterator  last1,
ForwardIterator  first2,
ForwardIterator  last2
 

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 4865 of file stl_algo.h.

template<typename InputIterator, typename Predicate>
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 328 of file stl_algo.h.

ios_base& std::fixed ios_base &  __base  )  [inline]
 

Calls base.setf(ios_base::fixed, ios_base::floatfield).

Definition at line 953 of file ios_base.h.

References std::ios_base::fixed, and std::ios_base::floatfield.

template<typename CharT, typename Traits>
basic_ostream<CharT, Traits>& std::flush basic_ostream< CharT, Traits > &  __os  ) 
 

Flushes the output stream.

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

Definition at line 539 of file ostream.

References std::basic_ostream< CharT, Traits >::flush().

template<typename InputIterator, typename Function>
Function std::for_each InputIterator  first,
InputIterator  last,
Function  __f
 

Apply a function to every element of a sequence.

Parameters:
first An input iterator.
last An input iterator.
f A unary function object.
Returns:
f.
Applies the function object f to each element in the range [first,last). f must not modify the order of the sequence. If f has a return value it is ignored.

Definition at line 152 of file stl_algo.h.

template<typename Container>
front_insert_iterator<Container> std::front_inserter Container &  x  )  [inline]
 

Parameters:
x A container of arbitrary type.
Returns:
An instance of front_insert_iterator working on x.
This wrapper function helps in creating front_insert_iterator instances. Typing the name of the iterator requires knowing the precise full type of the container, which can be tedious and impedes generic programming. Using this function lets you take advantage of automatic template parameter deduction, making the compiler match the correct types for you.

Definition at line 471 of file stl_iterator.h.

template<typename ForwardIterator, typename Generator>
void std::generate ForwardIterator  first,
ForwardIterator  last,
Generator  __gen
 

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

Parameters:
first A forward iterator.
last A forward iterator.
gen A function object taking no arguments.
Returns:
generate() returns no value.
Performs the assignment *i = gen() for each i in the range [first,last).

Definition at line 972 of file stl_algo.h.

template<typename OutputIterator, typename Size, typename Generator>
OutputIterator std::generate_n OutputIterator  first,
Size  n,
Generator  __gen
 

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

Parameters:
first A forward iterator.
n The length of the sequence.
gen A function object taking no arguments.
Returns:
The end of the sequence, first+n
Performs the assignment *i = gen() for each i in the range [first,first+n).

Definition at line 998 of file stl_algo.h.

template<typename Type>
pair<Type*, 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 111 of file memory.

template<typename CharT, typename Traits, typename Alloc>
basic_istream< CharT, Traits > & std::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 '
' 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 end of line was encountered, it is extracted but not stored into str.

Definition at line 1162 of file istream.tcc.

template<typename CharT, typename Traits, typename Alloc>
basic_istream< CharT, Traits > & std::getline basic_istream< CharT, Traits > &  __is,
basic_string< CharT, Traits, Alloc > &  str,
CharT  __delim
 

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

References std::basic_string< CharT, Traits, Alloc >::append(), std::ios_base::badbit, std::ios_base::eofbit, std::basic_string< CharT, Traits, Alloc >::erase(), std::ios_base::failbit, std::ios_base::goodbit, and std::basic_string< CharT, Traits, Alloc >::max_size().

template<typename Facet>
bool std::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 85 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 936 of file ios_base.h.

References std::ios_base::basefield, and std::ios_base::hex.

template<typename InputIterator1, typename InputIterator2, typename Type, typename BinaryOperation1, typename BinaryOperation2>
Type std::inner_product InputIterator1  first1,
InputIterator1  last1,
InputIterator2  first2,
Type  init,
BinaryOperation1  __binary_op1,
BinaryOperation2  __binary_op2
 

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.

template<typename InputIterator1, typename InputIterator2, typename Type>
Type std::inner_product InputIterator1  first1,
InputIterator1  last1,
InputIterator2  first2,
Type  init
 

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.

template<typename BidirectionalIterator, typename Compare>
void std::inplace_merge BidirectionalIterator  first,
BidirectionalIterator  __middle,
BidirectionalIterator  last,
Compare  comp
 

Merges two sorted ranges in place.

Parameters:
first An iterator.
middle Another iterator.
last Another iterator.
comp A functor to use for comparisons.
Returns:
Nothing.
Merges two sorted and consecutive ranges, [first,middle) and [middle,last), and puts the result in [first,last). The output will be sorted. The sort is stable, that is, for equivalent elements in the two ranges, elements from the first range will always come before elements from the second.

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

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

Definition at line 3491 of file stl_algo.h.

References distance().

template<typename BidirectionalIterator>
void std::inplace_merge BidirectionalIterator  first,
BidirectionalIterator  __middle,
BidirectionalIterator  last
 

Merges two sorted ranges in place.

Parameters:
first An iterator.
middle Another iterator.
last Another iterator.
Returns:
Nothing.
Merges two sorted and consecutive ranges, [first,middle) and [middle,last), and puts the result in [first,last). The output will be sorted. The sort is stable, that is, for equivalent elements in the two ranges, elements from the first range will always come before elements from the second.

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

Definition at line 3437 of file stl_algo.h.

References distance().

template<typename Container, typename Iterator>
insert_iterator<Container> std::inserter Container &  x,
Iterator  __i
[inline]
 

Parameters:
x A container of arbitrary type.
Returns:
An instance of insert_iterator working on x.
This wrapper function helps in creating insert_iterator instances. Typing the name of the iterator requires knowing the precise full type of the container, which can be tedious and impedes generic programming. Using this function lets you take advantage of automatic template parameter deduction, making the compiler match the correct types for you.

Definition at line 567 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 903 of file ios_base.h.

References std::ios_base::adjustfield, and std::ios_base::internal.

template<typename CharT>
bool std::isspace CharT  c,
const locale &  __loc
[inline]
 

Convenience interface to ctype.is().

Definition at line 4494 of file locale_facets.h.

template<typename ForwardIterator1, typename ForwardIterator2>
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 92 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 911 of file ios_base.h.

References std::ios_base::adjustfield, and std::ios_base::left.

template<typename InputIterator1, typename InputIterator2, typename Compare>
bool std::lexicographical_compare InputIterator1  first1,
InputIterator1  last1,
InputIterator2  first2,
InputIterator2  last2,
Compare  comp
 

Performs "dictionary" comparison on ranges.

Parameters:
first1 An input iterator.
last1 An input iterator.
first2 An input iterator.
last2 An input iterator.
comp A comparison functor.
Returns:
A boolean true or false.
The same as the four-parameter lexigraphical_compare, but uses the comp parameter instead of <.

Definition at line 783 of file stl_algobase.h.

template<typename InputIterator1, typename InputIterator2>
bool std::lexicographical_compare InputIterator1  first1,
InputIterator1  last1,
InputIterator2  first2,
InputIterator2  last2
 

Performs "dictionary" comparison on ranges.

Parameters:
first1 An input iterator.
last1 An input iterator.
first2 An input iterator.
last2 An input iterator.
Returns:
A boolean true or false.
"Returns true if the sequence of elements defined by the range [first1,last1) is lexicographically less than the sequence of elements defined by the range [first2,last2). Returns false otherwise." (Quoted from [25.3.8]/1.) If the iterators are all character pointers, then this is an inline call to memcmp.

Definition at line 743 of file stl_algobase.h.

Referenced by operator<().

template<typename Type>
complex< Type > std::log const complex< Type > &   )  [inline]
 

Return complex natural logarithm of z.

Definition at line 635 of file complex.

References arg().

template<typename Type>
complex< Type > std::log10 const complex< Type > &   )  [inline]
 

Return complex base 10 logarithm of z.

Definition at line 640 of file complex.

template<typename RandomAccessIterator, typename Compare>
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.

template<typename RandomAccessIterator>
void std::make_heap RandomAccessIterator  first,
RandomAccessIterator  last
 

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 std::priority_queue< Type, Sequence, Compare >::priority_queue().

template<class T1, class T2>
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.

template<typename Type, typename Compare>
const Type& std::max const Type &  a,
const Type &  __b,
Compare  comp
[inline]
 

This does what you think it does.

Parameters:
a A thing of arbitrary type.
b Another thing of arbitrary type.
comp A comparison functor.
Returns:
The greater of the parameters.
This will work on temporary expressions, since they are only evaluated once, unlike a preprocessor macro.

Definition at line 214 of file stl_algobase.h.

template<typename Type>
const Type& std::max const Type &  a,
const Type &  __b
[inline]
 

This does what you think it does.

Parameters:
a A thing of arbitrary type.
b Another thing of arbitrary type.
Returns:
The greater of the parameters.
This is the simple classic generic implementation. It will work on temporary expressions, since they are only evaluated once, unlike a preprocessor macro.

Definition at line 172 of file stl_algobase.h.

Referenced by abs(), std::basic_istream< CharT, Traits >::ignore(), operator>>(), std::basic_istream< CharT, Traits >::operator>>(), and std::basic_stringbuf< CharT, Traits, Alloc >::overflow().

template<typename ForwardIterator, typename Compare>
ForwardIterator std::max_element ForwardIterator  first,
ForwardIterator  last,
Compare  comp
 

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 4552 of file stl_algo.h.

template<typename ForwardIterator>
ForwardIterator std::max_element ForwardIterator  first,
ForwardIterator  last
 

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 4525 of file stl_algo.h.

Referenced by std::valarray< Type >::max().

template<typename InputIterator1, typename InputIterator2, typename OutputIterator, typename Compare>
OutputIterator std::merge InputIterator1  first1,
InputIterator1  last1,
InputIterator2  first2,
InputIterator2  last2,
OutputIterator  __result,
Compare  comp
 

Merges two sorted ranges.

Parameters:
first1 An iterator.
first2 Another iterator.
last1 Another iterator.
last2 Another iterator.
result An iterator pointing to the end of the merged range.
comp A functor to use for comparisons.
Returns:
An iterator pointing to the first element "not less than" val.
Merges the ranges [first1,last1) and [first2,last2) into the sorted range [result, result + (last1-first1) + (last2-first2)). Both input ranges must be sorted, and the output range must not overlap with either of the input ranges. The sort is stable, that is, for equivalent elements in the two ranges, elements from the first range will always come before elements from the second.

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

Definition at line 3018 of file stl_algo.h.

template<typename InputIterator1, typename InputIterator2, typename OutputIterator>
OutputIterator std::merge InputIterator1  first1,
InputIterator1  last1,
InputIterator2  first2,
InputIterator2  last2,
OutputIterator  __result
 

Merges two sorted ranges.

Parameters:
first1 An iterator.
first2 Another iterator.
last1 Another iterator.
last2 Another iterator.
result An iterator pointing to the end of the merged range.
Returns:
An iterator pointing to the first element "not less than" val.
Merges the ranges [first1,last1) and [first2,last2) into the sorted range [result, result + (last1-first1) + (last2-first2)). Both input ranges must be sorted, and the output range must not overlap with either of the input ranges. The sort is stable, that is, for equivalent elements in the two ranges, elements from the first range will always come before elements from the second.

Definition at line 2960 of file stl_algo.h.

template<typename Type, typename Compare>
const Type& std::min const Type &  a,
const Type &  __b,
Compare  comp
[inline]
 

This does what you think it does.

Parameters:
a A thing of arbitrary type.
b Another thing of arbitrary type.
comp A comparison functor.
Returns:
The lesser of the parameters.
This will work on temporary expressions, since they are only evaluated once, unlike a preprocessor macro.

Definition at line 194 of file stl_algobase.h.

template<typename Type>
const Type& std::min const Type &  a,
const Type &  __b
[inline]
 

This does what you think it does.

Parameters:
a A thing of arbitrary type.
b Another thing of arbitrary type.
Returns:
The lesser of the parameters.
This is the simple classic generic implementation. It will work on temporary expressions, since they are only evaluated once, unlike a preprocessor macro.

Definition at line 150 of file stl_algobase.h.

Referenced by std::basic_string< CharT, Traits, Alloc >::compare(), std::basic_string< char >::compare(), std::basic_istream< CharT, Traits >::getline(), std::basic_istream< CharT, Traits >::operator>>(), std::basic_stringbuf< CharT, Traits, Alloc >::overflow(), __gnu_cxx::random_sample_n(), std::basic_istream< CharT, Traits >::readsome(), std::basic_string< CharT, Traits, Alloc >::rfind(), std::basic_filebuf< CharT, Traits >::underflow(), std::basic_streambuf< CharT, Traits >::xsgetn(), and std::basic_streambuf< CharT, Traits >::xsputn().

template<typename ForwardIterator, typename Compare>
ForwardIterator std::min_element ForwardIterator  first,
ForwardIterator  last,
Compare  comp
 

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 4604 of file stl_algo.h.

template<typename ForwardIterator>
ForwardIterator std::min_element ForwardIterator  first,
ForwardIterator  last
 

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 4577 of file stl_algo.h.

Referenced by std::valarray< Type >::min().

template<typename InputIterator1, typename InputIterator2, typename BinaryPredicate>
pair<InputIterator1, InputIterator2> std::mismatch InputIterator1  first1,
InputIterator1  last1,
InputIterator2  first2,
BinaryPredicate  __binary_pred
 

Finds the places in ranges which don't match.

Parameters:
first1 An input iterator.
last1 An input iterator.
first2 An input iterator.
binary_pred A binary predicate functor.
Returns:
A pair of iterators pointing to the first mismatch.
This compares the elements of two ranges using the binary_pred parameter, and returns a pair of iterators. The first iterator points into the first range, the second iterator points into the second range, and the elements pointed to by the iterators are not equal.

Definition at line 650 of file stl_algobase.h.

template<typename InputIterator1, typename InputIterator2>
pair<InputIterator1, InputIterator2> std::mismatch InputIterator1  first1,
InputIterator1  last1,
InputIterator2  first2
 

Finds the places in ranges which don't match.

Parameters:
first1 An input iterator.
last1 An input iterator.
first2 An input iterator.
Returns:
A pair of iterators pointing to the first mismatch.
This compares the elements of two ranges using == and returns a pair of iterators. The first iterator points into the first range, the second iterator points into the second range, and the elements pointed to by the iterators are not equal.

Definition at line 614 of file stl_algobase.h.

template<typename BidirectionalIterator, typename Compare>
bool std::next_permutation BidirectionalIterator  first,
BidirectionalIterator  last,
Compare  comp
 

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 4695 of file stl_algo.h.

References iter_swap(), and reverse().

template<typename BidirectionalIterator>
bool std::next_permutation BidirectionalIterator  first,
BidirectionalIterator  last
 

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 4639 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 798 of file ios_base.h.

References std::ios_base::boolalpha.

template<typename Type>
Type std::norm const complex< Type > &   )  [inline]
 

Return z magnitude squared.

Definition at line 594 of file complex.

Referenced by std::complex< Type >::operator/=().

ios_base& std::noshowbase ios_base &  __base  )  [inline]
 

Calls base.unsetf(ios_base::showbase).

Definition at line 814 of file ios_base.h.

References std::ios_base::showbase.

ios_base& std::noshowpoint ios_base &  __base  )  [inline]
 

Calls base.unsetf(ios_base::showpoint).

Definition at line 830 of file ios_base.h.

References std::ios_base::showpoint.

ios_base& std::noshowpos ios_base &  __base  )  [inline]
 

Calls base.unsetf(ios_base::showpos).

Definition at line 846 of file ios_base.h.

References std::ios_base::showpos.

ios_base& std::noskipws ios_base &  __base  )  [inline]
 

Calls base.unsetf(ios_base::skipws).

Definition at line 862 of file ios_base.h.

References std::ios_base::skipws.

ios_base& std::nounitbuf ios_base &  __base  )  [inline]
 

Calls base.unsetf(ios_base::unitbuf).

Definition at line 894 of file ios_base.h.

References std::ios_base::unitbuf.

ios_base& std::nouppercase ios_base &  __base  )  [inline]
 

Calls base.unsetf(ios_base::uppercase).

Definition at line 878 of file ios_base.h.

References std::ios_base::uppercase.

template<typename RandomAccessIterator, typename Compare>
void std::nth_element RandomAccessIterator  first,
RandomAccessIterator  nth,
RandomAccessIterator  last,
Compare  comp
 

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

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

Definition at line 3733 of file stl_algo.h.

References __median().

template<typename RandomAccessIterator>
void std::nth_element RandomAccessIterator  first,
RandomAccessIterator  nth,
RandomAccessIterator  last
 

Sort a sequence just enough to find a particular position.

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

Definition at line 3682 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 944 of file ios_base.h.

References std::ios_base::basefield, and std::ios_base::oct.

template<size_t Nb>
bitset<Nb> std::operator & const bitset< Nb > &  x,
const bitset< Nb > &  y
[inline]
 

Global bitwise operations on bitsets.

Parameters:
x A bitset.
y A bitset of the same size as x.
Returns:
A new bitset.
These should be self-explanatory.

Definition at line 1118 of file bitset.

template<typename Type>
complex<Type> std::operator * const complex< Type > &  x,
const complex< Type > &  y
[inline]
 

Return new complex value x times y.

Definition at line 374 of file complex.

template<typename Type>
bool std::operator!= const complex< Type > &  x,
const complex< Type > &  y
[inline]
 

Return false if x is equal to y.

Definition at line 464 of file complex.

References std::complex< Type >::imag(), and std::complex< Type >::real().

template<class Type, class CharT, class Traits, class Dist>
bool std::operator!= const istream_iterator< Type, CharT, Traits, Dist > &  x,
const istream_iterator< Type, 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.

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

Based on operator==.

Definition at line 904 of file stl_vector.h.

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

Based on operator==.

Definition at line 250 of file stl_stack.h.

template<class Key, class Compare, class Alloc>
bool std::operator!= const set< Key, Compare, Alloc > &  x,
const set< Key, Compare, Alloc > &  y
[inline]
 

Returns !(x == y).

Definition at line 560 of file stl_set.h.

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

Based on operator==.

Definition at line 275 of file stl_queue.h.

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

Uses operator== to find the result.

Definition at line 109 of file stl_pair.h.

template<class Key, class Compare, class Alloc>
bool std::operator!= const multiset< Key, Compare, Alloc > &  x,
const multiset< Key, Compare, Alloc > &  y
[inline]
 

Returns !(x == y).

Definition at line 551 of file stl_multiset.h.

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

Based on operator==.

Definition at line 644 of file stl_multimap.h.

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

Based on operator==.

Definition at line 662 of file stl_map.h.

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

Based on operator==.

Definition at line 1226 of file stl_list.h.

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

Based on operator==.

Definition at line 1465 of file stl_deque.h.

template<typename CharT, typename Traits, typename Alloc>
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 2120 of file basic_string.h.

template<typename CharT, typename Traits, typename Alloc>
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 2108 of file basic_string.h.

References std::basic_string< CharT, Traits, Alloc >::compare().

template<typename CharT, typename Traits, typename Alloc>
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 2096 of file basic_string.h.

References std::basic_string< CharT, Traits, Alloc >::compare().

template<typename Type>
complex<Type> std::operator+ const complex< Type > &  x  )  [inline]
 

Return x.

Definition at line 433 of file complex.

template<typename Type>
complex<Type> std::operator+ const complex< Type > &  x,
const complex< Type > &  y
[inline]
 

Return new complex value x plus y.

Definition at line 314 of file complex.

template<typename CharT, typename Traits, typename Alloc>
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 2041 of file basic_string.h.

template<typename CharT, typename Traits, typename Alloc>
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 2025 of file basic_string.h.

References std::basic_string< CharT, Traits, Alloc >::append().

template<typename CharT, typename Traits, typename Alloc>
basic_string< CharT, Traits, Alloc > std::operator+ CharT  __lhs,
const basic_string< CharT, Traits, Alloc > &  __rhs
 

Concatenate character and string.

Parameters:
lhs First string.
rhs Last string.
Returns:
New string with lhs followed by rhs.

Definition at line 663 of file basic_string.tcc.

References std::basic_string< CharT, Traits, Alloc >::size().

template<typename CharT, typename Traits, typename Alloc>
basic_string< CharT, Traits, Alloc > std::operator+ const CharT *  __lhs,
const basic_string< CharT, Traits, Alloc > &  __rhs
 

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 647 of file basic_string.tcc.

References std::basic_string< CharT, Traits, Alloc >::size().

template<typename CharT, typename Traits, typename Alloc>
basic_string<CharT, Traits, Alloc> std::operator+ const basic_string< CharT, Traits, Alloc > &  __lhs,
const basic_string< CharT, Traits, Alloc > &  __rhs
 

Concatenate two strings.

Parameters:
lhs First string.
rhs Last string.
Returns:
New string with value of lhs followed by rhs.

Definition at line 1988 of file basic_string.h.

References std::basic_string< CharT, Traits, Alloc >::append().

template<typename Type>
complex<Type> std::operator- const complex< Type > &  x  )  [inline]
 

Return complex negation of x.

Definition at line 439 of file complex.

References std::complex< Type >::imag(), and std::complex< Type >::real().

template<typename Type>
complex<Type> std::operator- const complex< Type > &  x,
const complex< Type > &  y
[inline]
 

Return new complex value x minus y.

Definition at line 344 of file complex.

template<typename Type>
complex<Type> std::operator/ const complex< Type > &  x,
const complex< Type > &  y
[inline]
 

Return new complex value x divided by y.

Definition at line 404 of file complex.

template<typename Type, typename Alloc>
bool std::operator< const vector< Type, Alloc > &  x,
const vector< Type, Alloc > &  y
[inline]
 

Vector ordering relation.

Parameters:
x A vector.
y A vector of the same type as x.
Returns:
True iff x is 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 895 of file stl_vector.h.

References lexicographical_compare().

template<typename Type, typename Seq>
bool std::operator< const stack< Type, Seq > &  x,
const stack< Type, Seq > &  y
[inline]
 

Stack ordering relation.

Parameters:
x A stack.
y A stack of the same type as x.
Returns:
True iff x is 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.

template<class Key, class Compare, class Alloc>
bool std::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 553 of file stl_set.h.

template<typename Type, typename Sequence>
bool std::operator< const queue< Type, Sequence > &  x,
const queue< Type, Sequence > &  y
[inline]
 

Queue ordering relation.

Parameters:
x A queue.
y A queue of the same type as x.
Returns:
True iff x is 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.

template<class T1, class T2>
bool std::operator< const pair< T1, T2 > &  x,
const pair< T1, T2 > &  y
[inline]
 

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

Definition at line 102 of file stl_pair.h.

template<class Key, class Compare, class Alloc>
bool std::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 544 of file stl_multiset.h.

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

Multimap ordering relation.

Parameters:
x A multimap.
y A multimap of the same type as x.
Returns:
True iff x is 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 637 of file stl_multimap.h.

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

Map ordering relation.

Parameters:
x A map.
y A map of the same type as x.
Returns:
True iff x is 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 655 of file stl_map.h.

template<typename Type, typename Alloc>
bool std::operator< const list< Type, Alloc > &  x,
const list< Type, Alloc > &  y
[inline]
 

List ordering relation.

Parameters:
x A list.
y A list of the same type as x.
Returns:
True iff x is 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 1219 of file stl_list.h.

References lexicographical_compare().

template<typename Type, typename Alloc>
bool std::operator< const deque< Type, Alloc > &  x,
const deque< Type, Alloc > &  y
[inline]
 

Deque ordering relation.

Parameters:
x A deque.
y A deque of the same type as x.
Returns:
True iff x is 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 1457 of file stl_deque.h.

References lexicographical_compare().

template<typename CharT, typename Traits, typename Alloc>
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 2157 of file basic_string.h.

References std::basic_string< CharT, Traits, Alloc >::compare().

template<typename CharT, typename Traits, typename Alloc>
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 2145 of file basic_string.h.

template<typename CharT, typename Traits, typename Alloc>
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 2133 of file basic_string.h.

template<typename Type, typename CharT, class Traits>
basic_ostream<CharT, Traits>& std::operator<< basic_ostream< CharT, Traits > &  __os,
const complex< Type > &  x
 

Insertion operator for complex values.

Definition at line 514 of file complex.

References std::ios_base::flags(), std::basic_ios< CharT, Traits >::imbue(), std::ios_base::precision(), and std::basic_ostringstream< CharT, Traits, Alloc >::str().

template<typename CharT, typename Traits>
basic_ostream< CharT, Traits > & std::operator<< basic_ostream< CharT, Traits > &  out,
const CharT *  s
 

String inserters.

Parameters:
out An output stream.
s A character string.
Returns:
out
Precondition:
s must be a non-NULL pointer
Behaves like one of the formatted arithmetic inserters described in std::basic_ostream. After constructing a sentry object with good status, this function inserts traits::length(s) characters starting at s, widened if necessary, followed by any required padding (as determined by [22.2.2.2.2]). out.width(0) is then called.

Definition at line 533 of file ostream.tcc.

References std::ios_base::badbit.

template<typename CharT, typename Traits>
basic_ostream< CharT, Traits > & std::operator<< basic_ostream< CharT, Traits > &  out,
CharT  c
 

Character inserters.

Parameters:
out An output stream.
c A character.
Returns:
out
Behaves like one of the formatted arithmetic inserters described in std::basic_ostream. After constructing a sentry object with good status, this function inserts a single character and any required padding (as determined by [22.2.2.2.2]). out.width(0) is then called.

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

Definition at line 473 of file ostream.tcc.

References std::ios_base::badbit.

template<typename CharT, typename Traits, typename Alloc>
basic_ostream< CharT, Traits > & std::operator<< basic_ostream< CharT, Traits > &  __os,
const basic_string< CharT, Traits, Alloc > &  str
 

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

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

Based on operator<.

Definition at line 916 of file stl_vector.h.

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

Based on operator<.

Definition at line 262 of file stl_stack.h.

template<class Key, class Compare, class Alloc>
bool std::operator<= const set< Key, Compare, Alloc > &  x,
const set< Key, Compare, Alloc > &  y
[inline]
 

Returns !(y < x).

Definition at line 574 of file stl_set.h.

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

Based on operator<.

Definition at line 288 of file stl_queue.h.

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

Uses operator< to find the result.

Definition at line 121 of file stl_pair.h.

template<class Key, class Compare, class Alloc>
bool std::operator<= const multiset< Key, Compare, Alloc > &  x,
const multiset< Key, Compare, Alloc > &  y
[inline]
 

Returns !(y < x).

Definition at line 565 of file stl_multiset.h.

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

Based on operator<.

Definition at line 658 of file stl_multimap.h.

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

Based on operator<.

Definition at line 676 of