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

## Public Types

typedef _Traits::off_type | difference_type
typedef input_iterator_tag | iterator_category
typedef _CharT * | pointer
typedef _CharT | reference
typedef _CharT | 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)
istreambuf_iterator & | operator= (const istreambuf_iterator &) noexcept=default

## 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 , typename _Size >
__gnu_cxx::__enable_if< __is_char< _CharT2 >::__value, _CharT2 * >::__type | __copy_n_a (istreambuf_iterator< _CharT2 >, _Size, _CharT2 *, bool)
template<typename _CharT2 , typename _Distance >
__gnu_cxx::__enable_if< __is_char< _CharT2 >::__value, void >::__type | advance (istreambuf_iterator< _CharT2 > &, _Distance)
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>
class std::istreambuf_iterator< _CharT, _Traits >

Provides input iterator semantics for streambufs.

Definition at line 50 of file streambuf_iterator.h.

## Member Typedef Documentation

## char_type

template<typename _CharT , typename _Traits >

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

Public typedefs.

Definition at line 66 of file streambuf_iterator.h.

## difference_type

typedef _Traits::off_type std::iterator< input_iterator_tag , _CharT , _Traits::off_type , _CharT * , _CharT >::difference_type

inherited

Distance between iterators is represented as this type.

Definition at line 134 of file stl_iterator_base_types.h.

## int_type

template<typename _CharT , typename _Traits >

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

Public typedefs.

Definition at line 68 of file streambuf_iterator.h.

## istream_type

template<typename _CharT , typename _Traits >

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

Public typedefs.

Definition at line 70 of file streambuf_iterator.h.

## iterator_category

typedef input_iterator_tag std::iterator< input_iterator_tag , _CharT , _Traits::off_type , _CharT * , _CharT >::iterator_category

inherited

One of the tag types.

Definition at line 130 of file stl_iterator_base_types.h.

## pointer

typedef _CharT * std::iterator< input_iterator_tag , _CharT , _Traits::off_type , _CharT * , _CharT >::pointer

inherited

This type represents a pointer-to-value_type.

Definition at line 136 of file stl_iterator_base_types.h.

## reference

typedef _CharT std::iterator< input_iterator_tag , _CharT , _Traits::off_type , _CharT * , _CharT >::reference

inherited

This type represents a reference-to-value_type.

Definition at line 138 of file stl_iterator_base_types.h.

## streambuf_type

template<typename _CharT , typename _Traits >

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

Public typedefs.

Definition at line 69 of file streambuf_iterator.h.

## traits_type

template<typename _CharT , typename _Traits >

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

Public typedefs.

Definition at line 67 of file streambuf_iterator.h.

## value_type

typedef _CharT std::iterator< input_iterator_tag , _CharT , _Traits::off_type , _CharT * , _CharT >::value_type

inherited

The type "pointed to" by the iterator.

Definition at line 132 of file stl_iterator_base_types.h.

## Constructor & Destructor Documentation

## istreambuf_iterator() [1/3]

template<typename _CharT , typename _Traits >

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

inline constexpr noexcept

Construct end of input stream iterator.

Definition at line 114 of file streambuf_iterator.h.

## istreambuf_iterator() [2/3]

template<typename _CharT , typename _Traits >

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

inline noexcept

Construct start of input stream iterator.

Definition at line 129 of file streambuf_iterator.h.

## istreambuf_iterator() [3/3]

template<typename _CharT , typename _Traits >

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

inline noexcept

Construct start of streambuf iterator.

Definition at line 133 of file streambuf_iterator.h.

## Member Function Documentation

## equal()

template<typename _CharT , typename _Traits >

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 193 of file streambuf_iterator.h.

## operator*()

template<typename _CharT , typename _Traits >

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 145 of file streambuf_iterator.h.

## operator++() [1/2]

template<typename _CharT , typename _Traits >

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

inline

Advance the iterator. Calls streambuf.sbumpc().

Definition at line 161 of file streambuf_iterator.h.

## operator++() [2/2]

template<typename _CharT , typename _Traits >

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

inline

Advance the iterator. Calls streambuf.sbumpc().

Definition at line 175 of file streambuf_iterator.h.

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

- iosfwd
- streambuf_iterator.h