STD::__DETAIL::_NODE_ITERATOR(3cxx)

πŸ’… NAME πŸ’…

okay so bestie, welcome to std::__detail::_Node_iterator< _Value, __constant_iterators, __cache > β€” these are the Node iterators, and their whole entire job is to iterate through all the hashtable. that's it. that's the vibe. πŸ¦‹


✨ SYNOPSIS ✨

#include <hashtable_policy.h>

lowkey important: it Inherits std::__detail::_Node_iterator_base< _Value, __cache >. so it's not out here doing everything alone, it's got a whole parent situation going on. periodt. πŸ’–

🌸 Public Types 🌸

  • typedef std::ptrdiff_t difference_type
  • typedef std::forward_iterator_tag iterator_category
  • using pointer = typename std::conditional< __constant_iterators, const _Value *, _Value * >::type
  • using reference = typename std::conditional< __constant_iterators, const _Value &, _Value & >::type
  • typedef _Value value_type

like yes bestie, the pointer and reference are literally doing a little conditional glow-up depending on __constant_iterators β€” const if it's true, not const if it's false. the way that they gatekeep constness… iconic. πŸ‘‘

πŸŽ€ Public Member Functions πŸŽ€

  • _Node_iterator (__node_type *__p) noexcept β€” the constructor, takes a __node_type * named __p, and it's noexcept so it will not be dramatic about it. πŸ™ˆ
  • void _M_incr () noexcept β€” the internal little increment helper, noexcept, does what it says. no cap.
  • reference operator* () const noexcept β€” dereference, const, noexcept, gives you a reference. 🫢
  • _Node_iterator & operator++ () noexcept β€” pre-increment, returns a _Node_iterator &, noexcept. moves you forward fr fr.
  • _Node_iterator operator++ (int) noexcept β€” post-increment, takes that lil int, returns a _Node_iterator by value, noexcept. the classic. ✨
  • pointer operator-> () const noexcept β€” arrow operator, const, noexcept, hands you a pointer. slay.

πŸ’œ Public Attributes πŸ’œ

  • __node_type * _M_cur

that's the one (1) public attribute bestie, _M_cur, a pointer to __node_type. she's the moment. the main character. the current node. πŸ’…


🌈 Detailed Description 🌈

template<typename _Value, bool __constant_iterators, bool __cache>
    struct std::__detail::_Node_iterator< _Value, __constant_iterators, __cache >

"Node iterators, used to iterate through all the hashtable."

yep that's the whole description, and honestly? it ate. three template params: _Value, __constant_iterators, and __cache. 🧚


🌟 Author 🌟

Generated automatically by Doxygen for libstdc++ from the source code.

and that's the whole page bestie, no notes πŸ’– this lil 3cxx manual entry was auto-generated by Doxygen for libstdc++ straight from the source code, so go forth and iterate through that hashtable, you absolute legend πŸŒΈπŸ¦‹βœ¨

πŸ“¦ where this page comes from