__gnu_cxx::__detail(3)

πŸ“¦
version 16.2.1+r23+gd564253eb6c8 Β· 6 versions
, in arch rolling, centos-stream 10, fedora 43, fedora 44

πŸ¦‹ __gnu_cxx::__detail πŸ¦‹

okay bestie, real talk: this page is from the Library Functions Manual, and it's the libstdc++ docs for __gnu_cxx::__detail. It's giving backstage-pass energy β€” the stuff that runs the show but is not part of the namespace __gnu_cxx interface. iykyk πŸ’…


✨ NAME ✨

__gnu_cxx::__detail β€” Implementation details not part of the namespace __gnu_cxx interface.

like. it's the secret drawer. the gremlins behind the curtain. not the public API, just the little guys doing the actual work πŸ™ˆ


🌸 SYNOPSIS 🌸

πŸŽ€ Classes πŸŽ€

  • __mini_vector β€” __mini_vector<> is a stripped down version of the full-fledged std::vector<>. pocket-sized vector, no cap πŸŽ€
  • _Bitmap_counter β€” the bitmap counter that acts as the bitmap manipulator, and manages the bit-manipulation functions plus the searching and identification functions on the bit-map. she runs the whole bitmap situation, literally πŸ‘‘
  • _Ffit_finder β€” the class that acts as a predicate for applying the first-fit memory allocation policy for the bitmap allocator. first fit? she finds it fr fr πŸ”₯

🌈 Enumerations 🌈

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

🧚 Functions 🧚

  • __bit_allocate β€” mark a memory address as allocated by re-setting the corresponding bit in the bit-map.
void __bit_allocate (std::size_t *__pbmap, std::size_t __pos)  throw ()
  • __bit_free β€” mark a memory address as free by setting the corresponding bit in the bit-map.
void __bit_free (std::size_t *__pbmap, std::size_t __pos)  throw ()
  • __lower_bound β€” template time, bestie ✨
template<typename _ForwardIterator, typename _Tp, typename _Compare>
    _ForwardIterator __lower_bound (_ForwardIterator __first,
    _ForwardIterator __last, const _Tp &__val, _Compare __comp)
  • __num_bitmaps β€” the number of Bit-maps pointed to by the address pair passed to the function.
template<typename _AddrPair> std::size_t __num_bitmaps (_AddrPair __ap)
  • __num_blocks β€” the number of Blocks pointed to by the address pair passed to the function.
template<typename _AddrPair> std::size_t __num_blocks (_AddrPair __ap)

πŸ’œ Detailed Description πŸ’œ

Implementation details not part of the namespace __gnu_cxx interface.

yes that's the whole section. the vibe is "you weren't supposed to see this but welcome anyway" 😭 go off i guess.

πŸ‘‘ Function Documentation πŸ‘‘

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< _Tp1 >::_M_allocate_single_object().


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. (see how allocate re-sets and free just sets? iconic behavior, not a typo, periodt πŸ’…)

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


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< _Tp1 >::_M_allocate_single_object(), and __gnu_cxx::bitmap_allocator< _Tp1 >::_M_deallocate_single_object().


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().

mutual reference moment 🫢 they literally point at each other. bestie goals.

🫢 Author 🫢

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


and that's the whole page, bestie 🌟 no human wrote this one β€” Doxygen did it for libstdc++, straight out of the source code, and it's filed right here under __gnu_cxx::__detail(3). drink water, hydrate your allocator, mwah πŸ’–πŸ¦‹πŸŒΈ

