sparrow 0.3.0
Loading...
Searching...
No Matches
sparrow::array_bitmap_base_impl< D, is_mutable > Class Template Reference

Base class for arrays using a validity buffer for defining their bitmap. More...

#include <array_bitmap_base.hpp>

Inheritance diagram for sparrow::array_bitmap_base_impl< D, is_mutable >:
[legend]
Collaboration diagram for sparrow::array_bitmap_base_impl< D, is_mutable >:
[legend]

Public Types

using base_type = std::conditional_t<is_mutable, mutable_array_base<D>, array_crtp_base<D>>
 
using size_type = std::size_t
 
using bitmap_type = typename base_type::bitmap_type
 
using bitmap_iterator = typename base_type::bitmap_iterator
 
using const_bitmap_iterator = typename base_type::const_bitmap_iterator
 
using bitmap_const_reference = typename base_type::bitmap_const_reference
 
using difference_type = typename base_type::difference_type
 
using const_bitmap_range = typename base_type::const_bitmap_range
 
using iterator_tag = typename base_type::iterator_tag
 

Public Member Functions

template<std::input_iterator InputIt>
requires std::same_as<typename std::iterator_traits<InputIt>::value_type, bool>
auto insert_bitmap (const_bitmap_iterator pos, InputIt first, InputIt last) -> bitmap_iterator is_mutable
 

Protected Member Functions

 array_bitmap_base_impl (arrow_proxy)
 
 array_bitmap_base_impl (const array_bitmap_base_impl &)
 
array_bitmap_base_imploperator= (const array_bitmap_base_impl &)
 
 array_bitmap_base_impl (array_bitmap_base_impl &&) noexcept=default
 
array_bitmap_base_imploperator= (array_bitmap_base_impl &&) noexcept=default
 
bitmap_typeget_bitmap ()
 
const bitmap_typeget_bitmap () const
 
void resize_bitmap (size_type new_length, bool value)
 
bitmap_iterator insert_bitmap (const_bitmap_iterator pos, bool value, size_type count)
 
template<std::input_iterator InputIt>
requires std::same_as<typename std::iterator_traits<InputIt>::value_type, bool>
bitmap_iterator insert_bitmap (const_bitmap_iterator pos, InputIt first, InputIt last) is_mutable
 
bitmap_iterator erase_bitmap (const_bitmap_iterator pos, size_type count)
 
void update ()
 
non_owning_dynamic_bitset< uint8_t > get_non_owning_dynamic_bitset ()
 
bitmap_type make_bitmap ()
 

Detailed Description

template<class D, bool is_mutable>
class sparrow::array_bitmap_base_impl< D, is_mutable >

Base class for arrays using a validity buffer for defining their bitmap.

Template Parameters
DThe derived type, i.e. the inheriting class for which array_bitmap_base_impl provides the interface.
is_mutableA boolean indicating whether the validity buffer is mutable.

Definition at line 32 of file array_bitmap_base.hpp.

Member Typedef Documentation

◆ base_type

template<class D, bool is_mutable>
using sparrow::array_bitmap_base_impl< D, is_mutable >::base_type = std::conditional_t<is_mutable, mutable_array_base<D>, array_crtp_base<D>>

Definition at line 37 of file array_bitmap_base.hpp.

◆ bitmap_const_reference

template<class D, bool is_mutable>
using sparrow::array_bitmap_base_impl< D, is_mutable >::bitmap_const_reference = typename base_type::bitmap_const_reference

Definition at line 45 of file array_bitmap_base.hpp.

◆ bitmap_iterator

template<class D, bool is_mutable>
using sparrow::array_bitmap_base_impl< D, is_mutable >::bitmap_iterator = typename base_type::bitmap_iterator

Definition at line 42 of file array_bitmap_base.hpp.

◆ bitmap_type

template<class D, bool is_mutable>
using sparrow::array_bitmap_base_impl< D, is_mutable >::bitmap_type = typename base_type::bitmap_type

Definition at line 41 of file array_bitmap_base.hpp.

◆ const_bitmap_iterator

template<class D, bool is_mutable>
using sparrow::array_bitmap_base_impl< D, is_mutable >::const_bitmap_iterator = typename base_type::const_bitmap_iterator

Definition at line 43 of file array_bitmap_base.hpp.

◆ const_bitmap_range

template<class D, bool is_mutable>
using sparrow::array_bitmap_base_impl< D, is_mutable >::const_bitmap_range = typename base_type::const_bitmap_range

Definition at line 48 of file array_bitmap_base.hpp.

◆ difference_type

template<class D, bool is_mutable>
using sparrow::array_bitmap_base_impl< D, is_mutable >::difference_type = typename base_type::difference_type

Definition at line 46 of file array_bitmap_base.hpp.

◆ iterator_tag

template<class D, bool is_mutable>
using sparrow::array_bitmap_base_impl< D, is_mutable >::iterator_tag = typename base_type::iterator_tag

Definition at line 50 of file array_bitmap_base.hpp.

◆ size_type

template<class D, bool is_mutable>
using sparrow::array_bitmap_base_impl< D, is_mutable >::size_type = std::size_t

Definition at line 39 of file array_bitmap_base.hpp.

Constructor & Destructor Documentation

◆ array_bitmap_base_impl() [1/3]

template<class D, bool is_mutable>
sparrow::array_bitmap_base_impl< D, is_mutable >::array_bitmap_base_impl ( arrow_proxy proxy_param)
protected

Definition at line 118 of file array_bitmap_base.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ array_bitmap_base_impl() [2/3]

template<class D, bool is_mutable>
sparrow::array_bitmap_base_impl< D, is_mutable >::array_bitmap_base_impl ( const array_bitmap_base_impl< D, is_mutable > & rhs)
protected

Definition at line 125 of file array_bitmap_base.hpp.

Here is the call graph for this function:

◆ array_bitmap_base_impl() [3/3]

template<class D, bool is_mutable>
sparrow::array_bitmap_base_impl< D, is_mutable >::array_bitmap_base_impl ( array_bitmap_base_impl< D, is_mutable > && )
protecteddefaultnoexcept

Member Function Documentation

◆ erase_bitmap()

template<class D, bool is_mutable>
requires is_mutable
auto sparrow::array_bitmap_base_impl< D, is_mutable >::erase_bitmap ( const_bitmap_iterator pos,
size_type count )
protected

Definition at line 206 of file array_bitmap_base.hpp.

Here is the call graph for this function:

◆ get_bitmap() [1/2]

template<class D, bool is_mutable>
requires is_mutable
auto sparrow::array_bitmap_base_impl< D, is_mutable >::get_bitmap ( )
nodiscardprotected

Definition at line 141 of file array_bitmap_base.hpp.

◆ get_bitmap() [2/2]

template<class D, bool is_mutable>
auto sparrow::array_bitmap_base_impl< D, is_mutable >::get_bitmap ( ) const
nodiscardprotected

Definition at line 148 of file array_bitmap_base.hpp.

◆ get_non_owning_dynamic_bitset()

template<class D, bool is_mutable>
non_owning_dynamic_bitset< uint8_t > sparrow::array_bitmap_base_impl< D, is_mutable >::get_non_owning_dynamic_bitset ( )
nodiscardprotected

◆ insert_bitmap() [1/3]

template<class D, bool is_mutable>
requires is_mutable
auto sparrow::array_bitmap_base_impl< D, is_mutable >::insert_bitmap ( const_bitmap_iterator pos,
bool value,
size_type count )
protected

Definition at line 174 of file array_bitmap_base.hpp.

Here is the call graph for this function:

◆ insert_bitmap() [2/3]

template<class D, bool is_mutable>
template<std::input_iterator InputIt>
requires std::same_as<typename std::iterator_traits<InputIt>::value_type, bool>
auto sparrow::array_bitmap_base_impl< D, is_mutable >::insert_bitmap ( const_bitmap_iterator pos,
InputIt first,
InputIt last ) -> bitmap_iterator

Definition at line 191 of file array_bitmap_base.hpp.

◆ insert_bitmap() [3/3]

template<class D, bool is_mutable>
template<std::input_iterator InputIt>
requires std::same_as<typename std::iterator_traits<InputIt>::value_type, bool>
bitmap_iterator sparrow::array_bitmap_base_impl< D, is_mutable >::insert_bitmap ( const_bitmap_iterator pos,
InputIt first,
InputIt last )
protected

◆ make_bitmap()

template<class D, bool is_mutable>
auto sparrow::array_bitmap_base_impl< D, is_mutable >::make_bitmap ( )
nodiscardprotected

Definition at line 154 of file array_bitmap_base.hpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ operator=() [1/2]

template<class D, bool is_mutable>
array_bitmap_base_impl & sparrow::array_bitmap_base_impl< D, is_mutable >::operator= ( array_bitmap_base_impl< D, is_mutable > && )
protecteddefaultnoexcept

◆ operator=() [2/2]

template<class D, bool is_mutable>
array_bitmap_base_impl< D, is_mutable > & sparrow::array_bitmap_base_impl< D, is_mutable >::operator= ( const array_bitmap_base_impl< D, is_mutable > & rhs)
protected

Definition at line 133 of file array_bitmap_base.hpp.

Here is the call graph for this function:

◆ resize_bitmap()

template<class D, bool is_mutable>
requires is_mutable
void sparrow::array_bitmap_base_impl< D, is_mutable >::resize_bitmap ( size_type new_length,
bool value )
protected

Definition at line 164 of file array_bitmap_base.hpp.

Here is the call graph for this function:

◆ update()

template<class D, bool is_mutable>
requires is_mutable
void sparrow::array_bitmap_base_impl< D, is_mutable >::update ( )
protected

Definition at line 219 of file array_bitmap_base.hpp.

Here is the call graph for this function:

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