|
CeresEngine 0.2.0
A game development framework
|
The DynamicBitSet, which similar to BitSet, but does not have the size in its type.
More...
#include <CeresEngine/Foundation/Container/DynamicBitSet.hpp>
Classes | |
| struct | bitref |
| struct | const_iterator |
| struct | iterator |
Public Types | |
| using | buffer_type = Buffer |
| using | word_type = typename buffer_type::value_type |
| using | allocator_type = typename buffer_type::allocator_type |
| using | size_type = size_t |
| using | buffer_size_type = typename buffer_type::size_type |
Static Public Member Functions | |
| static constexpr buffer_size_type | word_size (const size_type size) noexcept |
| Required word size for a given bit size. | |
| static constexpr buffer_size_type | word_index (const size_type i) noexcept |
| Index of a word in buffer for a given bit index. | |
| static constexpr uint8_t | bit_index (const size_type i) noexcept |
| Index of a bit within its word. | |
| static constexpr word_type | word_mask (const size_type index) noexcept |
| Mask representing a mask for a given bit within its word. | |
Static Public Attributes | |
| static constexpr uint8_t | bits_per_word = sizeof(word_type) * 8 |
Private Attributes | |
| buffer_type | mBuffer |
| size_type | mSize |
The DynamicBitSet, which similar to BitSet, but does not have the size in its type.
It's also similar to Vector<bool> but has more limited ways for modification.
To construct DynamicBitSet you need to provide a Vector-like container of unsigned integers as a template parameter. It needs to have random access. The value_type of the container determines the word type of the DynamicBitSet type.
| using CeresEngine::DynamicBitSet< Buffer >::allocator_type = typename buffer_type::allocator_type |
| using CeresEngine::DynamicBitSet< Buffer >::buffer_size_type = typename buffer_type::size_type |
| using CeresEngine::DynamicBitSet< Buffer >::buffer_type = Buffer |
| using CeresEngine::DynamicBitSet< Buffer >::size_type = size_t |
| using CeresEngine::DynamicBitSet< Buffer >::word_type = typename buffer_type::value_type |
|
inlineexplicitnoexcept |
|
inlineexplicit |
|
default |
|
inlinenoexcept |
|
inlinenoexcept |
All bits true?
|
inlinenoexcept |
Any bits true?
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinestaticconstexprnoexcept |
Index of a bit within its word.
|
inline |
|
inlinenoexcept |
|
inline |
|
inlinenoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
|
inline |
|
inline |
|
inline |
|
inlinenoexcept |
No bits true?
|
default |
|
inlinenoexcept |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlinenoexcept |
|
inlinenoexcept |
Test single bit.
|
inlinestaticconstexprnoexcept |
Index of a word in buffer for a given bit index.
|
inlinestaticconstexprnoexcept |
Mask representing a mask for a given bit within its word.
|
inlinenoexcept |
|
inlinestaticconstexprnoexcept |
Required word size for a given bit size.
|
staticconstexpr |
|
private |
|
private |