std::istreambuf_iterator< _CharT, _Traits > Class Template Reference
I/O | Iterators
Inheritance diagram for std::istreambuf_iterator< _CharT, _Traits >:
[legend]

## Public Types

typedef _Distance | difference_type
typedef _Category | iterator_category
typedef _Pointer | pointer
typedef _Reference | reference
typedef _Tp | value_type
typedef _CharT | char_type
typedef _Traits | traits_type
typedef _Traits::int_type | int_type
typedef basic_streambuf < _CharT, _Traits > | streambuf_type
typedef basic_istream< _CharT, _Traits > | istream_type

## Public Member Functions

constexpr | istreambuf_iterator () noexcept
| istreambuf_iterator (const istreambuf_iterator &) noexcept=default
| istreambuf_iterator (istream_type &__s) noexcept
| istreambuf_iterator (streambuf_type *__s) noexcept
bool | equal (const istreambuf_iterator &__b) const
char_type | operator* () const
istreambuf_iterator & | operator++ ()
istreambuf_iterator | operator++ (int)

## Friends

template<bool _IsMove, typename _CharT2 >
__gnu_cxx::__enable_if < __is_char< _CharT2 > ::__value, _CharT2 * >::__type | __copy_move_a2 (istreambuf_iterator< _CharT2 >, istreambuf_iterator< _CharT2 >, _CharT2 *)
template<typename _CharT2 >
__gnu_cxx::__enable_if < __is_char< _CharT2 > ::__value, ostreambuf_iterator < _CharT2 > >::__type | copy (istreambuf_iterator< _CharT2 >, istreambuf_iterator< _CharT2 >, ostreambuf_iterator< _CharT2 >)
template<typename _CharT2 >
__gnu_cxx::__enable_if < __is_char< _CharT2 > ::__value, istreambuf_iterator < _CharT2 > >::__type | find (istreambuf_iterator< _CharT2 >, istreambuf_iterator< _CharT2 >, const _CharT2 &)

## Detailed Description

### template<typename _CharT, typename _Traits = char_traits<_CharT>>
class std::istreambuf_iterator< _CharT, _Traits >

Provides input iterator semantics for streambufs.

Definition at line 120 of file iosfwd.

## Member Typedef Documentation

template<typename _CharT , typename _Traits = char_traits<_CharT>>

typedef _CharT std::istreambuf_iterator< _CharT, _Traits >::char_type

Public typedefs.

Definition at line 64 of file streambuf_iterator.h.

template<typename _Category, typename _Tp, typename _Distance = ptrdiff_t, typename _Pointer = _Tp*, typename _Reference = _Tp&>

typedef _Distance std::iterator< _Category, _Tp, _Distance, _Pointer, _Reference >::difference_type

inherited

Distance between iterators is represented as this type.

Definition at line 125 of file stl_iterator_base_types.h.

template<typename _CharT , typename _Traits = char_traits<_CharT>>

typedef _Traits::int_type std::istreambuf_iterator< _CharT, _Traits >::int_type

Public typedefs.

Definition at line 66 of file streambuf_iterator.h.

template<typename _CharT , typename _Traits = char_traits<_CharT>>

typedef basic_istream<_CharT, _Traits> std::istreambuf_iterator< _CharT, _Traits >::istream_type

Public typedefs.

Definition at line 68 of file streambuf_iterator.h.

template<typename _Category, typename _Tp, typename _Distance = ptrdiff_t, typename _Pointer = _Tp*, typename _Reference = _Tp&>

typedef _Category std::iterator< _Category, _Tp, _Distance, _Pointer, _Reference >::iterator_category

inherited

One of the tag types.

Definition at line 121 of file stl_iterator_base_types.h.

template<typename _Category, typename _Tp, typename _Distance = ptrdiff_t, typename _Pointer = _Tp*, typename _Reference = _Tp&>

