sparrow 2.3.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, size_type=0) noexcept
 
constexpr void set_null_count (size_type) noexcept
 
template<std::integral BlockType>
constexpr void recompute_null_count (const BlockType *, size_type, size_type, size_type=0) 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 164 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 169 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 174 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 217 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 ,
size_type = 0 )
inlineconstexprnoexcept

Definition at line 182 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 ,
size_type = 0 )
inlineconstexprnoexcept

Definition at line 198 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 191 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 212 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 207 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 168 of file null_count_policy.hpp.


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