DDS  ver. 3.4
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
MiscCommon::custom_istream_iterator< T, Ch, Tr, Dist > Class Template Reference

This custom istream iterator helps to read input line by line without breaking lines after whitespace etc. More...

#include <CustomIterator.h>

Inheritance diagram for MiscCommon::custom_istream_iterator< T, Ch, Tr, Dist >:

Public Types

typedef custom_istream_iterator< T, Ch, Tr, Dist > m_it
 
typedef Ch char_type
 
typedef Tr traits_type
 
typedef std::basic_istream< Ch, Tr > istream_type
 

Public Member Functions

 custom_istream_iterator ()
 
 custom_istream_iterator (istream_type &s)
 
const T & operator * () const
 
const T * operator-> () const
 
custom_istream_iteratoroperator++ ()
 
custom_istream_iterator operator++ (int)
 
bool equal (const m_it &rhs) const
 

Protected Member Functions

void getval ()
 
template<>
void getval ()
 

Protected Attributes

istream_typem_istream
 
m_val
 

Detailed Description

template<class T, class Ch = char, class Tr = std::char_traits<Ch>, class Dist = std::ptrdiff_t>
class MiscCommon::custom_istream_iterator< T, Ch, Tr, Dist >

This custom istream iterator helps to read input line by line without breaking lines after whitespace etc.

Note
Usage:
ifstream f("test.txt");
std::vector<std::string> vec;
std::copy(custom_istream_iterator<std::string>(f),
custom_istream_iterator<std::string>(),
std::back_inserter(vec));

Member Typedef Documentation

◆ char_type

template<class T, class Ch = char, class Tr = std::char_traits<Ch>, class Dist = std::ptrdiff_t>
typedef Ch MiscCommon::custom_istream_iterator< T, Ch, Tr, Dist >::char_type

◆ istream_type

template<class T, class Ch = char, class Tr = std::char_traits<Ch>, class Dist = std::ptrdiff_t>
typedef std::basic_istream<Ch, Tr> MiscCommon::custom_istream_iterator< T, Ch, Tr, Dist >::istream_type

◆ m_it

template<class T, class Ch = char, class Tr = std::char_traits<Ch>, class Dist = std::ptrdiff_t>
typedef custom_istream_iterator<T, Ch, Tr, Dist> MiscCommon::custom_istream_iterator< T, Ch, Tr, Dist >::m_it

◆ traits_type

template<class T, class Ch = char, class Tr = std::char_traits<Ch>, class Dist = std::ptrdiff_t>
typedef Tr MiscCommon::custom_istream_iterator< T, Ch, Tr, Dist >::traits_type

Constructor & Destructor Documentation

◆ custom_istream_iterator() [1/2]

template<class T, class Ch = char, class Tr = std::char_traits<Ch>, class Dist = std::ptrdiff_t>
MiscCommon::custom_istream_iterator< T, Ch, Tr, Dist >::custom_istream_iterator ( )
inline

◆ custom_istream_iterator() [2/2]

template<class T, class Ch = char, class Tr = std::char_traits<Ch>, class Dist = std::ptrdiff_t>
MiscCommon::custom_istream_iterator< T, Ch, Tr, Dist >::custom_istream_iterator ( istream_type s)
inline

Member Function Documentation

◆ equal()

template<class T, class Ch = char, class Tr = std::char_traits<Ch>, class Dist = std::ptrdiff_t>
bool MiscCommon::custom_istream_iterator< T, Ch, Tr, Dist >::equal ( const m_it rhs) const
inline

◆ getval() [1/2]

template<class T, class Ch = char, class Tr = std::char_traits<Ch>, class Dist = std::ptrdiff_t>
void MiscCommon::custom_istream_iterator< T, Ch, Tr, Dist >::getval ( )
inlineprotected

◆ getval() [2/2]

template<>
void MiscCommon::custom_istream_iterator< std::basic_string< char >, char, std::char_traits< char >, std::ptrdiff_t >::getval ( )
inlineprotected

◆ operator *()

template<class T, class Ch = char, class Tr = std::char_traits<Ch>, class Dist = std::ptrdiff_t>
const T& MiscCommon::custom_istream_iterator< T, Ch, Tr, Dist >::operator * ( ) const
inline

◆ operator++() [1/2]

template<class T, class Ch = char, class Tr = std::char_traits<Ch>, class Dist = std::ptrdiff_t>
custom_istream_iterator& MiscCommon::custom_istream_iterator< T, Ch, Tr, Dist >::operator++ ( )
inline

◆ operator++() [2/2]

template<class T, class Ch = char, class Tr = std::char_traits<Ch>, class Dist = std::ptrdiff_t>
custom_istream_iterator MiscCommon::custom_istream_iterator< T, Ch, Tr, Dist >::operator++ ( int  )
inline

◆ operator->()

template<class T, class Ch = char, class Tr = std::char_traits<Ch>, class Dist = std::ptrdiff_t>
const T* MiscCommon::custom_istream_iterator< T, Ch, Tr, Dist >::operator-> ( ) const
inline

Member Data Documentation

◆ m_istream

template<class T, class Ch = char, class Tr = std::char_traits<Ch>, class Dist = std::ptrdiff_t>
istream_type* MiscCommon::custom_istream_iterator< T, Ch, Tr, Dist >::m_istream
protected

◆ m_val

template<class T, class Ch = char, class Tr = std::char_traits<Ch>, class Dist = std::ptrdiff_t>
T MiscCommon::custom_istream_iterator< T, Ch, Tr, Dist >::m_val
protected

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