STD::RAW_STORAGE_ITERATOR(3cxx)
πΈ NAME πΈ
bestie, meet std::raw_storage_iterator< _OutputIterator, _Tp > β yes that's the whole name, it's giving "my parents gave me a whole paragraph" energy π
This is from the 3cxx manual, so if you're looking for where the C++ library docs live, you're in the right group chat π
β¨ SYNOPSIS β¨
#include <memory>
And the nepo-baby tea: it inherits from std::iterator< output_iterator_tag, void, void, void, void > π
π Public Types
typedef void difference_typeβ the type that represents the distance between iterators. Here it'svoid, so... no distance, no thoughts, head empty πtypedef output_iterator_tag iterator_categoryβ one of the tag types. It's the little label that tells the algorithm what kind of iterator this is π·οΈtypedef void pointerβ this one's supposed to represent a pointer-to-value_type. It'svoid, lowkey iconic for how unbothered it is.typedef void referenceβ this represents a reference-to-value_type. Alsovoid. Consistency queen π«Άtypedef void value_typeβ the type "pointed to" by the iterator. Yep,voidagain. A whole trilogy ofvoid.
π Public Member Functions
raw_storage_iterator (_OutputIterator __x)β the constructor, takes your_OutputIteratorcalled__x_OutputIterator base () constβ hands you back the underlying iterator,constand allraw_storage_iterator & operator* ()β the dereference operator β returns a reference to the raw_storage_iterator itself- `raw_storage_iterator & operator++ () β prefix increment, returns a reference to itself
raw_storage_iterator operator++ (int)β postfix increment (thatintis the classic postfix dummy parameter, iykyk), returns a copyraw_storage_iterator & operator= (_Tp &&__element)β assignment from an rvalue_Tp, returns a reference to itselfraw_storage_iterator & operator= (const _Tp &__element)β assignment from aconstlvalue_Tp, also returns a reference
π¦ Protected Attributes
_OutputIterator _M_iterβ the protected iterator member, chilling in the_M_naming convention like the libstdc++ royalty it is π
π₯ Detailed Description
template<class _OutputIterator, class _Tp>
class std::raw_storage_iterator< _OutputIterator, _Tp >
"This iterator class lets algorithms store their results into uninitialized memory." π§ β¨ No cap β that's the whole point of it. Algorithms drop their results straight into uninitialized memory, and this iterator is the little fairy that makes it happen π§
π Member Typedef Documentation π
Okay so bestie, these are all <green>inherited</green> from std::iterator< output_iterator_tag , void , void , void , void >. Same five, coming back for round two π
typedef void std::iterator< output_iterator_tag , void , void , void , void >::difference_type[inherited] β distance between iterators is represented as this type.typedef output_iterator_tag std::iterator< output_iterator_tag , void , void , void , void >::iterator_category[inherited] β one of the tag types.typedef void std::iterator< output_iterator_tag , void , void , void , void >::pointer[inherited] β this type represents a pointer-to-value_type.typedef void std::iterator< output_iterator_tag , void , void , void , void >::reference[inherited] β this type represents a reference-to-value_type.typedef void std::iterator< output_iterator_tag , void , void , void , void >::value_type[inherited] β the type 'pointed to' by the iterator.
π«Ά Author π«Ά
Generated automatically by Doxygen for libstdc++ from the source code. Not a human, not a vibe-checker, just Doxygen doing its thing π€
Quick reminder bestie: this page is from the3cxxmanual, and every detail here was auto-generated forlibstdc++by Doxygen β so if something looks structurally weird, blame the robot, not me π
slay, that's the whole page, periodt π β¨
π¦ 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