__gnu_cxx::__detail(3cxx)

πŸ’– NAME πŸ’–

okay bestie, welcome to __gnu_cxx::__detail(3cxx) from the libstdc++ manual β€” this is the backstage area where the implementation details live. These are the bits that are not part of the namespace __gnu_cxx interface, so yeah, it's internals, not the public-facing interface. πŸ’…βœ¨


✨ SYNOPSIS ✨

πŸŽ€ Classes

  • class __mini_vector β€” __mini_vector<> is a stripped down version of the full-fledged std::vector<>. It's the mini version, slay.
  • class _Bitmap_counter β€” The bitmap counter which acts as the bitmap manipulator, and manages the bit-manipulation functions and the searching and identification functions on the bit-map.
  • class _Ffit_finder β€” The class which acts as a predicate for applying the first-fit memory allocation policy for the bitmap allocator.

πŸ¦‹ Enumerations

  • enum { _S_max_rope_depth }
  • enum { bits_per_byte, bits_per_block }
  • enum _Tag { _S_leaf, _S_concat, _S_substringfn, _S_function }

🌸 Functions

  • void __bit_allocate (std::size_t *__pbmap, std::size_t __pos) throw () β€” Mark a memory address as allocated by re-setting the corresponding bit in the bit-map.
  • void __bit_free (std::size_t *__pbmap, std::size_t __pos) throw () β€” Mark a memory address as free by setting the corresponding bit in the bit-map.
  • template<typename _ForwardIterator , typename _Tp , typename _Compare > _ForwardIterator __lower_bound (_ForwardIterator __first, _ForwardIterator __last, const _Tp &__val, _Compare __comp) β€” this one is listed in the synopsis with no extra description on this page. That's the whole tea. πŸ«–
  • template<typename _AddrPair > std::size_t __num_bitmaps (_AddrPair __ap) β€” The number of Bit-maps pointed to by the address pair passed to the function.
  • template<typename _AddrPair > std::size_t __num_blocks (_AddrPair __ap) β€” The number of Blocks pointed to by the address pair passed to the function.

πŸ’« Detailed Description πŸ’«

Implementation details not part of the namespace __gnu_cxx interface. Periodt. ✨


πŸ”₯ Function Documentation πŸ”₯

πŸ’… __bit_allocate

void __gnu_cxx::__detail::__bit_allocate (std::size_t * __pbmap, std::size_t __pos) [inline]

Mark a memory address as allocated by re-setting the corresponding bit in the bit-map.

Referenced by __gnu_cxx::bitmap_allocator< _Tp >::_M_allocate_single_object().

🧚 __bit_free

void __gnu_cxx::__detail::__bit_free (std::size_t * __pbmap, std::size_t __pos) [inline]

Mark a memory address as free by setting the corresponding bit in the bit-map.

Referenced by __gnu_cxx::bitmap_allocator< _Tp >::_M_deallocate_single_object().

πŸŽ€ __num_bitmaps

template<typename _AddrPair > std::size_t __gnu_cxx::__detail::__num_bitmaps (_AddrPair __ap) [inline]

The number of Bit-maps pointed to by the address pair passed to the function.

References __num_blocks().

Referenced by __gnu_cxx::bitmap_allocator< _Tp >::_M_allocate_single_object(), and __gnu_cxx::bitmap_allocator< _Tp >::_M_deallocate_single_object().

🌈 __num_blocks

template<typename _AddrPair > std::size_t __gnu_cxx::__detail::__num_blocks (_AddrPair __ap) [inline]

The number of Blocks pointed to by the address pair passed to the function.

Referenced by __num_bitmaps().


πŸ‘‘ Author πŸ‘‘

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


cute lil' sign-off: this page is __gnu_cxx::__detail(3cxx) from the libstdc++ manual, source/version libstdc++ β€” and the footer didn't give a date, so I'm not inventing one, bestie. πŸ’–βœ¨