πŸ“¦ where this page comes from
  • arch rolling: gcc 16.2.1+r23+gd564253eb6c8-1 Β· GPL-3.0-or-later WITH GCC-exception-3.1 AND GFDL-1.3-or-later
  • centos-stream 10: gcc-toolset-15-libstdc++-docs 15.2.1-8.1.el10 Β· GPL-3.0-or-later AND LGPL-3.0-or-later AND (GPL-3.0-or-later WITH GCC-exception-3.1) AND (GPL-3.0-or-later WITH Texinfo-exception) AND (LGPL-2.1-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later WITH GNU-compiler-exception) AND BSL-1.0 AND GFDL-1.3-or-later AND Linux-man-pages-copyleft-2-para AND SunPro AND BSD-1-Clause AND BSD-2-Clause AND BSD-2-Clause-Views AND BSD-3-Clause AND BSD-4-Clause AND BSD-Source-Code AND Zlib AND MIT AND Apache-2.0 AND (Apache-2.0 WITH LLVM-Exception) AND ZPL-2.1 AND ISC AND LicenseRef-Fedora-Public-Domain AND HP-1986 AND curl AND Martin-Birgmeier AND HPND-Markus-Kuhn AND dtoa AND SMLNJ AND AMD-newlib AND OAR AND HPND-merchantability-variant AND HPND-Intel
  • centos-stream 10: gcc-toolset-16-libstdc++-docs 16.2.1-1.3.el10 Β· GPL-3.0-or-later AND LGPL-3.0-or-later AND (GPL-3.0-or-later WITH GCC-exception-3.1) AND (GPL-3.0-or-later WITH Texinfo-exception) AND (LGPL-2.1-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later WITH GNU-compiler-exception) AND BSL-1.0 AND GFDL-1.3-or-later AND Linux-man-pages-copyleft-2-para AND SunPro AND BSD-1-Clause AND BSD-2-Clause AND BSD-2-Clause-Views AND BSD-3-Clause AND BSD-4-Clause AND BSD-Source-Code AND Zlib AND MIT AND Apache-2.0 AND (Apache-2.0 WITH LLVM-Exception) AND ZPL-2.1 AND ISC AND LicenseRef-Fedora-Public-Domain AND HP-1986 AND curl AND Martin-Birgmeier AND HPND-Markus-Kuhn AND dtoa AND SMLNJ AND AMD-newlib AND OAR AND HPND-merchantability-variant AND HPND-Intel
  • centos-stream 10: libstdc++-docs 14.4.1-4.el10 Β· GPL-3.0-or-later AND LGPL-3.0-or-later AND (GPL-3.0-or-later WITH GCC-exception-3.1) AND (GPL-3.0-or-later WITH Texinfo-exception) AND (LGPL-2.1-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later WITH GNU-compiler-exception) AND BSL-1.0 AND GFDL-1.3-or-later AND Linux-man-pages-copyleft-2-para AND SunPro AND BSD-1-Clause AND BSD-2-Clause AND BSD-2-Clause-Views AND BSD-3-Clause AND BSD-4-Clause AND BSD-Source-Code AND Zlib AND MIT AND Apache-2.0 AND (Apache-2.0 WITH LLVM-Exception) AND ZPL-2.1 AND ISC AND LicenseRef-Fedora-Public-Domain AND HP-1986 AND curl AND Martin-Birgmeier AND HPND-Markus-Kuhn AND dtoa AND SMLNJ AND AMD-newlib AND OAR AND HPND-merchantability-variant AND HPND-Intel
  • fedora 43: libstdc++-docs 15.2.1-2.fc43 Β· GPL-3.0-or-later AND LGPL-3.0-or-later AND (GPL-3.0-or-later WITH GCC-exception-3.1) AND (GPL-3.0-or-later WITH Texinfo-exception) AND (LGPL-2.1-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later WITH GNU-compiler-exception) AND BSL-1.0 AND GFDL-1.3-or-later AND Linux-man-pages-copyleft-2-para AND SunPro AND BSD-1-Clause AND BSD-2-Clause AND BSD-2-Clause-Views AND BSD-3-Clause AND BSD-4-Clause AND BSD-Source-Code AND Zlib AND MIT AND Apache-2.0 AND (Apache-2.0 WITH LLVM-Exception) AND ZPL-2.1 AND ISC AND LicenseRef-Fedora-Public-Domain AND HP-1986 AND curl AND Martin-Birgmeier AND HPND-Markus-Kuhn AND dtoa AND SMLNJ AND AMD-newlib AND OAR AND HPND-merchantability-variant AND HPND-Intel
  • fedora 43: libstdc++-docs 15.3.1-1.fc43 Β· GPL-3.0-or-later AND LGPL-3.0-or-later AND (GPL-3.0-or-later WITH GCC-exception-3.1) AND (GPL-3.0-or-later WITH Texinfo-exception) AND (LGPL-2.1-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later WITH GNU-compiler-exception) AND BSL-1.0 AND GFDL-1.3-or-later AND Linux-man-pages-copyleft-2-para AND SunPro AND BSD-1-Clause AND BSD-2-Clause AND BSD-2-Clause-Views AND BSD-3-Clause AND BSD-4-Clause AND BSD-Source-Code AND Zlib AND MIT AND Apache-2.0 AND (Apache-2.0 WITH LLVM-Exception) AND ZPL-2.1 AND ISC AND LicenseRef-Fedora-Public-Domain AND HP-1986 AND curl AND Martin-Birgmeier AND HPND-Markus-Kuhn AND dtoa AND SMLNJ AND AMD-newlib AND OAR AND HPND-merchantability-variant AND HPND-Intel
  • fedora 44: libstdc++-docs 16.0.1-0.10.fc44 Β· GPL-3.0-or-later AND LGPL-3.0-or-later AND (GPL-3.0-or-later WITH GCC-exception-3.1) AND (GPL-3.0-or-later WITH Texinfo-exception) AND (LGPL-2.1-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later WITH GNU-compiler-exception) AND BSL-1.0 AND GFDL-1.3-or-later AND Linux-man-pages-copyleft-2-para AND SunPro AND BSD-1-Clause AND BSD-2-Clause AND BSD-2-Clause-Views AND BSD-3-Clause AND BSD-4-Clause AND BSD-Source-Code AND Zlib AND MIT AND Apache-2.0 AND (Apache-2.0 WITH LLVM-Exception) AND ZPL-2.1 AND ISC AND LicenseRef-Fedora-Public-Domain AND HP-1986 AND curl AND Martin-Birgmeier AND HPND-Markus-Kuhn AND dtoa AND SMLNJ AND AMD-newlib AND OAR AND HPND-merchantability-variant AND HPND-Intel
  • fedora 44: libstdc++-docs 16.2.1-2.fc44
  • fedora 44: libstdc++-docs 16.2.1-3.fc44 Β· GPL-3.0-or-later AND LGPL-3.0-or-later AND (GPL-3.0-or-later WITH GCC-exception-3.1) AND (GPL-3.0-or-later WITH Texinfo-exception) AND (LGPL-2.1-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later WITH GCC-exception-2.0) AND (GPL-2.0-or-later WITH GNU-compiler-exception) AND BSL-1.0 AND GFDL-1.3-or-later AND Linux-man-pages-copyleft-2-para AND SunPro AND BSD-1-Clause AND BSD-2-Clause AND BSD-2-Clause-Views AND BSD-3-Clause AND BSD-4-Clause AND BSD-Source-Code AND Zlib AND MIT AND Apache-2.0 AND (Apache-2.0 WITH LLVM-Exception) AND ZPL-2.1 AND ISC AND LicenseRef-Fedora-Public-Domain AND HP-1986 AND curl AND Martin-Birgmeier AND HPND-Markus-Kuhn AND dtoa AND SMLNJ AND AMD-newlib AND OAR AND HPND-merchantability-variant AND HPND-Intel
  • πŸ’– girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms