List of all members | Public Types | Public Member Functions | Private Member Functions | Private Attributes
utl::split< istream >::iterator Class Reference

#include <split.h>

Inheritance diagram for utl::split< istream >::iterator:
Inheritance graph
[legend]

Public Types

typedef std::input_iterator_tag iterator_category
 
typedef const std::string * pointer
 
typedef const std::string & reference
 
typedef iterator self_type
 
typedef const std::string value_type
 

Public Member Functions

 iterator ()
 
 iterator (istream &is, const char delim= '\n')
 
bool operator!= (const iterator &it) const
 
const std::string & operator* () const
 
iteratoroperator++ ()
 
const std::string * operator-> () const
 
bool operator== (const iterator &it) const
 

Private Member Functions

void next ()
 

Private Attributes

char _delim = '\0'
 
istream * _istream_ptr = nullptr
 
std::string _line
 

Detailed Description

template<class istream>
class utl::split< istream >::iterator

Definition at line 19 of file split.h.

Member Typedef Documentation

template<class istream >
typedef std::input_iterator_tag utl::split< istream >::iterator::iterator_category

Definition at line 25 of file split.h.

template<class istream >
typedef const std::string* utl::split< istream >::iterator::pointer

Definition at line 24 of file split.h.

template<class istream >
typedef const std::string& utl::split< istream >::iterator::reference

Definition at line 23 of file split.h.

template<class istream >
typedef iterator utl::split< istream >::iterator::self_type

Definition at line 21 of file split.h.

template<class istream >
typedef const std::string utl::split< istream >::iterator::value_type

Definition at line 22 of file split.h.

Constructor & Destructor Documentation

template<class istream >
utl::split< istream >::iterator::iterator ( )
inline

Definition at line 27 of file split.h.

template<class istream >
utl::split< istream >::iterator::iterator ( istream &  is,
const char  delim = '\n' 
)
inline

Definition at line 28 of file split.h.

References utl::split< istream >::iterator::next().

Member Function Documentation

template<class istream >
void utl::split< istream >::iterator::next ( )
inlineprivate
template<class istream >
bool utl::split< istream >::iterator::operator!= ( const iterator it) const
inline

Definition at line 43 of file split.h.

References utl::split< istream >::iterator::operator==().

template<class istream >
const std::string& utl::split< istream >::iterator::operator* ( ) const
inline
template<class istream >
iterator& utl::split< istream >::iterator::operator++ ( )
inline

Definition at line 29 of file split.h.

References utl::split< istream >::iterator::next().

template<class istream >
const std::string* utl::split< istream >::iterator::operator-> ( ) const
inline

Definition at line 31 of file split.h.

References utl::split< istream >::iterator::operator*().

template<class istream >
bool utl::split< istream >::iterator::operator== ( const iterator it) const
inline

Member Data Documentation

template<class istream >
char utl::split< istream >::iterator::_delim = '\0'
private
template<class istream >
istream* utl::split< istream >::iterator::_istream_ptr = nullptr
private
template<class istream >
std::string utl::split< istream >::iterator::_line
private

The documentation for this class was generated from the following file:

, generated on Tue Sep 26 2023.