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's void, 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's void, lowkey iconic for how unbothered it is.
  • typedef void reference β€” this represents a reference-to-value_type. Also void. Consistency queen 🫢
  • typedef void value_type β€” the type "pointed to" by the iterator. Yep, void again. A whole trilogy of void.

πŸ’œ Public Member Functions

  • raw_storage_iterator (_OutputIterator __x) β€” the constructor, takes your _OutputIterator called __x
  • _OutputIterator base () const β€” hands you back the underlying iterator, const and all
  • raw_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 (that int is the classic postfix dummy parameter, iykyk), returns a copy
  • raw_storage_iterator & operator= (_Tp &&__element) β€” assignment from an rvalue _Tp, returns a reference to itself
  • raw_storage_iterator & operator= (const _Tp &__element) β€” assignment from a const lvalue _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 the 3cxx manual, and every detail here was auto-generated for libstdc++ 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