|
sparrow 2.0.0
C++20 idiomatic APIs for the Apache Arrow Columnar Format
|
Policy class that enables null count tracking in dynamic_bitset_base. More...
#include <null_count_policy.hpp>
Public Types | |
| using | size_type = SizeType |
Public Member Functions | |
| constexpr | tracking_null_count () noexcept=default |
| constexpr | tracking_null_count (size_type count) noexcept |
| template<std::integral BlockType> | |
| void | initialize_null_count (const BlockType *data, size_type bit_size, size_type block_count) noexcept |
| Initializes the null count by counting bits in the buffer. | |
| constexpr size_type | null_count () const noexcept |
| constexpr void | set_null_count (size_type count) noexcept |
| template<std::integral BlockType> | |
| void | recompute_null_count (const BlockType *data, size_type bit_size, size_type block_count) noexcept |
| Recomputes the null count from the buffer. | |
| constexpr void | update_null_count (bool old_value, bool new_value) noexcept |
| constexpr void | swap_null_count (tracking_null_count &other) noexcept |
| constexpr void | clear_null_count () noexcept |
Static Public Attributes | |
| static constexpr bool | track_null_count = true |
Policy class that enables null count tracking in dynamic_bitset_base.
When this policy is used, the bitset maintains an internal counter of null (unset) bits, which is updated on every bit modification. This enables O(1) null_count() queries but adds slight overhead to modification operations.
Use this policy when you frequently need to query the number of null bits.
| SizeType | The size type used for counting (typically std::size_t) |
Definition at line 51 of file null_count_policy.hpp.
| using sparrow::tracking_null_count< SizeType >::size_type = SizeType |
Definition at line 56 of file null_count_policy.hpp.
|
constexprdefaultnoexcept |
|
inlineexplicitconstexprnoexcept |
|
inlineconstexprnoexcept |
|
inlinenoexcept |
Initializes the null count by counting bits in the buffer.
| BlockType | The integral type used for storage blocks |
| data | Pointer to the block data |
| bit_size | The total number of bits |
| block_count | The number of blocks in the buffer |
Definition at line 73 of file null_count_policy.hpp.
|
inlinenodiscardconstexprnoexcept |
Definition at line 78 of file null_count_policy.hpp.
|
inlinenoexcept |
Recomputes the null count from the buffer.
| BlockType | The integral type used for storage blocks |
| data | Pointer to the block data |
| bit_size | The total number of bits |
| block_count | The number of blocks in the buffer |
Definition at line 96 of file null_count_policy.hpp.
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
Definition at line 118 of file null_count_policy.hpp.
|
inlineconstexprnoexcept |
|
staticconstexpr |
Definition at line 55 of file null_count_policy.hpp.