sparrow 2.0.0
C++20 idiomatic APIs for the Apache Arrow Columnar Format
Loading...
Searching...
No Matches
sparrow::non_tracking_null_count< SizeType > Class Template Reference

Policy class that disables null count tracking in dynamic_bitset_base. More...

#include <null_count_policy.hpp>

Collaboration diagram for sparrow::non_tracking_null_count< SizeType >:
[legend]

Public Types

using size_type = SizeType
 

Public Member Functions

constexpr non_tracking_null_count () noexcept=default
 
constexpr non_tracking_null_count (size_type) noexcept
 
template<std::integral BlockType>
constexpr void initialize_null_count (const BlockType *, size_type, size_type) noexcept
 
constexpr void set_null_count (size_type) noexcept
 
template<std::integral BlockType>
constexpr void recompute_null_count (const BlockType *, size_type, size_type) noexcept
 
constexpr void update_null_count (bool, bool) noexcept
 
constexpr void swap_null_count (non_tracking_null_count &) noexcept
 
constexpr void clear_null_count () noexcept
 

Static Public Attributes

static constexpr bool track_null_count = false
 

Detailed Description

template<typename SizeType = std::size_t>
class sparrow::non_tracking_null_count< SizeType >

Policy class that disables null count tracking in dynamic_bitset_base.

When this policy is used, the bitset does not maintain a null count. The null_count() method becomes unavailable (via requires clause). This provides zero-overhead bit operations when null count queries are not needed.

Use this policy for pure bitset operations where null count is irrelevant.

Template Parameters
SizeTypeThe size type (unused, but kept for interface consistency)

Definition at line 148 of file null_count_policy.hpp.

Member Typedef Documentation

◆ size_type

template<typename SizeType = std::size_t>
using sparrow::non_tracking_null_count< SizeType >::size_type = SizeType

Definition at line 153 of file null_count_policy.hpp.

Constructor & Destructor Documentation

◆ non_tracking_null_count() [1/2]

template<typename SizeType = std::size_t>
sparrow::non_tracking_null_count< SizeType >::non_tracking_null_count ( )
constexprdefaultnoexcept
Here is the caller graph for this function:

◆ non_tracking_null_count() [2/2]

template<typename SizeType = std::size_t>
sparrow::non_tracking_null_count< SizeType >::non_tracking_null_count ( size_type )
inlineexplicitconstexprnoexcept

Definition at line 158 of file null_count_policy.hpp.

Here is the call graph for this function:

Member Function Documentation

◆ clear_null_count()

template<typename SizeType = std::size_t>
void sparrow::non_tracking_null_count< SizeType >::clear_null_count ( )
inlineconstexprnoexcept

Definition at line 193 of file null_count_policy.hpp.

◆ initialize_null_count()

template<typename SizeType = std::size_t>
template<std::integral BlockType>
void sparrow::non_tracking_null_count< SizeType >::initialize_null_count ( const BlockType * ,
size_type ,
size_type  )
inlineconstexprnoexcept

Definition at line 167 of file null_count_policy.hpp.

◆ recompute_null_count()

template<typename SizeType = std::size_t>
template<std::integral BlockType>
void sparrow::non_tracking_null_count< SizeType >::recompute_null_count ( const BlockType * ,
size_type ,
size_type  )
inlineconstexprnoexcept

Definition at line 179 of file null_count_policy.hpp.

◆ set_null_count()

template<typename SizeType = std::size_t>
void sparrow::non_tracking_null_count< SizeType >::set_null_count ( size_type )
inlineconstexprnoexcept

Definition at line 171 of file null_count_policy.hpp.

◆ swap_null_count()

template<typename SizeType = std::size_t>
void sparrow::non_tracking_null_count< SizeType >::swap_null_count ( non_tracking_null_count< SizeType > & )
inlineconstexprnoexcept

Definition at line 188 of file null_count_policy.hpp.

Here is the call graph for this function:

◆ update_null_count()

template<typename SizeType = std::size_t>
void sparrow::non_tracking_null_count< SizeType >::update_null_count ( bool ,
bool  )
inlineconstexprnoexcept

Definition at line 183 of file null_count_policy.hpp.

Member Data Documentation

◆ track_null_count

template<typename SizeType = std::size_t>
bool sparrow::non_tracking_null_count< SizeType >::track_null_count = false
staticconstexpr

Definition at line 152 of file null_count_policy.hpp.


The documentation for this class was generated from the following file: