STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Private Types | List of all members
istream_iterator< _Ty, _Elem, _Traits, _Diff > Class Template Reference
Inheritance diagram for istream_iterator< _Ty, _Elem, _Traits, _Diff >:
iterator< input_iterator_tag, _Ty, _Diff, const _Ty *, const _Ty & >

Public Types

typedef _Elem char_type
 
typedef _Traits traits_type
 
typedef basic_istream< _Elem, _Traits > istream_type
 
typedef const _Ty * pointer
 
- Public Types inherited from iterator< input_iterator_tag, _Ty, _Diff, const _Ty *, const _Ty & >
typedef input_iterator_tag iterator_category
 
typedef _Ty value_type
 
typedef _Diff difference_type
 
typedef const _Ty * pointer
 
typedef const _Ty & reference
 

Public Member Functions

constexpr istream_iterator ()
 
 istream_iterator (istream_type &_Istr)
 
const _Ty & operator* () const
 
pointer operator-> () const
 
_Mytoperator++ ()
 
_Myt operator++ (int)
 
bool _Equal (const _Myt &_Right) const
 

Protected Member Functions

void _Getval ()
 

Protected Attributes

istream_type_Myistr
 
_Ty _Myval
 

Private Types

typedef istream_iterator< _Ty, _Elem, _Traits, _Diff > _Myt
 

Member Typedef Documentation

template<class _Ty, class _Elem = char, class _Traits = char_traits<_Elem>, class _Diff = ptrdiff_t>
typedef istream_iterator<_Ty, _Elem, _Traits, _Diff> istream_iterator< _Ty, _Elem, _Traits, _Diff >::_Myt
private
template<class _Ty, class _Elem = char, class _Traits = char_traits<_Elem>, class _Diff = ptrdiff_t>
typedef _Elem istream_iterator< _Ty, _Elem, _Traits, _Diff >::char_type
template<class _Ty, class _Elem = char, class _Traits = char_traits<_Elem>, class _Diff = ptrdiff_t>
typedef basic_istream<_Elem, _Traits> istream_iterator< _Ty, _Elem, _Traits, _Diff >::istream_type
template<class _Ty, class _Elem = char, class _Traits = char_traits<_Elem>, class _Diff = ptrdiff_t>
typedef const _Ty* istream_iterator< _Ty, _Elem, _Traits, _Diff >::pointer
template<class _Ty, class _Elem = char, class _Traits = char_traits<_Elem>, class _Diff = ptrdiff_t>
typedef _Traits istream_iterator< _Ty, _Elem, _Traits, _Diff >::traits_type

Constructor & Destructor Documentation

template<class _Ty, class _Elem = char, class _Traits = char_traits<_Elem>, class _Diff = ptrdiff_t>
constexpr istream_iterator< _Ty, _Elem, _Traits, _Diff >::istream_iterator ( )
inline
215  : _Myistr(0), _Myval()
216  { // construct singular iterator
217  }
istream_type * _Myistr
Definition: iterator:260
_Ty _Myval
Definition: iterator:261
template<class _Ty, class _Elem = char, class _Traits = char_traits<_Elem>, class _Diff = ptrdiff_t>
istream_iterator< _Ty, _Elem, _Traits, _Diff >::istream_iterator ( istream_type _Istr)
inline
220  : _Myistr(&_Istr)
221  { // construct with input stream
222  _Getval();
223  }
istream_type * _Myistr
Definition: iterator:260
void _Getval()
Definition: iterator:254

Member Function Documentation

template<class _Ty, class _Elem = char, class _Traits = char_traits<_Elem>, class _Diff = ptrdiff_t>
bool istream_iterator< _Ty, _Elem, _Traits, _Diff >::_Equal ( const _Myt _Right) const
inline
249  { // test for iterator equality
250  return (_Myistr == _Right._Myistr);
251  }
istream_type * _Myistr
Definition: iterator:260
constexpr const _Ty &() _Right
Definition: algorithm:3591
template<class _Ty, class _Elem = char, class _Traits = char_traits<_Elem>, class _Diff = ptrdiff_t>
void istream_iterator< _Ty, _Elem, _Traits, _Diff >::_Getval ( )
inlineprotected
255  { // get a _Ty value if possible
256  if (_Myistr != 0 && !(*_Myistr >> _Myval))
257  _Myistr = 0;
258  }
istream_type * _Myistr
Definition: iterator:260
_Ty _Myval
Definition: iterator:261
template<class _Ty, class _Elem = char, class _Traits = char_traits<_Elem>, class _Diff = ptrdiff_t>
const _Ty& istream_iterator< _Ty, _Elem, _Traits, _Diff >::operator* ( ) const
inline
226  { // return designated value
227  return (_Myval);
228  }
_Ty _Myval
Definition: iterator:261
template<class _Ty, class _Elem = char, class _Traits = char_traits<_Elem>, class _Diff = ptrdiff_t>
_Myt& istream_iterator< _Ty, _Elem, _Traits, _Diff >::operator++ ( )
inline
236  { // preincrement
237  _Getval();
238  return (*this);
239  }
void _Getval()
Definition: iterator:254
template<class _Ty, class _Elem = char, class _Traits = char_traits<_Elem>, class _Diff = ptrdiff_t>
_Myt istream_iterator< _Ty, _Elem, _Traits, _Diff >::operator++ ( int  )
inline
242  { // postincrement
243  _Myt _Tmp = *this;
244  ++*this;
245  return (_Tmp);
246  }
istream_iterator< _Ty, _Elem, _Traits, _Diff > _Myt
Definition: iterator:206
template<class _Ty, class _Elem = char, class _Traits = char_traits<_Elem>, class _Diff = ptrdiff_t>
pointer istream_iterator< _Ty, _Elem, _Traits, _Diff >::operator-> ( ) const
inline
231  { // return pointer to class object
232  return (pointer_traits<pointer>::pointer_to(**this));
233  }
Definition: xmemory0:244

Member Data Documentation

template<class _Ty, class _Elem = char, class _Traits = char_traits<_Elem>, class _Diff = ptrdiff_t>
istream_type* istream_iterator< _Ty, _Elem, _Traits, _Diff >::_Myistr
protected
template<class _Ty, class _Elem = char, class _Traits = char_traits<_Elem>, class _Diff = ptrdiff_t>
_Ty istream_iterator< _Ty, _Elem, _Traits, _Diff >::_Myval
protected

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