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.