Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ Insert_Iterators(3C++) — Sun WorkShop 5.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Insert_Iterators(3C++)

Standard C++ Library
Copyright 1998, Rogue Wave Software, Inc.

 

NAME

 
Insert_Iterators
 
 - An iterator adaptor that allows an iterator to insert into a container rather than overwrite elements in the container.
 
 
 

SYNOPSIS

 
 
#include <iterator>
template <class Container>
class insert_iterator :

iterator<output_iterator_tag,void,void,void,void> ;

 
template <class Container>
class back_insert_iterator;
 
template <class Container>
class front_insert_iterator;
 
 
 

DESCRIPTION

 
 
Insert iterators are iterator adaptors that let an iterator insert new elements into a collection rather than overwrite existing elements when copying to a container. There are several types of insert iterator classes.
 
 

•The class_back_insert_iterator is used to insert items at the end of a collection. The function back_inserter can be used with an iterator inline, to create an instance of a_back_insert_iterator for a particular collection type. 

•The class front_insert_iterator is used to insert items at the start of a collection. The function front_inserter creates an instance of a front_insert_iterator for a particular collection type. 

•An insert_iterator inserts new items into a collection at a location defined by an iterator supplied to the constructor. Like the other insert iterators, insert_iterator has a helper function called inserter, which takes a collection and an iterator into that collection, and creates an instance of the insert_iterator. 

 
 
 

INTERFACE

 
 
template <class Container>
class insert_iterator : public

iterator<output_iterator_tag,void,void,void,void> ; {

 
public:

typedef Container container_type;
insert_iterator (Container&, typename

Container::iterator);

insert_iterator<Container>&

operator= (const typename Container::value_type&);

insert_iterator<Container>& operator∗ ();
insert_iterator<Container>& operator++ ();
insert_iterator<Container>& operator++ (int);

};
 
template <class Container>
class back_insert_iterator : public

iterator<output_iterator_tag,void,void,void,void> ; {

 
public:

typedef Container container_type;
explicit back_insert_iterator (Container&);
back_insert_iterator<Container>&

operator= (const typename Container::value_type&);

back_insert_iterator<Container>& operator∗ ();
back_insert_iterator<Container>& operator++ ();
back_insert_iterator<Container> operator++ (int);

};
 
template <class Container>
class front_insert_iterator : public

iterator<output_iterator_tag,void,void,void,void> ; {

 
public:

typedef Container container_type;
explicit front_insert_iterator (Container&);
front_insert_iterator<Container>&

operator= (const typename Container::value_type&);

front_insert_iterator<Container>& operator∗ ();
front_insert_iterator<Container>& operator++ ();
front_insert_iterator<Container> operator++ (int);

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

 

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

front_inserter (Container&);
 
 
 

SEE ALSO

 
 
back_insert_iterator, front_insert_iterator, insert_iterator
 

Rogue Wave Software  —  Last change: 02 Apr 1998

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026