typedef _Pointer std::iterator< _Category, _Tp, _Distance, _Pointer, _Reference >::pointer

inherited

This type represents a pointer-to-value_type.

Definition at line 127 of file stl_iterator_base_types.h.

template<typename _Category, typename _Tp, typename _Distance = ptrdiff_t, typename _Pointer = _Tp*, typename _Reference = _Tp&>

typedef _Reference std::iterator< _Category, _Tp, _Distance, _Pointer, _Reference >::reference

inherited

This type represents a reference-to-value_type.

Definition at line 129 of file stl_iterator_base_types.h.

template<typename _CharT , typename _Traits = char_traits<_CharT>>

typedef basic_streambuf<_CharT, _Traits> std::istreambuf_iterator< _CharT, _Traits >::streambuf_type

Public typedefs.

Definition at line 67 of file streambuf_iterator.h.

template<typename _CharT , typename _Traits = char_traits<_CharT>>

typedef _Traits std::istreambuf_iterator< _CharT, _Traits >::traits_type

Public typedefs.

Definition at line 65 of file streambuf_iterator.h.

template<typename _Category, typename _Tp, typename _Distance = ptrdiff_t, typename _Pointer = _Tp*, typename _Reference = _Tp&>

typedef _Tp std::iterator< _Category, _Tp, _Distance, _Pointer, _Reference >::value_type

inherited

The type "pointed to" by the iterator.

Definition at line 123 of file stl_iterator_base_types.h.

## Constructor & Destructor Documentation

template<typename _CharT , typename _Traits = char_traits<_CharT>>

constexpr std::istreambuf_iterator< _CharT, _Traits >::istreambuf_iterator | ( |  | ) |

inline noexcept

Construct end of input stream iterator.

Definition at line 102 of file streambuf_iterator.h.

template<typename _CharT , typename _Traits = char_traits<_CharT>>

std::istreambuf_iterator< _CharT, _Traits >::istreambuf_iterator | ( | istream_type & | __s | ) |

inline noexcept

Construct start of input stream iterator.

Definition at line 112 of file streambuf_iterator.h.

template<typename _CharT , typename _Traits = char_traits<_CharT>>

std::istreambuf_iterator< _CharT, _Traits >::istreambuf_iterator | ( | streambuf_type * | __s | ) |

inline noexcept

Construct start of streambuf iterator.

Definition at line 116 of file streambuf_iterator.h.

## Member Function Documentation

template<typename _CharT , typename _Traits = char_traits<_CharT>>

bool std::istreambuf_iterator< _CharT, _Traits >::equal | ( | const istreambuf_iterator< _CharT, _Traits > & | __b | ) | const

inline

Return true both iterators are end or both are not end.

Definition at line 172 of file streambuf_iterator.h.

template<typename _CharT , typename _Traits = char_traits<_CharT>>

char_type std::istreambuf_iterator< _CharT, _Traits >::operator* | ( |  | ) | const

inline

Return the current character pointed to by iterator. This returns streambuf.sgetc(). It cannot be assigned. NB: The result of operator*() on an end of stream is undefined.

Definition at line 123 of file streambuf_iterator.h.

template<typename _CharT , typename _Traits = char_traits<_CharT>>

istreambuf_iterator& std::istreambuf_iterator< _CharT, _Traits >::operator++ | ( |  | ) |

inline

Advance the iterator. Calls streambuf.sbumpc().

Definition at line 137 of file streambuf_iterator.h.

References std::basic_streambuf< _CharT, _Traits >::sbumpc().

template<typename _CharT , typename _Traits = char_traits<_CharT>>

istreambuf_iterator std::istreambuf_iterator< _CharT, _Traits >::operator++ | ( | int |  | ) |

inline

Advance the iterator. Calls streambuf.sbumpc().

Definition at line 152 of file streambuf_iterator.h.

References std::basic_streambuf< _CharT, _Traits >::sbumpc().

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

- iosfwd
- streambuf_iterator.h