STD::ISTREAMBUF_ITERATOR(3)
β¨ std::istreambuf_iterator< _CharT, _Traits > β¨
okay bestie, welcome to the std::istreambuf_iterator< _CharT, _Traits > page from the libstdc++ Library Functions Manual, section 3 π
this is the iterator that just gets streambufs, no cap.
πΈ NAME πΈ
std::istreambuf_iterator< _CharT, _Traits > β Provides input iterator semantics for streambufs. π¦
π SYNOPSIS π
#include <iterator>
She inherits from std::iterator< input_iterator_tag, _CharT, _Traits::off_type, _CharT *, _CharT >. family tree ate π
π Public Types π
typedef _Traits::off_type difference_typeβ Distance between iterators is represented as this type. the lil gap-between-yall type π«Άtypedef input_iterator_tag iterator_categoryβ One of the tag types. it's giving "input iterator" energy, obviously β¨typedef _CharT referenceβ This type represents a reference-to-value_type. πtypedef _CharT value_typeβ The type pointed to "by the iterator". (yes the original manpage mashed those words together, iconic typo behavior, we respect it π)using pointerβ Public typedefs. β¨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 π¦
constexpr istreambuf_iterator () noexceptβ Construct end of input stream iterator. the end-of-stream girly π«Άistreambuf_iterator (const istreambuf_iterator &) noexcept=defaultβ copy it, bestie πconstexpr istreambuf_iterator (default_sentinel_t) noexceptβ sentinel-coded, periodt β¨istreambuf_iterator (istream_type &__s) noexceptβ Construct start of input stream iterator. the start-of-stream girly π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. matchy-matchy or nothin πchar_type operator* () constβ Return the current character pointed to by iterator. This returnsstreambuf.sgetc(). It cannot be assigned. NB: The result ofoperator*()on an end of stream is undefined. β οΈ bestie do NOT deref the end, that's undefined behavior fr fr πistreambuf_iterator & operator++ ()β Advance the iterator. Callsstreambuf.sbumpc(). π₯istreambuf_iterator operator++ (int)β Advance the iterator. Callsstreambuf.sbumpc(). π₯istreambuf_iterator & operator= (const istreambuf_iterator &) noexcept=defaultβ assign it, slay π
π 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.
(yes the quote mark is just vibing there in the original, we keep it exactly as-is, no notes π)
β Member Typedef Documentation β
template<typename _CharT, typename _Traits> typedef _CharT std::istreambuf_iterator< _CharT, _Traits >::char_typeβ Public typedefs. π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. π«Άtemplate<typename _CharT, typename _Traits> typedef _Traits::int_type std::istreambuf_iterator< _CharT, _Traits >::int_typeβ Public typedefs. πΈtemplate<typename _CharT, typename _Traits> typedef basic_istream<_CharT, _Traits> std::istreambuf_iterator< _CharT, _Traits >::istream_typeβ Public typedefs. πtypedef input_iterator_tag std::iterator< input_iterator_tag, _CharT, _Traits::off_type, _CharT *, _CharT >::iterator_category [inherited]β One of the tag types. β¨template<typename _CharT, typename _Traits> using std::istreambuf_iterator< _CharT, _Traits >::pointerβ Public typedefs. πtypedef _CharT std::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> typedef basic_streambuf<_CharT, _Traits> std::istreambuf_iterator< _CharT, _Traits >::streambuf_typeβ Public typedefs. π§template<typename _CharT, typename _Traits> typedef _Traits std::istreambuf_iterator< _CharT, _Traits >::traits_typeβ Public typedefs. πtypedef _CharT std::iterator< input_iterator_tag, _CharT, _Traits::off_type, _CharT *, _CharT >::value_type [inherited]β The type "pointed to" by the iterator. π
π§ Constructor & Destructor Documentation π§
template<typename _CharT, typename _Traits> std::istreambuf_iterator< _CharT, _Traits >::istreambuf_iterator () [inline], [constexpr], [noexcept]β Construct end of input stream iterator. Referenced byequal(), andoperator++(). π«Ά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. π
π Member Function Documentation π
template<typename _CharT, typename _Traits> bool std::istreambuf_iterator< _CharT, _Traits >::equal (const istreambuf_iterator< _CharT, _Traits > & __b) const [inline], [nodiscard]β Return true both iterators are end or both are not end. Referencesistreambuf_iterator(). πtemplate<typename _CharT, typename _Traits> char_type std::istreambuf_iterator< _CharT, _Traits >::operator* () const [inline], [nodiscard]β Return the current character pointed to by iterator. This returnsstreambuf.sgetc(). It cannot be assigned. NB: The result ofoperator*()on an end of stream is undefined. β οΈtemplate<typename _CharT, typename _Traits> istreambuf_iterator & std::istreambuf_iterator< _CharT, _Traits >::operator++ () [inline]β Advance the iterator. Callsstreambuf.sbumpc(). π₯template<typename _CharT, typename _Traits> istreambuf_iterator std::istreambuf_iterator< _CharT, _Traits >::operator++ (int ) [inline]β Advance the iterator. Callsstreambuf.sbumpc(). Referencesistreambuf_iterator(). π₯
π Author π
Generated automatically by Doxygen for libstdc++ from the source code. π€β¨
okay that's the whole page bestie, every flag, type, friend and footnote accounted for, we left nothing behind, periodt π
and that's a wrap on the libstdc++ version of std::istre..., _Traits >(3) from libstdc++ β mwah, go read some streambufs, ily π«Άππ
π¦ where this page comes from
- arch rolling: gcc 16.2.1+r23+gd564253eb6c8-1 Β· GPL-3.0-or-later WITH GCC-exception-3.1 AND GFDL-1.3-or-later
- fedora 44: libstdc++-docs 16.0.1-0.10.fc44 Β· GPL-3.0-or-later AND LGPL-3.0-or-later AND (GPL-3.0-or-later WITH GCC-exception-3.1) AND (GPL-3.0-or-later WITH Texinfo-exception) AND (LGPL-2.1-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later WITH GNU-compiler-exception) AND BSL-1.0 AND GFDL-1.3-or-later AND Linux-man-pages-copyleft-2-para AND SunPro AND BSD-1-Clause AND BSD-2-Clause AND BSD-2-Clause-Views AND BSD-3-Clause AND BSD-4-Clause AND BSD-Source-Code AND Zlib AND MIT AND Apache-2.0 AND (Apache-2.0 WITH LLVM-Exception) AND ZPL-2.1 AND ISC AND LicenseRef-Fedora-Public-Domain AND HP-1986 AND curl AND Martin-Birgmeier AND HPND-Markus-Kuhn AND dtoa AND SMLNJ AND AMD-newlib AND OAR AND HPND-merchantability-variant AND HPND-Intel
- fedora 44: libstdc++-docs 16.2.1-2.fc44
- fedora 44: libstdc++-docs 16.2.1-3.fc44 Β· GPL-3.0-or-later AND LGPL-3.0-or-later AND (GPL-3.0-or-later WITH GCC-exception-3.1) AND (GPL-3.0-or-later WITH Texinfo-exception) AND (LGPL-2.1-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later WITH GNU-compiler-exception) AND BSL-1.0 AND GFDL-1.3-or-later AND Linux-man-pages-copyleft-2-para AND SunPro AND BSD-1-Clause AND BSD-2-Clause AND BSD-2-Clause-Views AND BSD-3-Clause AND BSD-4-Clause AND BSD-Source-Code AND Zlib AND MIT AND Apache-2.0 AND (Apache-2.0 WITH LLVM-Exception) AND ZPL-2.1 AND ISC AND LicenseRef-Fedora-Public-Domain AND HP-1986 AND curl AND Martin-Birgmeier AND HPND-Markus-Kuhn AND dtoa AND SMLNJ AND AMD-newlib AND OAR AND HPND-merchantability-variant AND HPND-Intel
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms