Rogue Wave banner
Previous fileTop of DocumentContentsIndex pageNext file
Standard C++ Library Module Reference Guide
Rogue Wave web site:  Home Page  |  Main Documentation Page

<iterator>

Module:  Standard C++ Library   Library:  Iterators


Header

Local Index

No Entries

Summary

The header <iterator> represents the Iterators library of the Standard C++ Library. It defines:

Synopsis

namespace std {
  template<class Iterator> struct iterator_traits;
  template<class T> struct iterator_traits<T*>;
  template<class T> struct iterator_traits<const T*>;

  template<class Category, class T,
           class Distance = ptrdiff_t,
           class Pointer = T*, class Reference = T&>
  struct iterator;

  struct input_iterator_tag {};
  struct output_iterator_tag {};
  struct forward_iterator_tag: input_iterator_tag {};
  struct bidirectional_iterator_tag : forward_iterator_tag {};
  struct random_access_iterator_tag :
                bidirectional_iterator_tag {};

  template <class InputIterator, class Distance>
  void advance(InputIterator& i, Distance n);
  template <class InputIterator>
  typename iterator_traits<InputIterator>::difference_type
  distance(InputIterator start, InputIterator finish);

  template <class Iterator> 
  class reverse_iterator;

  template <class Iterator>
  bool operator==(const reverse_iterator<Iterator>&, 
                  const reverse_iterator<Iterator>&);
  template <class Iterator>
  bool operator<(const reverse_iterator<Iterator>&, 
                 const reverse_iterator<Iterator>&);
  template <class Iterator>
  bool operator!=(const reverse_iterator<Iterator>&, 
                  const reverse_iterator<Iterator>&);
  template <class Iterator>
  bool operator>(const reverse_iterator<Iterator>&, 
                 const reverse_iterator<Iterator>&);
  template <class Iterator>
  bool operator>=(const reverse_iterator<Iterator>&, 
                  const reverse_iterator<Iterator>&);
  template <class Iterator>
  bool operator<=(const reverse_iterator<Iterator>&, 
                  const reverse_iterator<Iterator>&);

  template <class Iterator>
  typename reverse_iterator<Iterator>::difference_type
  operator-(const reverse_iterator<Iterator>&, 
            const reverse_iterator<Iterator>&);
  template <class Iterator>
  reverse_iterator<Iterator>
  operator+(typename
            reverse_iterator<Iterator>::difference_type,
            const reverse_iterator<Iterator>&);

  template <class Container> class back_insert_iterator;
  template <class Container>
  back_insert_iterator<Container> back_inserter(Container&);

  template <class Container> class front_insert_iterator;
  template <class Container>
  front_insert_iterator<Container> front_inserter(Container&);

  template <class Container> class insert_iterator;
  template <class Container, class Iterator>
  insert_iterator<Container> inserter(Container&, Iterator);

  template <class T, class charT = char,
            class traits = char_traits<charT>,
            class Distance = ptrdiff_t>
  class istream_iterator;
  template <class T, class charT, class traits, 
            class Distance>
  bool operator==(const istream_iterator<T, charT, traits,
                  Distance>&, const istream_iterator<T, charT,
                  traits, Distance>&);
  template <class T, class charT, class traits, 
            class Distance>
  bool operator!=(const istream_iterator<T, charT, traits,
                  Distance>&, const istream_iterator<T, 
                  charT, traits, Distance>&);

  template <class T, class charT = char, 
            class traits = char_traits<charT> >
  class ostream_iterator;

  template<class charT, class traits = char_traits<charT> >
  class istreambuf_iterator;
  template <class charT, class traits>
  bool operator==(const istreambuf_iterator<charT, traits>&, 
                  const istreambuf_iterator<charT, traits>&);
  template <class charT, class traits>
  bool operator!=(const istreambuf_iterator<charT, traits>&, 
                  const istreambuf_iterator<charT, traits>&);

  template <class charT, class traits = char_traits<charT> >
  class ostreambuf_iterator;
}

See Also

iterator_traits, iterator, advance(), distance(), reverse_iterator, back_insert_iterator, back_inserter(), front_insert_iterator, front_inserter(), insert_iterator, inserter(), istream_iterator, ostream_iterator, istreambuf_iterator, ostreambuf_iterator, Bidirectional Iterators, Input Iterators, Insert Iterators, Iterators, Output Iterators, Random Access Iterators, Stream Iterators

Standards Conformance

ISO/IEC 14882:1998 -- International Standard for Information Systems --Programming Language C++, Section 24



Previous fileTop of DocumentContentsIndex pageNext file

Copyright (c) 1994-2006 Rogue Wave Software, a Quovadx Division.
Licensed under the Apache License, Version 2.0.
Contact Rogue Wave about documentation or support issues. You can also seek help from other developers through the Apache stdcxx community (see below).

For more information on the Rogue Wave Standard C++ Library under open source, see Section 1.2 of the user's guide.