# std::istreambuf_iterator< CharT, Traits > Class Template Reference

Provides input iterator semantics for streambufs. More...

`#include <streambuf_iterator.h>`

Inheritance diagram for std::istreambuf_iterator< CharT, Traits >:

[legend]
Collaboration diagram for std::istreambuf_iterator< CharT, Traits >:

[legend]
List of all members.

## Public Types

typedef input_iterator_tag | iterator_category
| One of the tag types.
typedef CharT | value_type
| The type "pointed to" by the iterator.
typedef Traits::off_type | difference_type
| Distance between iterators is represented as this type.
typedef CharT * | pointer
| This type represents a pointer-to-value_type.
typedef CharT & | reference
| This type represents a reference-to-value_type.
typedef CharT | char_type
| Public typedefs.
typedef Traits | traits_type
| Public typedefs.
typedef Traits::int_type | int_type
| Public typedefs.
typedef basic_streambuf< CharT, Traits > | streambuf_type
| Public typedefs.
typedef basic_istream< CharT, Traits > | istream_type
| Public typedefs.

## Public Member Functions

| istreambuf_iterator () throw ()
| Construct end of input stream iterator.
| istreambuf_iterator (istream_type &s) throw ()
| Construct start of input stream iterator.
| istreambuf_iterator (streambuf_type *s) throw ()
| Construct start of streambuf iterator.
char_type | operator * () const
| 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.
istreambuf_iterator & | operator++ ()
| Advance the iterator. Calls streambuf.sbumpc().
istreambuf_iterator | operator++ (int)
| Advance the iterator. Calls streambuf.sbumpc().
bool | equal (const istreambuf_iterator &__b) const
| Return true both iterators are end or both are not end.

## Detailed Description

### template<typename CharT, typename Traits>
class std::istreambuf_iterator< CharT, Traits >

Provides input iterator semantics for streambufs.

Definition at line 51 of file streambuf_iterator.h.

## Member Typedef Documentation

template<typename CharT, typename Traits>
typedef CharT std::istreambuf_iterator< CharT, Traits >::char_type

| Public typedefs. Definition at line 59 of file streambuf_iterator.h.

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 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 61 of file streambuf_iterator.h. Referenced by std::istreambuf_iterator< CharT, Traits >::operator++().

template<typename CharT, typename Traits>
typedef basic_istream<CharT, Traits> std::istreambuf_iterator< CharT, Traits >::istream_type

| Public typedefs. Definition at line 63 of file streambuf_iterator.h.

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 109 of file stl_iterator_base_types.h.

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 115 of file stl_iterator_base_types.h.

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

template<typename CharT, typename Traits>
typedef Traits std::istreambuf_iterator< CharT, Traits >::traits_type

| Public typedefs. Definition at line 60 of file streambuf_iterator.h.

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

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

template<typename CharT, typename Traits>
istreambuf_iterator std::istreambuf_iterator< CharT, Traits >::operator++ | ( | int |  | ) | `[inline]`

| Advance the iterator. Calls streambuf.sbumpc(). Definition at line 123 of file streambuf_iterator.h. References std::istreambuf_iterator< CharT, Traits >::int_type.

template<typename CharT, typename Traits>
istreambuf_iterator& std::istreambuf_iterator< CharT, Traits >::operator++ | ( |  | ) | `[inline]`

| Advance the iterator. Calls streambuf.sbumpc(). Definition at line 108 of file streambuf_iterator.h. References std::istreambuf_iterator< CharT, Traits >::int_type.

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

- streambuf_iterator.h