OTL 4.0, STL-compliant OTL input iterator

STL-compliant OTL input iterator

otl_input_iterator<T, Distance>

Category: iterators Component type: type

Description

otl_input_iterator is an Input Iterator that performs input of objects of type T from a particular otl_stream. When end of stream is reached, the otl_input_iterator takes on a special end of stream value, which is a past-the-end iterator. Note that all of the restrictions of an Input 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 otl_input_iterator's value type. Operator* returns a const T&  
Distance The otl_input_iterator's distance type.  ptrdiff_t

Model of

Input Iterator

Type requirements

The value type T must be a type such that s >> T is a valid expression.

The value type T must be a model of Default Constructible.

The distance type must, as described in the Input Iterator requirements, be a signed integral type.

Public base classes

None.

Members

Member  Where defined  Description 
otl_input_iterator() otl_input_iterator See below. 
otl_input_iterator(otl_stream&) otl_input_iterator See below. 
otl_input_iterator(const otl_input_iterator&) Trivial Iterator The copy constructor 
otl_input_iterator& operator=(const otl_stream&) Trivial Iterator The assignment operator 
const T& operator*() const Input Iterator Returns the next object in the stream. 
otl_input_iterator& operator++() Input Iterator Preincrement. 
otl_input_iterator& operator++(int) Input Iterator Postincrement.
bool operator==(const otl_input_iterator&, const otl_input_iterator&) Trivial iterator The equality operator. This is a global function, not a member function. 
input_iterator_tag iterator_category(const otl_input_iterator&) iterator tags Returns the iterator's category. 
T* value_type(const otl_input_iterator&) iterator tags Returns the iterator's value type. 
Distance* distance_type(const otl_input_iterator&) iterator tags Returns the iterator's distance type. < 

New members

   
 
Function  Description 
otl_input_iterator() The default constructor: Constructs an end-of-stream iterator. This is a past-the-end iterator, and it is useful when constructing a "range".
otl_input_iterator(otl_stream& s) Creates an otl_input_iterator that reads values from the OTL stream s. When s reaches end of stream, this iterator will compare equal to an end-of-stream iterator created using the default constructor. 

Notes

See also

otl_output_iterator, Input Iterator, Output Iterator


Contents Go Home

Copyright © 1996-2017, Sergei Kuchin, email: skuchin@gmail.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. THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.