STD::TR2::__DYNAMIC_BITSET_BASE(3)

πŸ“¦
version 16.2.1+r23+gd564253eb6c8 Β· 6 versions
, in arch rolling, fedora 44

🌸 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, but size_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()) β€” __nbits bits, starting from __val which defaults to 0ULL, with __alloc defaulting to allocator_type(). Defaults on defaults, we love a chill signature.
  • size_t _M_are_all_aux () const noexcept β€” are we all... aux? returns a size_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 __block on 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_found if 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 an unsigned long long.
  • unsigned long _M_do_to_ulong () const β€” same but unsigned long, no long long energy.
  • 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 it noexcept on a wrapped line, it's still noexcept)
  • bool _M_is_subset_of (const __dynamic_bitset_base &__b) noexcept β€” regular subset check against __b. Note: this one is not const, and it is noexcept. 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 __pos in?
  • 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, a std::vector of 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