STD::TR2::__DYNAMIC_BITSET_BASE(3)
πΈ NAME
std::tr2::__dynamic_bitset_base< _WordT, _Alloc > β bestie, you've stumbled into the base class of the dynamic bitset situation, and it's from the Library Functions Manual, section 3. Yes, the section 3 girlies. We love a library function. π
β¨ SYNOPSIS
#include <dynamic_bitset>
Inherited by std::tr2::dynamic_bitset< _WordT, _Alloc > [private].
Like, it's the momager. The dynamic_bitset you actually know and love is a private heir to this whole thing. Family business. π
π Public Types
typedef _Alloc allocator_typeβ the allocator, but make it a nickname.typedef _WordT block_typeβ one word-sized block, that's the unit of the vibes.typedef size_t size_typeβ sizes, butsize_t. Classic.
π Public Member Functions
okay so this list is LONG and every single one is here, no skipping, we don't do that in this house:
__dynamic_bitset_base (__dynamic_bitset_base &&__b)=defaultβ move constructor, defaulted, no thoughts head empty β¨__dynamic_bitset_base (const __dynamic_bitset_base &)=defaultβ copy constructor, also defaulted.__dynamic_bitset_base (const allocator_type &__alloc)β construct me with just an allocator, bestie.__dynamic_bitset_base (size_type __nbits, unsigned long long __val=0ULL, const allocator_type &__alloc=allocator_type())β__nbitsbits, starting from__valwhich defaults to0ULL, with__allocdefaulting toallocator_type(). Defaults on defaults, we love a chill signature.size_t _M_are_all_aux () const noexceptβ are we all... aux? returns asize_t,noexcept.void _M_clear () noexceptβ wipe it.noexcept.void _M_do_and (const __dynamic_bitset_base &__x) noexceptβ AND with__x.noexcept.void _M_do_append_block (block_type __block, size_type __pos)β slap a__blockon at__pos.size_t _M_do_count () const noexceptβ count 'em up.void _M_do_dif (const __dynamic_bitset_base &__x) noexceptβ difference with__x.size_type _M_do_find_first (size_t __not_found) constβ find the first one, and if there isn't one, give me__not_found.size_type _M_do_find_next (size_t __prev, size_t __not_found) constβ next one after__prev, or__not_foundif it's giving nothing.void _M_do_flip () noexceptβ flip it. turn it. πvoid _M_do_left_shift (size_t __shift)β shift left by__shift.void _M_do_or (const __dynamic_bitset_base &__x) noexceptβ OR with__x.void _M_do_reset () noexceptβ reset era.void _M_do_right_shift (size_t __shift)β shift right by__shift.void _M_do_set () noexceptβ set it, bestie.unsigned long long _M_do_to_ullong () constβ hand it over as anunsigned long long.unsigned long _M_do_to_ulong () constβ same butunsigned long, nolong longenergy.void _M_do_xor (const __dynamic_bitset_base &__x) noexceptβ XOR with__x.allocator_type _M_get_allocator () const noexceptβ gimme the allocator.block_type _M_getword (size_type __pos) const noexceptβ the word at__pos, const flavored.block_type & _M_getword (size_type __pos) noexceptβ the word at__pos, but a reference, so you can touch it. main character energy.block_type _M_hiword () const noexceptβ the hi word, const.block_type & _M_hiword () noexceptβ the hi word, by reference. live a little.bool _M_is_any () const noexceptβ is any of it set? yes/no.bool _M_is_equal (const __dynamic_bitset_base &__x) const noexceptβ are we equal to__x?bool _M_is_less (const __dynamic_bitset_base &__x) const noexceptβ are we less than__x?bool _M_is_proper_subset_of (const __dynamic_bitset_base &__b) const noexceptβ are we a proper subset of__b? (yes, the original spells itnoexcepton a wrapped line, it's stillnoexcept)bool _M_is_subset_of (const __dynamic_bitset_base &__b) noexceptβ regular subset check against__b. Note: this one is notconst, and it isnoexcept. Copying that exactly, don't @ me.void _M_resize (size_t __nbits, bool __value)β resize to__nbits, filling new space with__value.size_type _M_size () const noexceptβ how big are we.void _M_swap (__dynamic_bitset_base &__b) noexceptβ swap with__b,noexcept, iconic.__dynamic_bitset_base & operator= (__dynamic_bitset_base &&)=defaultβ move assign, defaulted.__dynamic_bitset_base & operator= (const __dynamic_bitset_base &)=defaultβ copy assign, defaulted.
π¦ Static Public Member Functions
static block_type _S_maskbit (size_type __pos) noexceptβ mask for the bit at__pos.static size_type _S_whichbit (size_type __pos) noexceptβ which bit is__posin?static size_type _S_whichbyte (size_type __pos) noexceptβ which byte?static size_type _S_whichword (size_type __pos) noexceptβ which word? the math girlies stay winning.
π Public Attributes
std::vector< block_type, allocator_type > _M_wβ the actual storage, astd::vectorof blocks. And listen: 0 is the least significant word. Write that down. π
π Static Public Attributes
static const size_type _S_bits_per_blockβ how many bits fit in one block. static, const, unbothered.static const size_type nposβ the classic "not found" sentinel value.
π Detailed Description
template<typename _WordT = unsigned long long, typename _Alloc =
std::allocator<_WordT>>
struct std::tr2::__dynamic_bitset_base< _WordT, _Alloc >
"Base class, general case." That's literally the official description. Humble. Understated. She's the foundation and she knows it.
See documentation for dynamic_bitset. β like, go read the actual one for the full tea, bestie, this is just the scaffolding. π«Ά
So the template takes _WordT which defaults to unsigned long long, and _Alloc which defaults to std::allocator<_WordT>. Everything above lives inside std::tr2. Periodt.
π§ Member Data Documentation
template<typename _WordT = unsigned long long, typename _Alloc =
std::allocator<_WordT>>
std::vector<block_type, allocator_type>
std::tr2::__dynamic_bitset_base< _WordT, _Alloc >::_M_w
Again for the people in the back: 0 is the least significant word. It's the only member variable documented here, and it's carrying the entire bit-storage situation on its back. Respect. πββοΈ
π Author
Generated automatically by Doxygen for libstdc++ from the source code. Not a human. Not a vibe-haver. Just Doxygen doing its lil thing. π
okay that's the whole page, mwah π β this lil doc came from the libstdc++ crew, filed under section 3 of the Library Functions Manual, and it's giving "auto-generated but make it fashion." Go forth and bitset responsibly, bestie. πΈβ¨π
π¦ 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
- 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