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  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  fpos
class  ios_base
 The very top of the I/O class hierarchy. More...
class  new_alloc
class  __malloc_alloc_template
class  simple_alloc
class  __debug_alloc
class  __default_alloc_template
class  allocator
 The "standard" allocator, as per [20.4]. More...
struct  Alloc_traits
struct  Alloc_traits< Type, allocator< Type1 > >
 The version for the default allocator. More...
struct  Alloc_traits< Type, __malloc_alloc_template< inst > >
 Versions for the predefined "SGI" style allocators. More...
struct  Alloc_traits< Type, allocator< Type1, __malloc_alloc_template< inst > > >
 Versions for the allocator adaptor used with the predefined "SGI" style allocators. 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
 Bidirectional iterators support a superset of forward iterator operations. More...
struct  random_access_iterator_tag
 Random-access iterators support a superset of bidirectional iterator operations. More...
struct  iterator
 Common iterator class. More...
struct  iterator_traits
struct  List_iterator
 A list::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...
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  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  bitset
 The bitset class represents a fixed-size sequence of bits. More...
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  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...

Namespaces

namespace  rel_ops
 The generated relational operators are sequestered here.

[NOHEADER]

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

[NOHEADER]

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

[NOHEADER]

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

[NOHEADER]

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

[NOHEADER]

template<int inst>
bool operator== (const __malloc_alloc_template< inst > &, const __malloc_alloc_template< inst > &)
template<int inst>
bool operator!= (const __malloc_alloc_template< inst > &, const __malloc_alloc_template< inst > &)
template<typename Alloc>
bool operator== (const __debug_alloc< Alloc > &, const __debug_alloc< Alloc > &)
template<typename Alloc>
bool operator!= (const __debug_alloc< Alloc > &, const __debug_alloc< Alloc > &)

[NOHEADER]

template<typename Iterator>
bool operator== (const reverse_iterator< Iterator > &x, const reverse_iterator< Iterator > &y)
template<typename Iterator>
bool operator< (const reverse_iterator< Iterator > &x, const reverse_iterator< Iterator > &y)
template<typename Iterator>
bool operator!= (const reverse_iterator< Iterator > &x, const reverse_iterator< Iterator > &y)
template<typename Iterator>
bool operator> (const reverse_iterator< Iterator > &x, const reverse_iterator< Iterator > &y)
template<typename Iterator>
bool operator<= (const reverse_iterator< Iterator > &x, const reverse_iterator< Iterator > &y)
template<typename Iterator>
bool operator>= (const reverse_iterator< Iterator > &x, const reverse_iterator< Iterator > &y)
template<typename Iterator>
reverse_iterator< Iterator
>::difference_type 
operator- (const reverse_iterator< Iterator > &x, const reverse_iterator< Iterator > &y)
template<typename Iterator>
reverse_iterator< Iterator > operator+ (typename reverse_iterator< Iterator >::difference_type n, const reverse_iterator< Iterator > &x)

[NOHEADER]

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

[NOHEADER]

template<class CharT, class Traits, size_t Nb>
basic_istream< CharT, Traits > & operator>> (basic_istream< CharT, Traits > &__is, bitset< Nb > &x)
 Global I/O operators for bitsets.
template<class CharT, class Traits, size_t Nb>
basic_ostream< CharT, Traits > & operator<< (basic_ostream< CharT, Traits > &__os, const bitset< Nb > &x)
 Global I/O operators for bitsets.

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 fpos< mbstate_t > streampos
 27.2, paragraph 10 about fpos/char_traits circularity
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 .

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.
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 > & ws (basic_istream< CharT, Traits > &in)
 Quick and easy way to eat whitespace.
template<typename Type>
const Type & __median (const Type &a, const Type &__b, const Type &c)
 Find the median of three values.
template<typename Type, typename Compare>
const Type & __median (const Type &a, const Type &__b, const Type &c, Compare comp)
 Find the median of three values using a predicate for comparison.
template<typename InputIter, typename Function>
Function for_each (InputIter first, InputIter last, Function __f)
 Apply a function to every element of a sequence.
template<typename InputIter, typename Type>
InputIter find (InputIter first, InputIter last, const Type &__val)
 Find the first occurrence of a value in a sequence.
template<typename InputIter, typename Predicate>
InputIter find_if (InputIter first, InputIter last, Predicate pred)
 Find the first element in a sequence for which a predicate is true.
template<typename ForwardIter>
ForwardIter adjacent_find (ForwardIter first, ForwardIter last)
 Find two adjacent values in a sequence that are equal.
template<typename ForwardIter, typename BinaryPredicate>
ForwardIter adjacent_find (ForwardIter first, ForwardIter last, BinaryPredicate __binary_pred)
 Find two adjacent values in a sequence using a predicate.
template<typename InputIter, typename Type>
iterator_traits< InputIter
>::difference_type 
count (InputIter first, InputIter last, const Type &value)
 Count the number of copies of a value in a sequence.
template<typename InputIter, typename Predicate>
iterator_traits< InputIter
>::difference_type 
count_if (InputIter first, InputIter last, Predicate pred)
 Count the elements of a sequence for which a predicate is true.
template<typename ForwardIter1, typename ForwardIter2>
ForwardIter1 search (ForwardIter1 first1, ForwardIter1 last1, ForwardIter2 first2, ForwardIter2 last2)
 Search a sequence for a matching sub-sequence.
template<typename ForwardIter1, typename ForwardIter2, typename BinaryPred>
ForwardIter1 search (ForwardIter1 first1, ForwardIter1 last1, ForwardIter2 first2, ForwardIter2 last2, BinaryPred predicate)
 Search a sequence for a matching sub-sequence using a predicate.
template<typename ForwardIter, typename Integer, typename Type>
ForwardIter search_n (ForwardIter first, ForwardIter last, Integer count, const Type &__val)
 Search a sequence for a number of consecutive values.
template<typename ForwardIter, typename Integer, typename Type, typename BinaryPred>
ForwardIter search_n (ForwardIter first, ForwardIter last, Integer count, const Type &__val, BinaryPred __binary_pred)
 Search a sequence for a number of consecutive values using a predicate.
template<typename ForwardIter1, typename ForwardIter2>
ForwardIter2 swap_ranges (ForwardIter1 first1, ForwardIter1 last1, ForwardIter2 first2)
 Swap the elements of two sequences.
template<typename InputIter, typename OutputIter, typename UnaryOperation>
OutputIter transform (InputIter first, InputIter last, OutputIter __result, UnaryOperation __unary_op)
 Perform an operation on a sequence.
template<typename InputIter1, typename InputIter2, typename OutputIter, typename BinaryOperation>
OutputIter transform (InputIter1 first1, InputIter1 last1, InputIter2 first2, OutputIter __result, BinaryOperation __binary_op)
 Perform an operation on corresponding elements of two sequences.
template<typename ForwardIter, typename Type>
void replace (ForwardIter first, ForwardIter last, const Type &__old_value, const Type &new_value)
 Replace each occurrence of one value in a sequence with another value.
template<typename ForwardIter, typename Predicate, typename Type>
void replace_if (ForwardIter first, ForwardIter last, Predicate pred, const Type &new_value)
 Replace each value in a sequence for which a predicate returns true with another value.
template<typename InputIter, typename OutputIter, typename Type>
OutputIter replace_copy (InputIter first, InputIter last, OutputIter __result, const Type &__old_value, const Type &new_value)
 Copy a sequence, replacing each element of one value with another value.
template<typename InputIter, typename OutputIter, typename Predicate, typename Type>
OutputIter replace_copy_if (InputIter first, InputIter last, OutputIter __result, Predicate pred, const Type &new_value)
 Copy a sequence, replacing each value for which a predicate returns true with another value.
template<typename ForwardIter, typename Generator>
void generate (ForwardIter first, ForwardIter last, Generator __gen)
 Assign the result of a function object to each value in a sequence.
template<typename OutputIter, typename Size, typename Generator>
OutputIter generate_n (OutputIter first, Size n, Generator __gen)
 Assign the result of a function object to each value in a sequence.
template<typename InputIter, typename OutputIter, typename Type>
OutputIter remove_copy (InputIter first, InputIter last, OutputIter __result, const Type &value)
 Copy a sequence, removing elements of a given value.
template<typename InputIter, typename OutputIter, typename Predicate>
OutputIter remove_copy_if (InputIter first, InputIter last, OutputIter __result, Predicate pred)
 Copy a sequence, removing elements for which a predicate is true.
template<typename ForwardIter, typename Type>
ForwardIter remove (ForwardIter first, ForwardIter last, const Type &value)
 Remove elements from a sequence.
template<typename ForwardIter, typename Predicate>
ForwardIter remove_if (ForwardIter first, ForwardIter last, Predicate pred)
 Remove elements from a sequence using a predicate.
template<typename InputIter, typename OutputIter>
OutputIter unique_copy (InputIter first, InputIter last, OutputIter __result)
 Copy a sequence, removing consecutive duplicate values.
template<typename InputIter, typename OutputIter, typename BinaryPredicate>
OutputIter unique_copy (InputIter first, InputIter last, OutputIter __result, BinaryPredicate __binary_pred)
 Copy a sequence, removing consecutive values using a predicate.
template<typename ForwardIter>
ForwardIter unique (ForwardIter first, ForwardIter last)
 Remove consecutive duplicate values from a sequence.
template<typename ForwardIter, typename BinaryPredicate>
ForwardIter unique (ForwardIter first, ForwardIter last, BinaryPredicate __binary_pred)
 Remove consecutive values from a sequence using a predicate.
template<typename BidirectionalIter>
void reverse (BidirectionalIter first, BidirectionalIter last)
 Reverse a sequence.
template<typename BidirectionalIter, typename OutputIter>
OutputIter reverse_copy (BidirectionalIter first, BidirectionalIter last, OutputIter __result)
 Copy a sequence, reversing its elements.
template<typename ForwardIter>
void rotate (ForwardIter first, ForwardIter __middle, ForwardIter last)
 Rotate the elements of a sequence.
template<typename ForwardIter, typename OutputIter>
OutputIter rotate_copy (ForwardIter first, ForwardIter __middle, ForwardIter last, OutputIter __result)
 Copy a sequence, rotating its elements.
