std::istreambuf_iterator< _CharT, _Traits > - Provides input iterator semantics for streambufs.
Contents
Constructor & Destructor Documentation
template<typename_CharT,typename_Traits>constexprstd::istreambuf_iterator<_CharT,_Traits>::istreambuf_iterator()[inline],[constexpr],[noexcept]
Construct end of input stream iterator.
template<typename_CharT,typename_Traits>std::istreambuf_iterator<_CharT,_Traits>::istreambuf_iterator(istream_type&__s)[inline],[noexcept]
Construct start of input stream iterator.
template<typename_CharT,typename_Traits>std::istreambuf_iterator<_CharT,_Traits>::istreambuf_iterator(streambuf_type*__s)[inline],[noexcept]
Construct start of streambuf iterator.
Detailed Description
template<typename_CharT,typename_Traits>
class std::istreambuf_iterator< _CharT, _Traits >"Provides input iterator semantics for streambufs.
Member Function Documentation
template<typename_CharT,typename_Traits>boolstd::istreambuf_iterator<_CharT,_Traits>::equal(constistreambuf_iterator<_CharT,_Traits>&__b)const[inline]
Return true both iterators are end or both are not end.
template<typename_CharT,typename_Traits>char_typestd::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.
template<typename_CharT,typename_Traits>istreambuf_iterator&std::istreambuf_iterator<_CharT,_Traits>::operator++()[inline]
Advance the iterator. Calls streambuf.sbumpc().
template<typename_CharT,typename_Traits>istreambuf_iteratorstd::istreambuf_iterator<_CharT,_Traits>::operator++(int)[inline]
Advance the iterator. Calls streambuf.sbumpc().
Member Typedef Documentation
template<typename_CharT,typename_Traits>typedef_CharTstd::istreambuf_iterator<_CharT,_Traits>::char_type
Public typedefs.
typedef_Traits::off_typestd::iterator<input_iterator_tag,_CharT,_Traits::off_type,_CharT*,_CharT>::difference_type[inherited]
Distance between iterators is represented as this type.
template<typename_CharT,typename_Traits>typedef_Traits::int_typestd::istreambuf_iterator<_CharT,_Traits>::int_type
Public typedefs.
template<typename_CharT,typename_Traits>typedefbasic_istream<_CharT,_Traits>std::istreambuf_iterator<_CharT,_Traits>::istream_type
Public typedefs.
typedefinput_iterator_tagstd::iterator<input_iterator_tag,_CharT,_Traits::off_type,_CharT*,_CharT>::iterator_category[inherited]
One of the tagtypes.
template<typename_CharT,typename_Traits>usingstd::istreambuf_iterator<_CharT,_Traits>::pointer=void
Public typedefs.
typedef_CharTstd::iterator<input_iterator_tag,_CharT,_Traits::off_type,_CharT*,_CharT>::reference[inherited]
This type represents a reference-to-value_type.
template<typename_CharT,typename_Traits>typedefbasic_streambuf<_CharT,_Traits>std::istreambuf_iterator<_CharT,_Traits>::streambuf_type
Public typedefs.
template<typename_CharT,typename_Traits>typedef_Traitsstd::istreambuf_iterator<_CharT,_Traits>::traits_type
Public typedefs.
typedef_CharTstd::iterator<input_iterator_tag,_CharT,_Traits::off_type,_CharT*,_CharT>::value_type[inherited]
The type 'pointed to' by the iterator.
Name
std::istreambuf_iterator< _CharT, _Traits > - Provides input iterator semantics for streambufs.
Synopsis
#include <iterator>
Inherits std::iterator<input_iterator_tag,_CharT,_Traits::off_type,_CharT*,_CharT>.
PublicTypestypedef _Traits::off_type difference_type
Distance between iterators is represented as this type.
typedefinput_iterator_tagiterator_category
One of the tagtypes.
typedef _CharT reference
This type represents a reference-to-value_type.
typedef _CharT value_type
The type 'pointed to' by the iterator.
usingpointer = void
Public typedefs.
typedef _CharT char_type
Public typedefs.
typedef _Traits traits_type
Public typedefs.
typedef _Traits::int_type int_type
Public typedefs.
typedefbasic_streambuf< _CharT, _Traits > streambuf_type
Public typedefs.
typedefbasic_istream< _CharT, _Traits > istream_type
Public typedefs.
PublicMemberFunctions
constexpr istreambuf_iterator () noexcept
Construct end of input stream iterator.
istreambuf_iterator (const istreambuf_iterator &) noexcept=default
constexpr istreambuf_iterator (default_sentinel_t) noexcept
istreambuf_iterator (istream_type &__s) noexcept
Construct start of input stream iterator.
istreambuf_iterator (streambuf_type *__s) noexcept
Construct start of streambuf iterator.
bool equal (const istreambuf_iterator &__b) const
Return true both iterators are end or both are not end.
char_typeoperator* () 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_iteratoroperator++ (int)
Advance the iterator. Calls streambuf.sbumpc().
istreambuf_iterator & operator= (const istreambuf_iterator &) noexcept=defaultFriends
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)
