__gnu_cxx::__detail(3)
π¦ __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-fledgedstd::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