template<typename RandomAccessIter>
void random_shuffle (RandomAccessIter first, RandomAccessIter last)
 Randomly shuffle the elements of a sequence.
template<typename RandomAccessIter, typename RandomNumberGenerator>
void random_shuffle (RandomAccessIter first, RandomAccessIter last, RandomNumberGenerator &__rand)
 Shuffle the elements of a sequence using a random number generator.
template<typename ForwardIter, typename Predicate>
ForwardIter partition (ForwardIter first, ForwardIter last, Predicate pred)
 Move elements for which a predicate is true to the beginning of a sequence.
template<typename ForwardIter, typename Predicate>
ForwardIter stable_partition (ForwardIter first, ForwardIter last, Predicate pred)
 Move elements for which a predicate is true to the beginning of a sequence, preserving relative ordering.
template<typename RandomAccessIter>
void sort (RandomAccessIter first, RandomAccessIter last)
 Sort the elements of a sequence.
template<typename RandomAccessIter, typename Compare>
void sort (RandomAccessIter first, RandomAccessIter last, Compare comp)
 Sort the elements of a sequence using a predicate for comparison.
template<typename RandomAccessIter>
void stable_sort (RandomAccessIter first, RandomAccessIter last)
 Sort the elements of a sequence, preserving the relative order of equivalent elements.
template<typename RandomAccessIter, typename Compare>
void stable_sort (RandomAccessIter first, RandomAccessIter last, Compare comp)
 Sort the elements of a sequence using a predicate for comparison, preserving the relative order of equivalent elements.
template<typename RandomAccessIter>
void partial_sort (RandomAccessIter first, RandomAccessIter __middle, RandomAccessIter last)
 Sort the smallest elements of a sequence.
template<typename RandomAccessIter, typename Compare>
void partial_sort (RandomAccessIter first, RandomAccessIter __middle, RandomAccessIter last, Compare comp)
 Sort the smallest elements of a sequence using a predicate for comparison.
template<typename InputIter, typename RandomAccessIter>
RandomAccessIter partial_sort_copy (InputIter first, InputIter last, RandomAccessIter __result_first, RandomAccessIter __result_last)
 Copy the smallest elements of a sequence.
template<typename InputIter, typename RandomAccessIter, typename Compare>
RandomAccessIter partial_sort_copy (InputIter first, InputIter last, RandomAccessIter __result_first, RandomAccessIter __result_last, Compare comp)
 Copy the smallest elements of a sequence using a predicate for comparison.
template<typename RandomAccessIter>
void nth_element (RandomAccessIter first, RandomAccessIter nth, RandomAccessIter last)
 Sort a sequence just enough to find a particular position.
template<typename RandomAccessIter, typename Compare>
void nth_element (RandomAccessIter first, RandomAccessIter nth, RandomAccessIter last, Compare comp)
 Sort a sequence just enough to find a particular position using a predicate for comparison.
template<typename ForwardIter, typename Type>
ForwardIter lower_bound (ForwardIter first, ForwardIter last, const Type &__val)
 Finds the first position in which val could be inserted without changing the ordering.
template<typename ForwardIter, typename Type, typename Compare>
ForwardIter lower_bound (ForwardIter first, ForwardIter last, const Type &__val, Compare comp)
 Finds the first position in which val could be inserted without changing the ordering.
template<typename ForwardIter, typename Type>
ForwardIter upper_bound (ForwardIter first, ForwardIter last, const Type &__val)
 Finds the last position in which val could be inserted without changing the ordering.
template<typename ForwardIter, typename Type, typename Compare>
ForwardIter upper_bound (ForwardIter first, ForwardIter last, const Type &__val, Compare comp)
 Finds the last position in which val could be inserted without changing the ordering.
template<typename ForwardIter, typename Type>
pair< ForwardIter, ForwardIter > equal_range (ForwardIter first, ForwardIter last, const Type &__val)
 Finds the largest subrange in which val could be inserted at any place in it without changing the ordering.
template<typename ForwardIter, typename Type, typename Compare>
pair< ForwardIter, ForwardIter > equal_range (ForwardIter first, ForwardIter last, const Type &__val, Compare comp)
 Finds the largest subrange in which val could be inserted at any place in it without changing the ordering.
template<typename ForwardIter, typename Type>
bool binary_search (ForwardIter first, ForwardIter last, const Type &__val)
 Determines whether an element exists in a range.
template<typename ForwardIter, typename Type, typename Compare>
bool binary_search (ForwardIter first, ForwardIter last, const Type &__val, Compare comp)
 Determines whether an element exists in a range.
template<typename InputIter1, typename InputIter2, typename OutputIter>
OutputIter merge (InputIter1 first1, InputIter1 last1, InputIter2 first2, InputIter2 last2, OutputIter __result)
 Merges two sorted ranges.
template<typename InputIter1, typename InputIter2, typename OutputIter, typename Compare>
OutputIter merge (InputIter1 first1, InputIter1 last1, InputIter2 first2, InputIter2 last2, OutputIter __result, Compare comp)
 Merges two sorted ranges.
template<typename BidirectionalIter>
void inplace_merge (BidirectionalIter first, BidirectionalIter __middle, BidirectionalIter last)
 Merges two sorted ranges in place.
template<typename BidirectionalIter, typename Compare>
void inplace_merge (BidirectionalIter first, BidirectionalIter __middle, BidirectionalIter last, Compare comp)
 Merges two sorted ranges in place.
template<typename ForwardIter1, typename ForwardIter2>
void iter_swap (ForwardIter1 a, ForwardIter2 __b)
 Swaps the contents of two iterators.
template<typename Type>
void swap (Type &a, Type &__b)
 Swaps two values.
template<typename Type>
const Type & min (const Type &a, const Type &__b)
 This does what you think it does.
template<typename Type>
const Type & max (const Type &a, const Type &__b)
 This does what you think it does.
template<typename Type, typename Compare>
const Type & min (const Type &a, const Type &__b, Compare comp)
 This does what you think it does.
template<typename Type, typename Compare>
const Type & max (const Type &a, const Type &__b, Compare comp)
 This does what you think it does.
template<typename InputIter, typename OutputIter>
OutputIter copy (InputIter first, InputIter last, OutputIter __result)
 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 ForwardIter, typename Type>
void fill (ForwardIter first, ForwardIter last, const Type &value)
 Fills the range [first,last) with copies of value.
template<typename OutputIter, typename Size, typename Type>
OutputIter fill_n (OutputIter first, Size n, const Type &value)
 Fills the range [first,first+n) with copies of value.
template<typename InputIter1, typename InputIter2>
pair< InputIter1, InputIter2 > mismatch (InputIter1 first1, InputIter1 last1, InputIter2 first2)
 Finds the places in ranges which don't match.
template<typename InputIter1, typename InputIter2, typename BinaryPredicate>
pair< InputIter1, InputIter2 > mismatch (InputIter1 first1, InputIter1 last1, InputIter2 first2, BinaryPredicate __binary_pred)
 Finds the places in ranges which don't match.
template<typename InputIter1, typename InputIter2>
bool equal (InputIter1 first1, InputIter1 last1, InputIter2 first2)
 Tests a range for element-wise equality.
template<typename InputIter1, typename InputIter2, typename BinaryPredicate>
bool equal (InputIter1 first1, InputIter1 last1, InputIter2 first2, BinaryPredicate __binary_pred)
 Tests a range for element-wise equality.
template<typename InputIter1, typename InputIter2>
bool lexicographical_compare (InputIter1 first1, InputIter1 last1, InputIter2 first2, InputIter2 last2)
 Performs "dictionary" comparison on ranges.
template<typename InputIter1, typename InputIter2, typename Compare>
bool lexicographical_compare (InputIter1 first1, InputIter1 last1, InputIter2 first2, InputIter2 last2, Compare comp)
 Performs "dictionary" comparison on ranges.
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 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 T1, class T2>
bool operator== (const pair< T1, T2 > &x, const pair< T1, T2 > &y)
 Two pairs of the same type are equal iff their members are equal.
template<class T1, class T2>
bool operator< (const pair< T1, T2 > &x, const pair< T1, T2 > &y)
 <http://gcc.gnu.org/onlinedocs/libstdc++/20_util/howto.html#pairlt>
template<class T1, class T2>
bool operator!= (const pair< T1, T2 > &x, const pair< T1, T2 > &y)
 Uses operator== to find the result.
template<class T1, class T2>
bool operator> (const pair< T1, T2 > &x, const pair< T1, T2 > &y)
 Uses operator< to find the result.
template<class T1, class T2>
bool operator<= (const pair< T1, T2 > &x, const pair< T1, T2 > &y)
 Uses operator< to find the result.
template<class T1, class T2>
bool operator>= (const pair< T1, T2 > &x, const pair< T1, T2 > &y)
 Uses operator< to find the result.
template<class T1, class T2>
pair< T1, T2 > make_pair (const T1 &x, const T2 &y)
 A convenience wrapper for creating a pair from two objects.
template<typename Type, typename Sequence>
bool operator== (const queue< Type, Sequence > &x, const queue< Type, Sequence > &y)
 Queue equality comparison.
template<typename Type, typename Sequence>
bool operator< (const queue< Type, Sequence > &x, const queue< Type, Sequence > &y)
 Queue ordering relation.
template<typename Type, typename Sequence>
bool operator!= (const queue< Type, Sequence > &x, const queue< Type, Sequence > &y)
 Based on operator==.
template<typename Type, typename Sequence>
bool operator> (const queue< Type, Sequence > &x, const queue< Type, Sequence > &y)
 Based on operator<.
template<typename Type, typename Sequence>
bool operator<= (const queue< Type, Sequence > &x, const queue< Type, Sequence > &y)
 Based on operator<.
template<typename Type, typename Sequence>
bool operator>= (const queue< Type, Sequence > &x, const queue< Type, Sequence > &y)
 Based on operator<.
template<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 InputIter, typename ForwardIter>
ForwardIter uninitialized_copy (InputIter first, InputIter last, ForwardIter __result)
 Copies the range [first,last) into result.
template<typename ForwardIter, typename Type>
void uninitialized_fill (ForwardIter first, ForwardIter last, const Type &x)
 Copies the value x into the range [first,last).
template<typename ForwardIter, typename Size, typename Type>
ForwardIter uninitialized_fill_n (ForwardIter 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().
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)
 This is a mostly-useless wrapper around malloc().
template<typename Type>
void return_temporary_buffer (Type *__p)
 The companion to get_temporary_buffer().
template<typename CharT, typename Traits>
basic_ostream< CharT, Traits > & endl (basic_ostream< CharT, Traits > &__os)
 Write a newline and flush the stream.
template<typename CharT, typename Traits>
basic_ostream< CharT, Traits > & ends (basic_ostream< CharT, Traits > &__os)
 Write a null character into the output sequence.
template<typename CharT, typename Traits>
basic_ostream< CharT, Traits > & flush (basic_ostream< CharT, Traits > &__os)
 Flushes the output stream.


Detailed Description

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

Typedef Documentation

typedef void(* std::new_handler)()
 

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

Definition at line 66 of file new.

typedef fpos<mbstate_t> std::streampos
 

27.2, paragraph 10 about fpos/char_traits circularity

Definition at line 120 of file fpos.h.

typedef void(* std::terminate_handler)()
 

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

Definition at line 74 of file exception.

typedef void(* std::unexpected_handler)()
 

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

Definition at line 76 of file exception.


Function Documentation

template<typename ForwardIter, typename BinaryPredicate>
ForwardIter adjacent_find ForwardIter  first,
ForwardIter  last,
BinaryPredicate  __binary_pred
 

Find two adjacent values in a sequence using a predicate.

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

Definition at line 360 of file stl_algo.h.

template<typename ForwardIter>
ForwardIter adjacent_find ForwardIter  first,
ForwardIter  last
 

Find two adjacent values in a sequence that are equal.

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

Definition at line 331 of file stl_algo.h.

Referenced by unique().

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

A generalization of pointer arithmetic.

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

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

Definition at line 164 of file stl_iterator_base_funcs.h.

Referenced by equal_range(), lower_bound(), and upper_bound().

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

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

Definition at line 391 of file stl_iterator.h.

ios_base& boolalpha ios_base &  __base  )  [inline]
 

Calls base.setf(ios_base::boolalpha).

Definition at line 678 of file ios_base.h.

References std::ios_base::setf().

template<typename InputIter, typename OutputIter>
OutputIter copy InputIter  first,
InputIter  last,
OutputIter  __result
[inline]
 

Copies the range [first,last) into result.

Parameters:
first An input iterator.
last An input iterator.
result An output iterator.
Returns:
result + (first - last)
This inline function will boil down to a call to memmove whenever possible. Failing that, if random access iterators are passed, then the loop count will be known (and therefore a candidate for compiler optimizations such as unrolling). If the input range and the output range overlap, then the copy_backward function should be used instead.

Definition at line 341 of file stl_algobase.h.

Referenced by std::vector< Type, Alloc >::erase(), std::deque< Type, Alloc >::erase(), merge(), std::vector< Type, Alloc >::operator=(), std::deque< Type, Alloc >::operator=(), rotate_copy(), std::basic_streambuf< CharT, Traits >::xsgetn(), and std::basic_streambuf< CharT, Traits >::xsputn().

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

Copies the range [first,last) into result.

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

Definition at line 479 of file stl_algobase.h.

Referenced by std::deque< Type, Alloc >::erase().

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

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

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

Definition at line 389 of file stl_algo.h.

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

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

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

Definition at line 413 of file stl_algo.h.

ios_base& dec ios_base &  __base  )  [inline]
 

Calls base.setf(ios_base::dec, ios_base::basefield).

Definition at line 816 of file ios_base.h.

References std::ios_base::setf().

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

A generalization of pointer arithmetic.

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

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

Definition at line 111 of file stl_iterator_base_funcs.h.

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

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

Write a newline and flush the stream.

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

Definition at line 505 of file ostream.

References flush().

template<typename CharT, typename Traits>
basic_ostream<CharT, Traits>& 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 516 of file ostream.

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

template<typename InputIter1, typename InputIter2, typename BinaryPredicate>
bool equal InputIter1  first1,
InputIter1  last1,
InputIter2  first2,
BinaryPredicate  __binary_pred
[inline]
 

Tests a range for element-wise equality.

Parameters:
first1 An input iterator.
last1 An input iterator.
first2 An input iterator.
binary_pred A binary predicate functor.
Returns:
A boolean true or false.
This compares the elements of two ranges using the binary_pred parameter, and returns true or false depending on whether all of the corresponding elements of the ranges are equal.

Definition at line 701 of file stl_algobase.h.

template<typename InputIter1, typename InputIter2>
bool equal InputIter1  first1,
InputIter1  last1,
InputIter2  first2
[inline]
 

Tests a range for element-wise equality.

Parameters:
first1 An input iterator.
last1 An input iterator.
first2 An input iterator.
Returns:
A boolean true or false.
This compares the elements of two ranges using == and returns true or false depending on whether all of the corresponding elements of the ranges are equal.

Definition at line 670 of file stl_algobase.h.

Referenced by operator==().

template<typename ForwardIter, typename Type>
void fill ForwardIter  first,
ForwardIter  last,
const Type &  value
 

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

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

Definition at line 511 of file stl_algobase.h.

template<typename OutputIter, typename Size, typename Type>
OutputIter fill_n OutputIter  first,
Size  n,
const Type &  value
 

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

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

Definition at line 533 of file stl_algobase.h.

template<typename InputIter, typename Type>
InputIter find InputIter  first,
InputIter  last,
const Type &  __val
[inline]
 

Find the first occurrence of a value in a sequence.

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

Definition at line 291 of file stl_algo.h.

Referenced by remove(), search(), and search_n().

template<typename InputIter, typename Predicate>
InputIter find_if InputIter  first,
InputIter  last,
Predicate  pred
[inline]
 

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

Parameters:
first An input iterator.
last An input iterator.
pred A predicate.
Returns:
The first iterator i in the range [first,last) such that pred(*i) is true, or last if no such iterator exists.

Definition at line 311 of file stl_algo.h.

Referenced by remove_if().

ios_base& fixed ios_base &  __base  )  [inline]
 

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

Definition at line 841 of file ios_base.h.

References std::ios_base::setf().

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

Flushes the output stream.

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

Definition at line 526 of file ostream.

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

Referenced by endl().

template<typename InputIter, typename Function>
Function for_each InputIter  first,
InputIter  last,
Function  __f
 

Apply a function to every element of a sequence.

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

Definition at line 152 of file stl_algo.h.

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

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

Definition at line 462 of file stl_iterator.h.

template<typename ForwardIter, typename Generator>
void generate ForwardIter  first,
ForwardIter  last,
Generator  __gen
 

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

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

Definition at line 922 of file stl_algo.h.

template<typename OutputIter, typename Size, typename Generator>
OutputIter generate_n OutputIter  first,
Size  n,
Generator  __gen
 

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

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

Definition at line 946 of file stl_algo.h.

template<typename Type>
pair<Type*,ptrdiff_t> get_temporary_buffer ptrdiff_t  __len  )  [inline]
 

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

Parameters:
len The number of objects of type Tp.
Returns:
See full description.
Reinventing the wheel, but this time with prettier spokes!

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

Definition at line 105 of file memory.

ios_base& hex ios_base &  __base  )  [inline]
 

Calls base.setf(ios_base::hex, ios_base::basefield).

Definition at line 824 of file ios_base.h.

References std::ios_base::setf().

template<typename BidirectionalIter, typename Compare>
void inplace_merge BidirectionalIter  first,
BidirectionalIter  __middle,
BidirectionalIter  last,
Compare  comp
 

Merges two sorted ranges in place.

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

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

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

Definition at line 3563 of file stl_algo.h.

References distance().

template<typename BidirectionalIter>
void inplace_merge BidirectionalIter  first,
BidirectionalIter  __middle,
BidirectionalIter  last
 

Merges two sorted ranges in place.

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

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

Definition at line 3512 of file stl_algo.h.

References distance().

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

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

Definition at line 555 of file stl_iterator.h.

ios_base& internal ios_base &  __base  )  [inline]
 

Calls base.setf(ios_base::internal, ios_base::adjustfield).

Definition at line 791 of file ios_base.h.

References std::ios_base::setf().

template<typename ForwardIter1, typename ForwardIter2>
void iter_swap ForwardIter1  a,
ForwardIter2  __b
[inline]
 

Swaps the contents of two iterators.

Parameters:
a An iterator.
b Another iterator.
Returns:
Nothing.
This function swaps the values pointed to by two iterators, not the iterators themselves.

Definition at line 93 of file stl_algobase.h.

Referenced by random_shuffle(), and swap_ranges().

ios_base& left ios_base &  __base  )  [inline]
 

Calls base.setf(ios_base::left, ios_base::adjustfield).

Definition at line 799 of file ios_base.h.

References std::ios_base::setf().

template<typename InputIter1, typename InputIter2, typename Compare>
bool lexicographical_compare InputIter1  first1,
InputIter1  last1,
InputIter2  first2,
InputIter2  last2,
Compare  comp
 

Performs "dictionary" comparison on ranges.

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

Definition at line 769 of file stl_algobase.h.

template<typename InputIter1, typename InputIter2>
bool lexicographical_compare InputIter1  first1,
InputIter1  last1,
InputIter2  first2,
InputIter2  last2
 

Performs "dictionary" comparison on ranges.

Parameters:
first1 An input iterator.
last1 An input iterator.
first2 An input iterator.
last2 An input iterator.
Returns:
A boolean true or false.
"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 734 of file stl_algobase.h.

Referenced by operator<().

template<class T1, class T2>
pair<T1, T2> make_pair const T1 &  x,
const T2 &  y
[inline]
 

A convenience wrapper for creating a pair from two objects.

Parameters:
x The first object.
y The second object.
Returns:
A newly-constructed pair<> object of the appropriate type.
The standard requires that the objects be passed by reference-to-const, but LWG issue #181 says they should be passed by const value. We follow the LWG by default.

Definition at line 145 of file stl_pair.h.

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

This does what you think it does.

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

Definition at line 206 of file stl_algobase.h.

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

This does what you think it does.

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

Definition at line 168 of file stl_algobase.h.

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

template<typename InputIter1, typename InputIter2, typename OutputIter, typename Compare>
OutputIter merge InputIter1  first1,
InputIter1  last1,
InputIter2  first2,
InputIter2  last2,
OutputIter  __result,
Compare  comp
 

Merges two sorted ranges.

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

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

Definition at line 3171 of file stl_algo.h.

References copy().

template<typename InputIter1, typename InputIter2, typename OutputIter>
OutputIter merge InputIter1  first1,
InputIter1  last1,
InputIter2  first2,
InputIter2  last2,
OutputIter  __result
 

Merges two sorted ranges.

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

Definition at line 3119 of file stl_algo.h.

References copy().

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

This does what you think it does.

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

Definition at line 188 of file stl_algobase.h.

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

This does what you think it does.

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

Definition at line 148 of file stl_algobase.h.

Referenced by std::basic_istream< CharT, Traits >::ignore(), std::basic_istream< CharT, Traits >::operator>>(), __gnu_cxx::random_sample_n(), std::basic_istream< CharT, Traits >::readsome(), std::basic_streambuf< CharT, Traits >::xsgetn(), and std::basic_streambuf< CharT, Traits >::xsputn().

template<typename InputIter1, typename InputIter2, typename BinaryPredicate>
pair<InputIter1, InputIter2> mismatch InputIter1  first1,
InputIter1  last1,
InputIter2  first2,
BinaryPredicate  __binary_pred
 

Finds the places in ranges which don't match.

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

Definition at line 642 of file stl_algobase.h.

template<typename InputIter1, typename InputIter2>
pair<InputIter1, InputIter2> mismatch InputIter1  first1,
InputIter1  last1,
InputIter2  first2
 

Finds the places in ranges which don't match.

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

Definition at line 608 of file stl_algobase.h.

ios_base& noboolalpha ios_base &  __base  )  [inline]
 

Calls base.unsetf(ios_base::boolalpha).

Definition at line 686 of file ios_base.h.

References std::ios_base::unsetf().

ios_base& noshowbase ios_base &  __base  )  [inline]
 

Calls base.unsetf(ios_base::showbase).

Definition at line 702 of file ios_base.h.

References std::ios_base::unsetf().

ios_base& noshowpoint ios_base &  __base  )  [inline]
 

Calls base.unsetf(ios_base::showpoint).

Definition at line 718 of file ios_base.h.

References std::ios_base::unsetf().

ios_base& noshowpos ios_base &  __base  )  [inline]
 

Calls base.unsetf(ios_base::showpos).

Definition at line 734 of file ios_base.h.

References std::ios_base::unsetf().

ios_base& noskipws ios_base &  __base  )  [inline]
 

Calls base.unsetf(ios_base::skipws).

Definition at line 750 of file ios_base.h.

References std::ios_base::unsetf().

ios_base& nounitbuf ios_base &  __base  )  [inline]
 

Calls base.unsetf(ios_base::unitbuf).

Definition at line 782 of file ios_base.h.

References std::ios_base::unsetf().

ios_base& nouppercase ios_base &  __base  )  [inline]
 

Calls base.unsetf(ios_base::uppercase).

Definition at line 766 of file ios_base.h.

References std::ios_base::unsetf().

template<typename RandomAccessIter, typename Compare>
void nth_element RandomAccessIter  first,
RandomAccessIter  nth,
RandomAccessIter  last,
Compare  comp
 

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

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

Definition at line 2732 of file stl_algo.h.

References __median().

template<typename RandomAccessIter>
void nth_element RandomAccessIter  first,
RandomAccessIter  nth,
RandomAccessIter  last
 

Sort a sequence just enough to find a particular position.

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

Definition at line 2690 of file stl_algo.h.

References __median().

ios_base& oct ios_base &  __base  )  [inline]
 

Calls base.setf(ios_base::oct, ios_base::basefield).

Definition at line 832 of file ios_base.h.

References std::ios_base::setf().

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

Global bitwise operations on bitsets.

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

Definition at line 1153 of file bitset.

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

Based on operator==.

Definition at line 964 of file stl_vector.h.

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

Based on operator==.

Definition at line 228 of file stl_stack.h.

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

Based on operator==.

Definition at line 247 of file stl_queue.h.

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

Uses operator== to find the result.

Definition at line 108 of file stl_pair.h.

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

Based on operator==.

Definition at line 603 of file stl_multimap.h.

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

Based on operator==.

Definition at line 629 of file stl_map.h.

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

Based on operator==.

Definition at line 1139 of file stl_list.h.

template<typename Iterator>
bool operator!= const reverse_iterator< Iterator > &  x,
const reverse_iterator< Iterator > &  y
[inline]
 

Parameters:
x A reverse_iterator.
y A reverse_iterator.
Returns:
A simple bool.
Reverse iterators forward many operations to their underlying base() iterators. Others are implemented in terms of one another.

Definition at line 286 of file stl_iterator.h.

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

Based on operator==.

Definition at line 1567 of file stl_deque.h.

template<typename Alloc>
bool operator!= const __debug_alloc< Alloc > &  ,
const __debug_alloc< Alloc > & 
[inline]
 

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

Definition at line 841 of file stl_alloc.h.

template<int inst>
bool operator!= const __malloc_alloc_template< inst > &  ,
const __malloc_alloc_template< inst > & 
[inline]
 

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

Definition at line 830 of file stl_alloc.h.

template<typename Iterator>
reverse_iterator<Iterator> operator+ typename reverse_iterator< Iterator >::difference_type  n,
const reverse_iterator< Iterator > &  x
[inline]
 

Parameters:
x A reverse_iterator.
y A reverse_iterator.
Returns:
A simple bool.
Reverse iterators forward many operations to their underlying base() iterators. Others are implemented in terms of one another.

Definition at line 316 of file stl_iterator.h.

template<typename Iterator>
reverse_iterator<Iterator>::difference_type operator- const reverse_iterator< Iterator > &  x,
const reverse_iterator< Iterator > &  y
[inline]
 

Parameters:
x A reverse_iterator.
y A reverse_iterator.
Returns:
A simple bool.
Reverse iterators forward many operations to their underlying base() iterators. Others are implemented in terms of one another.

Definition at line 310 of file stl_iterator.h.

References std::reverse_iterator< Iterator >::base().

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

Vector ordering relation.

Parameters:
x A vector.
y A vector of the same type as x.
Returns:
True iff x is lexographically less than y.
This is a total ordering relation. It is linear in the size of the vectors. The elements must be comparable with <.

See std::lexographical_compare() for how the determination is made.

Definition at line 955 of file stl_vector.h.

References lexicographical_compare().

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

Stack ordering relation.

Parameters:
x A stack.
y A stack of the same type as x.
Returns:
True iff x is lexographically less than y.
This is an total ordering relation. Complexity and semantics depend on the underlying sequence type, but the expected rules are: this relation is linear in the size of the sequences, the elements must be comparable with <, and std::lexographical_compare() is usually used to make the determination.

Definition at line 222 of file stl_stack.h.

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

Queue ordering relation.

Parameters:
x A queue.
y A queue of the same type as x.
Returns:
True iff x is lexographically less than y.
This is an total ordering relation. Complexity and semantics depend on the underlying sequence type, but the expected rules are: this relation is linear in the size of the sequences, the elements must be comparable with <, and std::lexographical_compare() is usually used to make the determination.

Definition at line 241 of file stl_queue.h.

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

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

Definition at line 100 of file stl_pair.h.

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

Multimap ordering relation.

Parameters:
x A multimap.
y A multimap of the same type as x.
Returns:
True iff x is lexographically less than y.
This is a total ordering relation. It is linear in the size of the multimaps. The elements must be comparable with <.

See std::lexographical_compare() for how the determination is made.

Definition at line 596 of file stl_multimap.h.

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

Map ordering relation.

Parameters:
x A map.
y A map of the same type as x.
Returns:
True iff x is lexographically less than y.
This is a total ordering relation. It is linear in the size of the maps. The elements must be comparable with <.

See std::lexographical_compare() for how the determination is made.

Definition at line 622 of file stl_map.h.

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

List ordering relation.

Parameters:
x A list.
y A list of the same type as x.
Returns:
True iff x is lexographically less than y.
This is a total ordering relation. It is linear in the size of the lists. The elements must be comparable with <.

See std::lexographical_compare() for how the determination is made.

Definition at line 1130 of file stl_list.h.

References lexicographical_compare().

template<typename Iterator>
bool operator< const reverse_iterator< Iterator > &  x,
const reverse_iterator< Iterator > &  y
[inline]
 

Parameters:
x A reverse_iterator.
y A reverse_iterator.
Returns:
A simple bool.
Reverse iterators forward many operations to their underlying base() iterators. Others are implemented in terms of one another.

Definition at line 280 of file stl_iterator.h.

References std::reverse_iterator< Iterator >::base().

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

Deque ordering relation.

Parameters:
x A deque.
y A deque of the same type as x.
Returns:
True iff x is lexographically less than y.
This is a total ordering relation. It is linear in the size of the deques. The elements must be comparable with <.

See std::lexographical_compare() for how the determination is made.

Definition at line 1558 of file stl_deque.h.

References lexicographical_compare().

template<class Traits>
basic_ostream<char, Traits>& operator<< basic_ostream< char, Traits > &  out,
const unsigned char *  s
 

String inserters.

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

Definition at line 490 of file ostream.

template<class Traits>
basic_ostream<char, Traits>& operator<< basic_ostream< char, Traits > &  out,
const signed char *  s
 

String inserters.

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

Definition at line 485 of file ostream.

template<class Traits>
basic_ostream<char, Traits>& operator<< basic_ostream< char, Traits > &  out,
unsigned char  c
 

Character inserters.

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

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

Definition at line 451 of file ostream.

template<class Traits>
basic_ostream<char, Traits>& operator<< basic_ostream< char, Traits > &  out,
signed char  c
 

Character inserters.

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

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

Definition at line 446 of file ostream.

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

Character inserters.

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

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

Definition at line 435 of file ostream.

template<class CharT, class Traits, size_t Nb>
basic_ostream<CharT, Traits>& operator<< basic_ostream< CharT, Traits > &  __os,
const bitset< Nb > &  x
 

Global I/O operators for bitsets.

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

Definition at line 1241 of file bitset.

template<class Traits>
basic_ostream< char, Traits > & std::operator<< basic_ostream< char, Traits > &  out,
const char *  s
 

String inserters.

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

Definition at line 615 of file ostream.tcc.

References std::basic_ios< CharT, Traits >::fill(), std::basic_ios< CharT, Traits >::setstate(), std::ios_base::width(), and std::basic_ostream< CharT, Traits >::write().

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

String inserters.

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

Definition at line 571 of file ostream.tcc.

References std::basic_ios< CharT, Traits >::fill(), std::basic_ios< CharT, Traits >::setstate(), std::basic_ios< CharT, Traits >::widen(), std::ios_base::width(), and std::basic_ostream< CharT, Traits >::write().

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

String inserters.

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

Definition at line 540 of file ostream.tcc.

References std::basic_ios< CharT, Traits >::fill(), std::basic_ios< CharT, Traits >::setstate(), std::ios_base::width(), and std::basic_ostream< CharT, Traits >::write().

template<class Traits>
basic_ostream< char, Traits > & std::operator<< basic_ostream< char, Traits > &  out,
char  c
 

Character inserters.

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

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

Definition at line 511 of file ostream.tcc.

References std::basic_ios< CharT, Traits >::fill(), std::ios_base::width(), and std::basic_ostream< CharT, Traits >::write().

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

Character inserters.

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

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

Definition at line 481 of file ostream.tcc.

References std::basic_ios< CharT, Traits >::fill(), std::ios_base::width(), and std::basic_ostream< CharT, Traits >::write().

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

Based on operator<.

Definition at line 976 of file stl_vector.h.

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

Based on operator<.

Definition at line 240 of file stl_stack.h.

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

Based on operator<.

Definition at line 259 of file stl_queue.h.

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

Uses operator< to find the result.

Definition at line 120 of file stl_pair.h.

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

Based on operator<.

Definition at line 617 of file stl_multimap.h.

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

Based on operator<.

Definition at line 643 of file stl_map.h.

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

Based on operator<.

Definition at line 1151 of file stl_list.h.

template<typename Iterator>
bool operator<= const reverse_iterator< Iterator > &  x,
const reverse_iterator< Iterator > &  y
[inline]
 

Parameters:
x A reverse_iterator.
y A reverse_iterator.
Returns:
A simple bool.
Reverse iterators forward many operations to their underlying base() iterators. Others are implemented in terms of one another.

Definition at line 298 of file stl_iterator.h.

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

Based on operator<.

Definition at line 1581 of file stl_deque.h.

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

Vector equality comparison.

Parameters:
x A vector.
y A vector of the same type as x.
Returns:
True iff the size and elements of the vectors are equal.
This is an equivalence relation. It is linear in the size of the vectors. Vectors are considered equivalent if their sizes are equal, and if corresponding elements compare equal.

Definition at line 936 of file stl_vector.h.

References equal().

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

Stack equality comparison.

Parameters:
x A stack.
y A stack of the same type as x.
Returns:
True iff the size and elements of the stacks are equal.
This is an equivalence relation. Complexity and semantics depend on the underlying sequence type, but the expected rules are: this relation is linear in the size of the sequences, and stacks are considered equivalent if their sequences compare equal.

Definition at line 205 of file stl_stack.h.

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

Queue equality comparison.

Parameters:
x A queue.
y A queue of the same type as x.
Returns:
True iff the size and elements of the queues are equal.
This is an equivalence relation. Complexity and semantics depend on the underlying sequence type, but the expected rules are: this relation is linear in the size of the sequences, and queues are considered equivalent if their sequences compare equal.

Definition at line 224 of file stl_queue.h.

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

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

Definition at line 93 of file stl_pair.h.

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

Multimap equality comparison.

Parameters:
x A multimap.
y A multimap of the same type as x.
Returns:
True iff the size and elements of the maps are equal.
This is an equivalence relation. It is linear in the size of the multimaps. Multimaps are considered equivalent if their sizes are equal, and if corresponding elements compare equal.

Definition at line 577 of file stl_multimap.h.

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

Map equality comparison.

Parameters:
x A map.
y A map of the same type as x.
Returns:
True iff the size and elements of the maps are equal.
This is an equivalence relation. It is linear in the size of the maps. Maps are considered equivalent if their sizes are equal, and if corresponding elements compare equal.

Definition at line 605 of file stl_map.h.

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

List equality comparison.

Parameters:
x A list.
y A list of the same type as x.
Returns:
True iff the size and elements of the lists are equal.
This is an equivalence relation. It is linear in the size of the lists. Lists are considered equivalent if their sizes are equal, and if corresponding elements compare equal.

Definition at line 1102 of file stl_list.h.

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

template<typename Iterator>
bool operator== const reverse_iterator< Iterator > &  x,
const reverse_iterator< Iterator > &  y
[inline]
 

Parameters:
x A reverse_iterator.
y A reverse_iterator.
Returns:
A simple bool.
Reverse iterators forward many operations to their underlying base() iterators. Others are implemented in terms of one another.

Definition at line 274 of file stl_iterator.h.

References std::reverse_iterator< Iterator >::base().

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

Deque equality comparison.

Parameters:
x A deque.
y A deque of the same type as x.
Returns:
True iff the size and elements of the deques are equal.
This is an equivalence relation. It is linear in the size of the deques. Deques are considered equivalent if their sizes are equal, and if corresponding elements compare equal.

Definition at line 1539 of file stl_deque.h.

References equal().

template<typename Alloc>
bool operator== const __debug_alloc< Alloc > &  ,
const __debug_alloc< Alloc > & 
[inline]
 

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

Definition at line 836 of file stl_alloc.h.

template<int inst>
bool operator== const __malloc_alloc_template< inst > &  ,
const __malloc_alloc_template< inst > & 
[inline]
 

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

Definition at line 824 of file stl_alloc.h.

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

Based on operator<.

Definition at line 970 of file stl_vector.h.

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

Based on operator<.

Definition at line 234 of file stl_stack.h.

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

Based on operator<.

Definition at line 253 of file stl_queue.h.

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

Uses operator< to find the result.

Definition at line 114 of file stl_pair.h.

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

Based on operator<.

Definition at line 610 of file stl_multimap.h.

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

Based on operator<.

Definition at line 636 of file stl_map.h.

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

Based on operator<.

Definition at line 1145 of file stl_list.h.

template<typename Iterator>
bool operator> const reverse_iterator< Iterator > &  x,
const reverse_iterator< Iterator > &  y
[inline]
 

Parameters:
x A reverse_iterator.
y A reverse_iterator.
Returns:
A simple bool.
Reverse iterators forward many operations to their underlying base() iterators. Others are implemented in terms of one another.

Definition at line 292 of file stl_iterator.h.

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

Based on operator<.

Definition at line 1574 of file stl_deque.h.

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

Based on operator<.

Definition at line 982 of file stl_vector.h.

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

Based on operator<.

Definition at line 246 of file stl_stack.h.

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

Based on operator<.

Definition at line 265 of file stl_queue.h.

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

Uses operator< to find the result.

Definition at line 126 of file stl_pair.h.

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

Based on operator<.

Definition at line 624 of file stl_multimap.h.

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

Based on operator<.

Definition at line 650 of file stl_map.h.

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

Based on operator<.

Definition at line 1157 of file stl_list.h.

template<typename Iterator>
bool operator>= const reverse_iterator< Iterator > &  x,
const reverse_iterator< Iterator > &  y
[inline]
 

Parameters:
x A reverse_iterator.
y A reverse_iterator.
Returns:
A simple bool.
Reverse iterators forward many operations to their underlying base() iterators. Others are implemented in terms of one another.

Definition at line 304 of file stl_iterator.h.

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

Based on operator<.

Definition at line 1588 of file stl_deque.h.

template<class Traits>
basic_istream<char,Traits>& operator>> basic_istream< char, Traits > &  in,
signed char *  s
 

Character string extractors.

Parameters:
in An input stream.
s A pointer to a character array.
Returns:
in
Behaves like one of the formatted arithmetic extractors described in std::basic_istream. After constructing a sentry object with good status, this function extracts up to n characters and stores them into the array starting at s. n is defined as:

  • if width() is greater than zero, n is width()
  • otherwise n is "the number of elements of the largest array of char_type that can store a terminating eos." [27.6.1.2.3]/6

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

  • n-1 characters are stored
  • EOF is reached
  • the next character is whitespace according to the current locale
  • the next character is a null byte (i.e., charT() )

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

If no characters are extracted, sets failbit.

Definition at line 689 of file istream.

template<class Traits>
basic_istream<char,Traits>& operator>> basic_istream< char, Traits > &  in,
unsigned char *  s
 

Character string extractors.

Parameters:
in An input stream.
s A pointer to a character array.
Returns:
in
Behaves like one of the formatted arithmetic extractors described in std::basic_istream. After constructing a sentry object with good status, this function extracts up to n characters and stores them into the array starting at s. n is defined as:

  • if width() is greater than zero, n is width()
  • otherwise n is "the number of elements of the largest array of char_type that can store a terminating eos." [27.6.1.2.3]/6

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

  • n-1 characters are stored
  • EOF is reached
  • the next character is whitespace according to the current locale
  • the next character is a null byte (i.e., charT() )

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

If no characters are extracted, sets failbit.

Definition at line 684 of file istream.

template<class Traits>
basic_istream<char, Traits>& operator>> basic_istream< char, Traits > &  in,
signed char &  c
 

Character extractors.

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

Definition at line 648 of file istream.

template<class Traits>
basic_istream<char, Traits>& operator>> basic_istream< char, Traits > &  in,
unsigned char &  c
 

Character extractors.

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

Definition at line 643 of file istream.

template<class CharT, class Traits, size_t Nb>
basic_istream<CharT, Traits>& operator>> basic_istream< CharT, Traits > &  __is,
bitset< Nb > &  x
 

Global I/O operators for bitsets.

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

Definition at line 1190 of file bitset.

References std::basic_string< CharT, Traits, Alloc >::empty(), std::basic_string< CharT, Traits, Alloc >::push_back(), std::basic_string< CharT, Traits, Alloc >::reserve(), std::basic_streambuf< CharT, Traits >::sbumpc(), and std::basic_streambuf< CharT, Traits >::sputbackc().

template<typename CharT, typename Traits>
basic_istream< CharT, Traits > & std::operator>> basic_istream< CharT, Traits > &  in,
CharT *  s
 

Character string extractors.

Parameters:
in An input stream.
s A pointer to a character array.
Returns:
in
Behaves like one of the formatted arithmetic extractors described in std::basic_istream. After constructing a sentry object with good status, this function extracts up to n characters and stores them into the array starting at s. n is defined as:

  • if width() is greater than zero, n is width()
  • otherwise n is "the number of elements of the largest array of char_type that can store a terminating eos." [27.6.1.2.3]/6

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

  • n-1 characters are stored
  • EOF is reached
  • the next character is whitespace according to the current locale
  • the next character is a null byte (i.e., charT() )

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

If no characters are extracted, sets failbit.

Definition at line 945 of file istream.tcc.

References max().

template<typename CharT, typename Traits>
basic_istream< CharT, Traits > & std::operator>> basic_istream< CharT, Traits > &  in,
CharT &  c
 

Character extractors.

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

Definition at line 920 of file istream.tcc.

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

Global bitwise operations on bitsets.

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

Definition at line 1171 of file bitset.

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

Global bitwise operations on bitsets.

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

Definition at line 1162 of file bitset.

template<typename RandomAccessIter, typename Compare>
void partial_sort RandomAccessIter  first,
RandomAccessIter  __middle,
RandomAccessIter  last,
Compare  comp
 

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

Parameters:
first An iterator.
middle Another iterator.
last Another iterator.
comp A comparison functor.
Returns:
Nothing.
Sorts the smallest (middle-first) elements in the range [first,last) and moves them to the range [first,middle). The order of the remaining elements in the range [middle,last) is undefined. After the sort if i and are iterators in the range [first,middle) such that precedes and is an iterator in the range [middle,last) then *comp(j,*i) and comp(*k,*i) are both false.

Definition at line 2544 of file stl_algo.h.

template<typename RandomAccessIter>
void partial_sort RandomAccessIter  first,
RandomAccessIter  __middle,
RandomAccessIter  last
 

Sort the smallest elements of a sequence.

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

Definition at line 2506 of file stl_algo.h.

template<typename InputIter, typename RandomAccessIter, typename Compare>
RandomAccessIter partial_sort_copy InputIter  first,
InputIter  last,
RandomAccessIter  __result_first,
RandomAccessIter  __result_last,
Compare  comp
 

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

Parameters:
first An input iterator.
last Another input iterator.
result_first A random-access iterator.
result_last Another random-access iterator.
comp A comparison functor.
Returns:
An iterator indicating the end of the resulting sequence.
Copies and sorts the smallest N values from the range [first,last) to the range beginning at result_first, where the number of elements to be copied, N, is the smaller of (last-first) and (result_last-result_first). After the sort if i and are iterators in the range [result_first,result_first+N) such that precedes then comp(*j,*i) is false. The value returned is result_first+N.

Definition at line 2637 of file stl_algo.h.

template<typename InputIter, typename RandomAccessIter>
RandomAccessIter partial_sort_copy InputIter  first,
InputIter  last,
RandomAccessIter  __result_first,
RandomAccessIter  __result_last
 

Copy the smallest elements of a sequence.

Parameters:
first An iterator.
last Another iterator.
result_first A random-access iterator.
result_last Another random-access iterator.
Returns:
An iterator indicating the end of the resulting sequence.
Copies and sorts the smallest N values from the range [first,last) to the range beginning at result_first, where the number of elements to be copied, N, is the smaller of (last-first) and (result_last-result_first). After the sort if i and are iterators in the range [result_first,result_first+N) such that precedes then *j<*i is false. The value returned is result_first+N.

Definition at line 2583 of file stl_algo.h.

template<typename ForwardIter, typename Predicate>
ForwardIter partition ForwardIter  first,
ForwardIter  last,
Predicate  pred
[inline]
 

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

Parameters:
first A forward iterator.
last A forward iterator.
pred A predicate functor.
Returns:
An iterator middle such that pred(i) is true for each iterator i in the range [first,middle) and false for each i in the range [middle,last).
pred must not modify its operand. partition() does not preserve the relative ordering of elements in each group, use stable_partition() if this is needed.

Definition at line 1752 of file stl_algo.h.

template<typename RandomAccessIter, typename RandomNumberGenerator>
void random_shuffle RandomAccessIter  first,
RandomAccessIter  last,
RandomNumberGenerator &  __rand
 

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

Parameters:
first A forward iterator.
last A forward iterator.
rand The RNG functor or function.
Returns:
Nothing.
Reorders the elements in the range [first,last) using rand to provide a random distribution. Calling rand(N) for a positive integer N should return a randomly chosen integer from the range [0,N).

Definition at line 1664 of file stl_algo.h.

References iter_swap().

template<typename RandomAccessIter>
void random_shuffle RandomAccessIter  first,
RandomAccessIter  last
[inline]
 

Randomly shuffle the elements of a sequence.

Parameters:
first A forward iterator.
last A forward iterator.
Returns:
Nothing.
Reorder the elements in the range [first,last) using a random distribution, so that every possible ordering of the sequence is equally likely.

Definition at line 1638 of file stl_algo.h.

References iter_swap().

template<typename ForwardIter, typename Type>
ForwardIter remove ForwardIter  first,
ForwardIter  last,
const Type &  value
 

Remove elements from a sequence.

Parameters:
first An input iterator.
last An input iterator.
value The value to be removed.
Returns:
An iterator designating the end of the resulting sequence.
All elements equal to value are removed from the range [first,last).

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

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

Definition at line 1043 of file stl_algo.h.

References find(), and remove_copy().

template<typename InputIter, typename OutputIter, typename Type>
OutputIter remove_copy InputIter  first,
InputIter  last,
OutputIter  __result,
const Type &  value
 

Copy a sequence, removing elements of a given value.

Parameters:
first An input iterator.
last An input iterator.
result An output iterator.
value The value to be removed.
Returns:
An iterator designating the end of the resulting sequence.
Copies each element in the range [first,last) not equal to value to the range beginning at result. remove_copy() is stable, so the relative order of elements that are copied is unchanged.

Definition at line 973 of file stl_algo.h.

Referenced by remove().

template<typename InputIter, typename OutputIter, typename Predicate>
OutputIter remove_copy_if InputIter  first,
InputIter  last,
OutputIter  __result,
Predicate  pred
 

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

Parameters:
first An input iterator.
last An input iterator.
result An output iterator.
pred A predicate.
Returns:
An iterator designating the end of the resulting sequence.
Copies each element in the range [first,last) for which pred returns true to the range beginning at result.

remove_copy_if() is stable, so the relative order of elements that are copied is unchanged.

Definition at line 1007 of file stl_algo.h.

Referenced by remove_if().

template<typename ForwardIter, typename Predicate>
ForwardIter remove_if ForwardIter  first,
ForwardIter  last,
Predicate  pred
 

Remove elements from a sequence using a predicate.

Parameters:
first A forward iterator.
last A forward iterator.
pred A predicate.
Returns:
An iterator designating the end of the resulting sequence.
All elements for which pred returns true are removed from the range [first,last).

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

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

Definition at line 1077 of file stl_algo.h.

References find_if(), and remove_copy_if().

template<typename ForwardIter, typename Type>
void replace ForwardIter  first,
ForwardIter  last,
const Type &  __old_value,
const Type &  new_value
 

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

Parameters:
first A forward iterator.
last A forward iterator.
old_value The value to be replaced.
new_value The replacement value.
Returns:
replace() returns no value.
For each iterator i in the range [first,last) if *i == old_value then the assignment *i = new_value is performed.

Definition at line 800 of file stl_algo.h.

template<typename InputIter, typename OutputIter, typename Type>
OutputIter replace_copy InputIter  first,
InputIter  last,
OutputIter  __result,
const Type &  __old_value,
const Type &  new_value
 

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

Parameters:
first An input iterator.
last An input iterator.
result An output iterator.
old_value The value to be replaced.
new_value The replacement value.
Returns:
The end of the output sequence, result+(last-first).
Copies each element in the input range [first,last) to the output range [result,result+(last-first)) replacing elements equal to old_value with new_value.

Definition at line 860 of file stl_algo.h.

template<typename InputIter, typename OutputIter, typename Predicate, typename Type>
OutputIter replace_copy_if InputIter  first,
InputIter  last,
OutputIter  __result,
Predicate  pred,
const Type &  new_value
 

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

Parameters:
first An input iterator.
last An input iterator.
result An output iterator.
pred A predicate.
new_value The replacement value.
Returns:
The end of the output sequence, result+(last-first).
Copies each element in the range [first,last) to the range [result,result+(last-first)) replacing elements for which pred returns true with new_value.

Definition at line 893 of file stl_algo.h.

template<typename ForwardIter, typename Predicate, typename Type>
void replace_if ForwardIter  first,
ForwardIter  last,
Predicate  pred,
const Type &  new_value
 

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

Parameters:
first A forward iterator.
last A forward iterator.
pred A predicate.
new_value The replacement value.
Returns:
replace_if() returns no value.
For each iterator i in the range [first,last) if pred(*i) is true then the assignment *i = new_value is performed.

Definition at line 829 of file stl_algo.h.

Resetiosflags resetiosflags ios_base::fmtflags  __mask  )  [inline]
 

Manipulator for setf.

Parameters:
mask A format flags mask.
Sent to a stream object, this manipulator resets the specified flags, via stream.setf(0,mask).

Definition at line 64 of file iomanip.

template<typename Type>
void return_temporary_buffer Type *  __p  ) 
 

The companion to get_temporary_buffer().

Parameters:
p A buffer previously allocated by get_temporary_buffer.
Returns:
None.
Frees the memory pointed to by p.

Definition at line 117 of file memory.

template<typename BidirectionalIter>
void reverse BidirectionalIter  first,
BidirectionalIter  last
[inline]
 

Reverse a sequence.

Parameters:
first A bidirectional iterator.
last A bidirectional iterator.
Returns:
reverse() returns no value.
Reverses the order of the elements in the range [first,last), so that the first element becomes the last etc. For every i such that 0<=i<=(last-first)/2), reverse() swaps *(first+i) and *(last-(i+1))

Definition at line 1353 of file stl_algo.h.

template<typename BidirectionalIter, typename OutputIter>
OutputIter reverse_copy BidirectionalIter  first,
BidirectionalIter  last,
OutputIter  __result
 

Copy a sequence, reversing its elements.

Parameters:
first A bidirectional iterator.
last A bidirectional iterator.
result An output iterator.
Returns:
An iterator designating the end of the resulting sequence.
Copies the elements in the range [first,last) to the range [result,result+(last-first)) such that the order of the elements is reversed. For every i such that 0<=i<=(last-first), reverse_copy() performs the assignment *(result+(last-first)-i) = *(first+i). The ranges [first,last) and [result,result+(last-first)) must not overlap.

Definition at line 1378 of file stl_algo.h.

ios_base& right ios_base &  __base  )  [inline]
 

Calls base.setf(ios_base::right, ios_base::adjustfield).

Definition at line 807 of file ios_base.h.

References std::ios_base::setf().

template<typename ForwardIter>
void rotate ForwardIter  first,
ForwardIter  __middle,
ForwardIter  last
[inline]
 

Rotate the elements of a sequence.

Parameters:
first A forward iterator.
middle A forward iterator.
last A forward iterator.
Returns:
Nothing.
Rotates the elements of the range [first,last) by (middle-first) positions so that the element at middle is moved to first, the element at middle+1 is moved to +1 and so on for each element in the range [first,last).

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

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

Definition at line 1565 of file stl_algo.h.

template<typename ForwardIter, typename OutputIter>
OutputIter rotate_copy ForwardIter  first,
ForwardIter  __middle,
ForwardIter  last,
OutputIter  __result
 

Copy a sequence, rotating its elements.

Parameters:
first A forward iterator.
middle A forward iterator.
last A forward iterator.
result An output iterator.
Returns:
An iterator designating the end of the resulting sequence.
Copies the elements of the range [first,last) to the range beginning at
Returns:
, rotating the copied elements by (middle-first) positions so that the element at middle is moved to result, the element at middle+1 is moved to

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

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

Definition at line 1593 of file stl_algo.h.

References copy().

ios_base& scientific ios_base &  __base  )  [inline]
 

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

Definition at line 849 of file ios_base.h.

References std::ios_base::setf().

template<typename ForwardIter1, typename ForwardIter2, typename BinaryPred>
ForwardIter1 search ForwardIter1  first1,
ForwardIter1  last1,
ForwardIter2  first2,
ForwardIter2  last2,
BinaryPred  predicate
 

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

Parameters:
first1 A forward iterator.
last1 A forward iterator.
first2 A forward iterator.
last2 A forward iterator.
predicate A binary predicate.
Returns:
The first iterator i in the range [first1,last1-(last2-first2)) such that predicate(*(i+N),*(first2+N)) is true for each N in the range [0,last2-first2), or last1 if no such iterator exists.
Searches the range [first1,last1) for a sub-sequence that compares equal value-by-value with the sequence given by [first2,last2), using predicate to determine equality, and returns an iterator to the first element of the sub-sequence, or last1 if no such iterator exists.

See also:
search(ForwardIter1, ForwardIter1, ForwardIter2, ForwardIter2)

Definition at line 524 of file stl_algo.h.

template<typename ForwardIter1, typename ForwardIter2>
ForwardIter1 search ForwardIter1  first1,
ForwardIter1  last1,
ForwardIter2  first2,
ForwardIter2  last2
 

Search a sequence for a matching sub-sequence.

Parameters:
first1 A forward iterator.
last1 A forward iterator.
first2 A forward iterator.
last2 A forward iterator.
Returns:
The first iterator i in the range [first1,last1-(last2-first2)) such that *(i+N) == *(first2+N) for each N in the range [0,last2-first2), or last1 if no such iterator exists.
Searches the range [first1,last1) for a sub-sequence that compares equal value-by-value with the sequence given by [first2,last2) and returns an iterator to the first element of the sub-sequence, or last1 if the sub-sequence is not found.

Because the sub-sequence must lie completely within the range [first1,last1) it must start at a position less than last1-(last2-first2) where last2-first2 is the length of the sub-sequence. This means that the returned iterator i will be in the range [first1,last1-(last2-first2))

Definition at line 452 of file stl_algo.h.

References find().

template<typename ForwardIter, typename Integer, typename Type, typename BinaryPred>
ForwardIter search_n ForwardIter  first,
ForwardIter  last,
Integer  count,
const Type &  __val,
BinaryPred  __binary_pred
 

Search a sequence for a number of consecutive values using a predicate.

Parameters:
first A forward iterator.
last A forward iterator.
count The number of consecutive values.
val The value to find.
binary_pred A binary predicate.
Returns:
The first iterator i in the range [first,last-count) such that binary_pred(*(i+N),val) is true for each N in the range [0,count), or last if no such iterator exists.
Searches the range [first,last) for count consecutive elements for which the predicate returns true.

Definition at line 647 of file stl_algo.h.

template<typename ForwardIter, typename Integer, typename Type>
ForwardIter search_n ForwardIter  first,
ForwardIter  last,
Integer  count,
const Type &  __val
 

Search a sequence for a number of consecutive values.

Parameters:
first A forward iterator.
last A forward iterator.
count The number of consecutive values.
val The value to find.
Returns:
The first iterator i in the range [first,last-count) such that *(i+N) == val for each N in the range [0,count), or last if no such iterator exists.
Searches the range [first,last) for count consecutive elements equal to val.

Definition at line 598 of file stl_algo.h.

References find().

new_handler set_new_handler new_handler   )  throw ()
 

Takes a replacement handler as the argument, returns the previous handler.

terminate_handler set_terminate terminate_handler   )  throw ()
 

Takes a new handler function as an argument, returns the old function.

unexpected_handler set_unexpected unexpected_handler   )  throw ()
 

Takes a new handler function as an argument, returns the old function.

Setbase setbase int  __base  )  [inline]
 

Manipulator for setf.

Parameters:
base A numeric base.
Sent to a stream object, this manipulator changes the ios_base::basefield flags to oct, dec, or hex when base is 8, 10, or 16, accordingly, and to 0 if base is any other value.

Definition at line 133 of file iomanip.

template<typename CharT>
Setfill<CharT> setfill CharT  c  )  [inline]
 

Manipulator for fill.

Parameters:
c The new fill character.
Sent to a stream object, this manipulator calls fill(c) for that object.

Definition at line 175 of file iomanip.

Setiosflags setiosflags ios_base::fmtflags  __mask  )  [inline]
 

Manipulator for setf.

Parameters:
mask A format flags mask.
Sent to a stream object, this manipulator sets the format flags to mask.

Definition at line 98 of file iomanip.

Setprecision setprecision int  n  )  [inline]
 

Manipulator for precision.

Parameters:
n The new precision.
Sent to a stream object, this manipulator calls precision(n) for that object.

Definition at line 209 of file iomanip.

Setw setw int  n  )  [inline]
 

Manipulator for width.

Parameters:
n The new width.
Sent to a stream object, this manipulator calls width(n) for that object.

Definition at line 243 of file iomanip.

ios_base& showbase ios_base &  __base  )  [inline]
 

Calls base.setf(ios_base::showbase).

Definition at line 694 of file ios_base.h.

References std::ios_base::setf().

ios_base& showpoint ios_base &  __base  )  [inline]
 

Calls base.setf(ios_base::showpoint).

Definition at line 710 of file ios_base.h.

References std::ios_base::setf().

ios_base& showpos ios_base &  __base  )  [inline]
 

Calls base.setf(ios_base::showpos).

Definition at line 726 of file ios_base.h.

References std::ios_base::setf().

ios_base& skipws ios_base &  __base  )  [inline]
 

Calls base.setf(ios_base::skipws).

Definition at line 742 of file ios_base.h.

References std::ios_base::setf().

template<typename RandomAccessIter, typename Compare>
void sort RandomAccessIter  first,
RandomAccessIter  last,
Compare  comp
[inline]
 

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

Parameters:
first An iterator.
last Another iterator.
comp A comparison functor.
Returns:
Nothing.
Sorts the elements in the range [first,last) in ascending order, such that comp(*(i+1),*i) is false for every iterator i in the range [first,last-1).

The relative ordering of equivalent elements is not preserved, use stable_sort() if this is needed.

Definition at line 2201 of file stl_algo.h.

template<typename RandomAccessIter>
void sort RandomAccessIter  first,
RandomAccessIter  last
[inline]
 

Sort the elements of a sequence.

Parameters:
first An iterator.
last Another iterator.
Returns:
Nothing.
Sorts the elements in the range [first,last) in ascending order, such that *(i+1)<*i is false for each iterator i in the range [first,last-1).

The relative ordering of equivalent elements is not preserved, use stable_sort() if this is needed.

Definition at line 2170 of file stl_algo.h.

template<typename ForwardIter, typename Predicate>
ForwardIter stable_partition ForwardIter  first,
ForwardIter  last,
Predicate  pred
 

Move elements for which a predicate is true to the beginning of a sequence, preserving relative ordering.

Parameters:
first A forward iterator.
last A forward iterator.
pred A predicate functor.
Returns:
An iterator middle such that pred(i) is true for each iterator i in the range [first,middle) and false for each i in the range [middle,last).
Performs the same function as partition() with the additional guarantee that the relative ordering of elements in each group is preserved, so any two elements x and y in the range [first,last) such that pred(x)==pred(y) will have the same relative ordering after calling stable_partition().

Definition at line 1852 of file stl_algo.h.

template<typename RandomAccessIter, typename Compare>
void stable_sort RandomAccessIter  first,
RandomAccessIter  last,
Compare  comp
[inline]
 

Sort the elements of a sequence using a predicate for comparison, preserving the relative order of equivalent elements.

Parameters:
first An iterator.
last Another iterator.
comp A comparison functor.
Returns:
Nothing.
Sorts the elements in the range [first,last) in ascending order, such that comp(*(i+1),*i) is false for each iterator i in the range [first,last-1).

The relative ordering of equivalent elements is preserved, so any two elements x and y in the range [first,last) such that comp(x,y) is false and comp(y,x) is false will have the same relative ordering after calling stable_sort().

Definition at line 2470 of file stl_algo.h.

template<typename RandomAccessIter>
void stable_sort RandomAccessIter  first,
RandomAccessIter  last
[inline]
 

