|
Blender V5.0
|
#include <BLI_bit_group_vector.hh>
Public Member Functions | |
| BitGroupVector (Allocator allocator={}) noexcept | |
| BitGroupVector (NoExceptConstructor, Allocator allocator={}) noexcept | |
| BitGroupVector (const int64_t size_in_groups, const int64_t group_size, const bool value=false, Allocator allocator={}) | |
| BitGroupVector (const BitGroupVector &other) | |
| BitGroupVector (BitGroupVector &&other) | |
| BitGroupVector & | operator= (const BitGroupVector &other) |
| BitGroupVector & | operator= (BitGroupVector &&other) |
| BoundedBitSpan | operator[] (const int64_t i) const |
| MutableBoundedBitSpan | operator[] (const int64_t i) |
| int64_t | size () const |
| bool | is_empty () const |
| int64_t | group_size () const |
| IndexRange | index_range () const |
| BoundedBitSpan | all_bits () const |
| MutableBoundedBitSpan | all_bits () |
A BitGroupVector is a compact data structure that allows storing an arbitrary but fixed number of bits per element. For example, it could be used to compactly store 5 bits per vertex in a mesh. The data structure stores the bits in a way so that the BitSpan for every element is bounded according to is_bounded_span. The makes sure that operations on entire groups can be implemented efficiently. For example, one can easy or one group into another.
Definition at line 23 of file BLI_bit_group_vector.hh.
|
inlinenoexcept |
Definition at line 47 of file BLI_bit_group_vector.hh.
|
inlinenoexcept |
Definition at line 49 of file BLI_bit_group_vector.hh.
|
inline |
Definition at line 54 of file BLI_bit_group_vector.hh.
|
inline |
Definition at line 66 of file BLI_bit_group_vector.hh.
|
inline |
Definition at line 73 of file BLI_bit_group_vector.hh.
|
inline |
Definition at line 137 of file BLI_bit_group_vector.hh.
|
inline |
Get all stored bits. Note that this may also contain padding bits. This can be used to e.g. mix multiple BitGroupVector.
Definition at line 132 of file BLI_bit_group_vector.hh.
|
inline |
Number of bits per group.
Definition at line 118 of file BLI_bit_group_vector.hh.
|
inline |
Definition at line 123 of file BLI_bit_group_vector.hh.
|
inline |
Definition at line 112 of file BLI_bit_group_vector.hh.
|
inline |
Definition at line 85 of file BLI_bit_group_vector.hh.
|
inline |
Definition at line 80 of file BLI_bit_group_vector.hh.
|
inline |
Get all the bits at an index.
Definition at line 99 of file BLI_bit_group_vector.hh.
|
inline |
Get all the bits at an index.
Definition at line 91 of file BLI_bit_group_vector.hh.
|
inline |
Number of groups.
Definition at line 107 of file BLI_bit_group_vector.hh.