STD::ITERATOR(3cxx)
π NAME π
std::iterator< _Category, _Tp, _Distance, _Pointer, _Reference > β literally the Common iterator class. π«Ά
This is the std::iterator< ...r, _Reference > page, section 3cxx, bestie β welcome to the group chat β¨
πΈ SYNOPSIS πΈ
#include <iterator>
Inherited by std::istream_iterator< _Tp, _CharT, _Traits, _Dist >.
π Public Types π
typedef _Distance difference_typeβ Distance between iterators is represented as this type. πtypedef _Category iterator_categoryβ One of the tag types. π·οΈtypedef _Pointer pointerβ This type represents a pointer-to-value_type. πtypedef _Reference referenceβ This type represents a reference-to-value_type. π«Άtypedef _Tp value_typeβ The type 'pointed to' by the iterator. π―
β¨ Detailed Description β¨
The signature is exactly this, no cap:
template<typename _Category, typename _Tp, typename _Distance = ptrdiff_t,
typename _Pointer = _Tp*, typename _Reference = _Tp&>
struct std::iterator< _Category, _Tp, _Distance, _Pointer, _Reference
>
The original then continues with the literal "Common iterator class. β yes, quote and all β and the whole vibe is: this class does nothing but define nested typedefs. Iterator classes can inherit from this class to save some work. The typedefs are then used in specializations and overloading. π
In particular, there are no default implementations of requirements such as operator++ and the like. (How could there be?) π
π¦ Member Typedef Documentation π¦
π difference_type
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
Distance between iterators is represented as this type. π
π iterator_category
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
One of the tag types. π·οΈ
π pointer
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
This type represents a pointer-to-value_type. π
π reference
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
This type represents a reference-to-value_type. π«Ά
π value_type
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
The type 'pointed to' by the iterator. π―
π Author π
Generated automatically by Doxygen for libstdc++ from the source code. π€β¨
Okay that's the whole page, mwah π. Footer tea: source/version is libstdc++, and the date is not printed on this manpage footer β so I'm not inventing one, fr fr. This was the std::iterator< ...r, _Reference > page from section 3cxx β bye bestie! π«Άπ
π¦ where this page comes from
- ubuntu noble: libstdc++-14-doc 14-20240412-0ubuntu1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms