Lecture Notes for CS 509, Advanced Programming II

26 February 2004, Some Iterator Adaptors


Outline


Some Loopy Code


The Mutating-Algorithm Trap


Iterator Adaptors


Insert Iterator Adaptors


Back Insert Iterator Adaptor


Back Inserter Implementation

template < class ContainerT >
back_insert_iterator {

  ContainerT cont

  back_insert_iterator(ContainerT c) 
    : cont(c) { }

  operator = (ContainerT::value_type v)
    cont.push_back(v);

  operator * (void) 
    return * this;

  // similarly for pre and post ++
  }


Back Inserter Pointers


Front Insert Iterator Adaptor


Insert Iterator Adaptor


Insert Iterators vs. Loops


More Loopy Code


Input and Output Iterators


The Output Iterator Adaptor


Output Iterator Operators


Input Iterator Adaptor


The EOS Istream Iterator


Istream Iterator Operators


Istream Iterator Pointers


I-O Stream Iterators vs. Loops


Points to Remember


This page last modified on 2 March 2004.