# std::istreambuf_iterator< _CharT, _Traits > Class Template Reference

Inheritance diagram for std::istreambuf_iterator< _CharT, _Traits >:

List of all members.

## Detailed Description

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

Definition at line 49 of file streambuf_iterator.h.

## 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::int_type int_type
- typedef basic_istream< _CharT,
  _Traits > istream_type
- typedef basic_streambuf< _CharT,
  _Traits > streambuf_type
- typedef _Traits traits_type

## Public Member Functions

- bool equal (const istreambuf_iterator &__b) const
- istreambuf_iterator (streambuf_type *__s) throw ()
- istreambuf_iterator (istream_type &__s) throw ()
- istreambuf_iterator () throw ()
- char_type operator * () const
- istreambuf_iterator operator++ (int)
- istreambuf_iterator & operator++ ()

## Friends

- template<typename _CharT2> __gnu_cxx::__enable_if< __is_char<
  _CharT2 >::__value, _CharT2
  * >::__type __copy_aux (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 &)

## Member Typedef Documentation

template<typename _CharT, typename _Traits>

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

Public typedefs.

Definition at line 57 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.

Reimplemented in std::reverse_iterator< _Iterator >.

Definition at line 113 of file stl_iterator_base_types.h.

template<typename _CharT, typename _Traits>

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

Public typedefs.

Definition at line 59 of file streambuf_iterator.h.

template<typename _CharT, typename _Traits>

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

Public typedefs.

Definition at line 61 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 109 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.

Reimplemented in std::_Bit_iterator, std::_Bit_const_iterator, std::reverse_iterator< _Iterator >, __gnu_cxx::_Rope_const_iterator< _CharT, _Alloc >, and __gnu_cxx::_Rope_iterator< _CharT, _Alloc >.

Definition at line 115 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.

Reimplemented in std::_Bit_iterator, std::_Bit_const_iterator, std::reverse_iterator< _Iterator >, __gnu_cxx::_Rope_const_iterator< _CharT, _Alloc >, and __gnu_cxx::_Rope_iterator< _CharT, _Alloc >.

Definition at line 117 of file stl_iterator_base_types.h.

template<typename _CharT, typename _Traits>

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

Public typedefs.

Definition at line 60 of file streambuf_iterator.h.

template<typename _CharT, typename _Traits>

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

Public typedefs.

Definition at line 58 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.

Reimplemented in __gnu_cxx::sequence_buffer< _Sequence, _Buf_sz >.

Definition at line 111 of file stl_iterator_base_types.h.

## Constructor & Destructor Documentation

template<typename _CharT, typename _Traits>

std::istreambuf_iterator< _CharT, _Traits >::istreambuf_iterator | ( |  | ) | throw ()`[inline]`

Construct end of input stream iterator.

Definition at line 95 of file streambuf_iterator.h.

template<typename _CharT, typename _Traits>

std::istreambuf_iterator< _CharT, _Traits >::istreambuf_iterator | ( | istream_type & | __s | ) | throw ()`[inline]`

Construct start of input stream iterator.

Definition at line 99 of file streambuf_iterator.h.

template<typename _CharT, typename _Traits>

std::istreambuf_iterator< _CharT, _Traits >::istreambuf_iterator | ( | streambuf_type * | __s | ) | throw ()`[inline]`

Construct start of streambuf iterator.

Definition at line 103 of file streambuf_iterator.h.

## Member Function Documentation

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

References std::istreambuf_iterator< _CharT, _Traits >::_M_at_eof().

Referenced by std::operator!=(), and std::operator==().

template<typename _CharT, typename _Traits>

char_type std::istreambuf_iterator< _CharT, _Traits >::operator * | ( |  | ) | const`[inline]`

operator*() on an end of stream is undefined.

Definition at line 110 of file streambuf_iterator.h.

References __glibcxx_requires_cond.

template<typename _CharT, typename _Traits>

istreambuf_iterator std::istreambuf_iterator< _CharT, _Traits >::operator++ | ( | int |  | ) | `[inline]`

Advance the iterator. Calls streambuf.sbumpc().

Definition at line 139 of file streambuf_iterator.h.

References __glibcxx_requires_cond, std::istreambuf_iterator< _CharT, _Traits >::_M_c, and std::basic_streambuf< _CharT, _Traits >::sbumpc().

template<typename _CharT, typename _Traits>

istreambuf_iterator& std::istreambuf_iterator< _CharT, _Traits >::operator++ | ( |  | ) | `[inline]`

Advance the iterator. Calls streambuf.sbumpc().

Definition at line 124 of file streambuf_iterator.h.

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

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

- streambuf_iterator.h