libstdc++: std::istreambuf_iterator< _CharT, _Traits > Class Template Reference

libstdc++

std::istreambuf_iterator< _CharT, _Traits > Class Template Reference
I/O | Iterators

`#include <streambuf_iterator.h>`

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 | reference
typedef _CharT | value_type
using | pointer
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
constexpr | istreambuf_iterator (default_sentinel_t) noexcept
| 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 &)
bool | operator== (const istreambuf_iterator &__i, default_sentinel_t)

## Detailed Description

template<typename _CharT, typename _Traits>
class std::istreambuf_iterator< _CharT, _Traits >

Provides input iterator semantics for streambufs.

Definition at line 56 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 72 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 141 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 74 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 76 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 137 of file stl_iterator_base_types.h.

## ◆ pointer

template<typename _CharT, typename _Traits>

using std::istreambuf_iterator< _CharT, _Traits >::pointer

Public typedefs.

Definition at line 69 of file streambuf_iterator.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 145 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 75 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 73 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 139 of file stl_iterator_base_types.h.

## Constructor & Destructor Documentation

## ◆ istreambuf_iterator() [1/4]

template<typename _CharT, typename _Traits>

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

Construct end of input stream iterator.

Definition at line 120 of file streambuf_iterator.h.

Referenced by equal(), and operator++().

## ◆ istreambuf_iterator() [2/4]

template<typename _CharT, typename _Traits>

std::istreambuf_iterator< _CharT, _Traits >::istreambuf_iterator | ( | default_sentinel_t |  | ) |
| inlineconstexprnoexcept

Definition at line 124 of file streambuf_iterator.h.

## ◆ istreambuf_iterator() [3/4]

template<typename _CharT, typename _Traits>

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

Construct start of input stream iterator.

Definition at line 135 of file streambuf_iterator.h.

## ◆ istreambuf_iterator() [4/4]

template<typename _CharT, typename _Traits>

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

Construct start of streambuf iterator.

Definition at line 139 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
| inlinenodiscard

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

Definition at line 197 of file streambuf_iterator.h.

References istreambuf_iterator().

## ◆ operator*()

template<typename _CharT, typename _Traits>

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

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 152 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 168 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 183 of file streambuf_iterator.h.

References istreambuf_iterator().

## Friends And Related Symbol Documentation

## ◆ operator==

template<typename _CharT, typename _Traits>

bool operator== | ( | const istreambuf_iterator< _CharT, _Traits > & | __i,
|  | default_sentinel_t | )
| friend

Definition at line 224 of file streambuf_iterator.h.

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

- iosfwd.h
- streambuf_iterator.h