Sort the elements of a sequence, preserving the relative order of equivalent elements.

Parameters:
first An iterator.
last Another iterator.
Returns:
Nothing.
Sorts the elements in the range [first,last) in ascending order, such that *(i+1)<*i is false for each iterator i in the range [first,last-1).

The relative ordering of equivalent elements is preserved, so any two elements x and y in the range [first,last) such that x<y is false and y<x is false will have the same relative ordering after calling stable_sort().

Definition at line 2434 of file stl_algo.h.

template<typename Type, typename Alloc>
void swap vector< Type, Alloc > &  x,
vector< Type, Alloc > &  y
[inline]
 

See std::vector::swap().

Definition at line 988 of file stl_vector.h.

template<typename Key, typename Type, typename Compare, typename Alloc>
void swap multimap< Key, Type, Compare, Alloc > &  x,
multimap< Key, Type, Compare, Alloc > &  y
[inline]
 

See std::multimap::swap().

Definition at line 631 of file stl_multimap.h.

template<typename Key, typename Type, typename Compare, typename Alloc>
void swap map< Key, Type, Compare, Alloc > &  x,
map< Key, Type, Compare, Alloc > &  y
[inline]
 

See std::map::swap().

Definition at line 657 of file stl_map.h.

template<typename Type, typename Alloc>
void swap list< Type, Alloc > &  x,
list< Type, Alloc > &  y
[inline]
 

See std::list::swap().

Definition at line 1163 of file stl_list.h.

template<typename Type, typename Alloc>
void swap deque< Type, Alloc > &  x,
deque< Type, Alloc > &  y
[inline]
 

See std::deque::swap().

Definition at line 1595 of file stl_deque.h.

template<typename Type>
void swap Type &  a,
Type &  __b
[inline]
 

Swaps two values.

Parameters:
a A thing of arbitrary type.
b Another thing of arbitrary type.
Returns:
Nothing.
This is the simple classic generic implementation. It will work on any type which has a copy constructor and an assignment operator.

Definition at line 120 of file stl_algobase.h.

Referenced by std::vector< Node *, Alloc >::swap(), std::list< Type, Alloc >::swap(), and std::deque< Type, Alloc >::swap().

template<typename ForwardIter1, typename ForwardIter2>
ForwardIter2 swap_ranges ForwardIter1  first1,
ForwardIter1  last1,
ForwardIter2  first2
 

Swap the elements of two sequences.

Parameters:
first1 A forward iterator.
last1 A forward iterator.
first2 A forward iterator.
Returns:
An iterator equal to first2+(last1-first1).
Swaps each element in the range [first1,last1) with the corresponding element in the range [first2,(last1-first1)). The ranges must not overlap.

Definition at line 701 of file stl_algo.h.

References iter_swap().

void terminate  ) 
 

The runtime will call this function if exception handling must be abandoned for any reason.

template<typename InputIter1, typename InputIter2, typename OutputIter, typename BinaryOperation>
OutputIter transform InputIter1  first1,
InputIter1  last1,
InputIter2  first2,
OutputIter  __result,
BinaryOperation  __binary_op
 

Perform an operation on corresponding elements of two sequences.

Parameters:
first1 An input iterator.
last1 An input iterator.
first2 An input iterator.
result An output iterator.
binary_op A binary operator.
Returns:
An output iterator equal to result+(last-first).
Applies the operator to the corresponding elements in the two input ranges and assigns the results to successive elements of the output sequence. Evaluates *(result+N)=binary_op(*(first1+N),*(first2+N)) for each N in the range [0,last1-first1).

binary_op must not alter either of its arguments.

Definition at line 770 of file stl_algo.h.

template<typename InputIter, typename OutputIter, typename UnaryOperation>
OutputIter transform InputIter  first,
InputIter  last,
OutputIter  __result,
UnaryOperation  __unary_op
 

Perform an operation on a sequence.

Parameters:
first An input iterator.
last An input iterator.
result An output iterator.
unary_op A unary operator.
Returns:
An output iterator equal to result+(last-first).
Applies the operator to each element in the input range and assigns the results to successive elements of the output sequence. Evaluates *(result+N)=unary_op(*(first+N)) for each N in the range [0,last-first).

unary_op must not alter its argument.

Definition at line 736 of file stl_algo.h.

bool uncaught_exception  )  throw ()
 

[18.6.4]/1: "Returns true after completing evaluation of a throw-expression until either completing initialization of the exception-declaration in the matching handler or entering unexpected() due to the throw; or after entering terminate() for any reason other than an explicit call to terminate(). [Note: This includes stack unwinding [15.2]. end note]"

2: "When uncaught_exception() is true, throwing an exception can result in a call of terminate() (15.5.1)."

Referenced by std::basic_ostream< CharT, Traits >::sentry::~sentry().

void unexpected  ) 
 

The runtime will call this function if an exception is thrown which violates the function's exception specification.

template<typename InputIter, typename ForwardIter>
ForwardIter uninitialized_copy InputIter  first,
InputIter  last,
ForwardIter  __result
[inline]
 

Copies the range [first,last) into result.

Parameters:
first An input iterator.
last An input iterator.
result An output iterator.
Returns:
result + (first - last)
Like copy(), but does not require an initialized output range.

Definition at line 108 of file stl_uninitialized.h.

Referenced by std::deque< Type, Alloc >::deque(), std::vector< Type, Alloc >::operator=(), and std::vector< Node *, Alloc >::vector().

template<typename ForwardIter, typename Type>
void uninitialized_fill ForwardIter  first,
ForwardIter  last,
const Type &  x
[inline]
 

Copies the value x into the range [first,last).

Parameters:
first An input iterator.
last An input iterator.
x The source value.
Returns:
Nothing.
Like fill(), but does not require an initialized output range.

Definition at line 166 of file stl_uninitialized.h.

template<typename ForwardIter, typename Size, typename Type>
ForwardIter uninitialized_fill_n ForwardIter  first,
Size  n,
const Type &  x
[inline]
 

Copies the value x into the range [first,first+n).

Parameters:
first An input iterator.
n The number of copies to make.
x The source value.
Returns:
first+n
Like fill_n(), but does not require an initialized output range.

Definition at line 212 of file stl_uninitialized.h.

Referenced by std::vector< Node *, Alloc >::vector().

template<typename ForwardIter, typename BinaryPredicate>
ForwardIter unique ForwardIter  first,
ForwardIter  last,
BinaryPredicate  __binary_pred
 

Remove consecutive values from a sequence using a predicate.

Parameters:
first A forward iterator.
last A forward iterator.
binary_pred A binary predicate.
Returns:
An iterator designating the end of the resulting sequence.
Removes all but the first element from each group of consecutive values for which binary_pred returns true. unique() is stable, so the relative order of elements that are not removed is unchanged. Elements between the end of the resulting sequence and last are still present, but their value is unspecified.

Definition at line 1294 of file stl_algo.h.

References adjacent_find(), and unique_copy().

template<typename ForwardIter>
ForwardIter unique ForwardIter  first,
ForwardIter  last
 

Remove consecutive duplicate values from a sequence.

Parameters:
first A forward iterator.
last A forward iterator.
Returns:
An iterator designating the end of the resulting sequence.
Removes all but the first element from each group of consecutive values that compare equal. unique() is stable, so the relative order of elements that are not removed is unchanged. Elements between the end of the resulting sequence and last are still present, but their value is unspecified.

Definition at line 1267 of file stl_algo.h.

References adjacent_find(), and unique_copy().

template<typename InputIter, typename OutputIter, typename BinaryPredicate>
OutputIter unique_copy InputIter  first,
InputIter  last,
OutputIter  __result,
BinaryPredicate  __binary_pred
[inline]
 

Copy a sequence, removing consecutive values using a predicate.

Parameters:
first An input iterator.
last An input iterator.
result An output iterator.
binary_pred A binary predicate.
Returns:
An iterator designating the end of the resulting sequence.
Copies each element in the range [first,last) to the range beginning at result, except that only the first element is copied from groups of consecutive elements for which binary_pred returns true. unique_copy() is stable, so the relative order of elements that are copied is unchanged.

Definition at line 1236 of file stl_algo.h.

template<typename InputIter, typename OutputIter>
OutputIter unique_copy InputIter  first,
InputIter  last,
OutputIter  __result
[inline]
 

Copy a sequence, removing consecutive duplicate values.

Parameters:
first An input iterator.
last An input iterator.
result An output iterator.
Returns:
An iterator designating the end of the resulting sequence.
Copies each element in the range [first,last) to the range beginning at result, except that only the first element is copied from groups of consecutive elements that compare equal. unique_copy() is stable, so the relative order of elements that are copied is unchanged.

Definition at line 1149 of file stl_algo.h.

Referenced by unique().

ios_base& unitbuf ios_base &  __base  )  [inline]
 

Calls base.setf(ios_base::unitbuf).

Definition at line 774 of file ios_base.h.

References std::ios_base::setf().

ios_base& uppercase ios_base &  __base  )  [inline]
 

Calls base.setf(ios_base::uppercase).

Definition at line 758 of file ios_base.h.

References std::ios_base::setf().

template<typename CharT, typename Traits>
basic_istream< CharT, Traits > & std::ws basic_istream< CharT, Traits > &  __is  ) 
 

Quick and easy way to eat whitespace.

This manipulator extracts whitespace characters, stopping when the next character is non-whitespace, or when the input sequence is empty. If the sequence is empty, eofbit is set in the stream, but not failbit.

The current locale is used to distinguish whitespace characters.

Example:

     MyClass   mc;

     std::cin >> std::ws >> mc;
will skip leading whitespace before calling operator>> on cin and your object. Note that the same effect can be achieved by creating a std::basic_istream::sentry inside your definition of operator>>.

Definition at line 1000 of file istream.tcc.


Variable Documentation

ostream std::cerr
 

Linked to standard error (unbuffered).

Definition at line 304 of file globals.cc.

istream std::cin
 

Linked to standard input.

Definition at line 302 of file globals.cc.

ostream std::clog
 

Linked to standard error (buffered).

Definition at line 305 of file globals.cc.

ostream std::cout
 

Linked to standard output.

Definition at line 303 of file globals.cc.


Generated on Thu Feb 10 23:23:45 2005 for libstdc++-v3 Source by  doxygen 1.4.0