OTL 4.0, STL-compliant output iterator
STL-compliant output iterator
otl_output_iterator<T>
 |
 |
Category: iterators |
Component type: type |
Description
otl_output_iterator is an Output
Iterator that performs output of objects of type T to a particular
otl_stream.
Note that all of the restrictions of an Output
Iterator must be obeyed, including the restrictions on the ordering
of operator* and operator++ operations.
Definition
Defined in the OTL header file..
Template parameters
Parameter |
Description |
Default |
T |
The type of object that will be written to the otl_stream.
The set of value types of an otl_output_iterator consists of a
single type, T. |
|
Model of
Output Iterator.
Type requirements
T must be a type such that otl_stream s;...; s << T
is a valid expression.
Public base classes
None.
Members
Member |
Where defined |
Description |
otl_output_iterator(otl_stream&) |
otl_output_iterator |
See below. |
otl_output_iterator(const otl_output_iterator&) |
Output
Iterator |
The copy constructor |
otl_output_iterator& operator=(const otl_output_iterator&) |
Output
Iterator |
The assignment operator |
otl_output_iterator& operator=(const T&) |
Output
Iterator |
Used to implement the Output
Iterator requirement *i = t. [1] |
otl_output_iterator& operator*() |
Output
Iterator |
Used to implement the Output
Iterator requirement *i = t. [1] |
otl_output_iterator& operator++() |
Output
Iterator |
Preincrement |
otl_output_iterator& operator++(int) |
Output
Iterator |
Postincrement |
output_iterator_tag iterator_category(const otl_output_iterator&) |
iterator
tags |
Returns the iterator's category. |
New members
These members are not defined in the Output
Iterator requirements, but are specific to otl_output_iterator.
Function |
Description |
otl_output_iterator(otl_stream& s) |
Creates an otl_output_iterator such that assignment
of t through it is equivalent to s << t. |
Notes
[1] Note how assignment through an otl_output_iterator
is implemented. In general, unary operator* must be defined so
that it returns a proxy object, where the proxy object defines operator=
to perform the output operation. In this case, for the sake of simplicity,
the proxy object is the otl_output_iterator itself. That is, *i
simply returns i, and *i = t is equivalent to i =
t. You should not, however, rely on this behavior. It is an implementation
detail, and it is not guaranteed to remain the same in future versions.
See also
otl_input_iterator, Output
Iterator, Input
Iterator.
Contents Go Home
Copyright © 1996, 2007, Sergei Kuchin, email: skuchin@ispwest.com,
skuchin@gmail.com.
Permission to use, copy, modify and redistribute this document for
any purpose is hereby granted without fee, provided that the above copyright
notice appear in all copies.