51 template <
class D,
bool is_mutable>
53 :
public std::conditional_t<is_mutable, mutable_array_base<D>, array_crtp_base<D>>
208 template <
std::input_iterator InputIt>
209 requires
std::same_as<typename
std::iterator_traits<InputIt>::value_type,
bool>
270 template <class D,
bool is_mutable>
276 template <
class D,
bool is_mutable>
282 template <
class D,
bool is_mutable>
286 base_type::operator=(rhs);
290 template <
class D,
bool is_mutable>
299 template <
class D,
bool is_mutable>
302 const arrow_proxy& proxy = this->get_arrow_proxy();
307 template <
class D,
bool is_mutable>
311 this->get_arrow_proxy().resize_bitmap(new_length, value);
314 template <
class D,
bool is_mutable>
322 const auto pos_index =
static_cast<size_t>(std::distance(this->bitmap_cbegin(), pos));
323 const auto idx = this->get_arrow_proxy().insert_bitmap(pos_index, value, count);
327 template <
class D,
bool is_mutable>
328 template <std::input_iterator InputIt>
329 requires std::same_as<typename std::iterator_traits<InputIt>::value_type,
bool>
338 const auto pos_index =
static_cast<size_t>(std::distance(this->bitmap_cbegin(), pos));
339 const auto idx = this->get_arrow_proxy().insert_bitmap(pos_index, std::ranges::subrange(first, last));
343 template <
class D,
bool is_mutable>
352 const auto pos_idx =
static_cast<size_t>(std::distance(this->bitmap_cbegin(), pos));
array_bitmap_base_impl(arrow_proxy proxy)
Constructs array bitmap base from Arrow proxy.
typename base_type::const_bitmap_range const_bitmap_range
typename base_type::bitmap_iterator bitmap_iterator
constexpr array_bitmap_base_impl(array_bitmap_base_impl &&) noexcept=default
constexpr array_bitmap_base_impl(const array_bitmap_base_impl &)
constexpr bitmap_type & get_bitmap()
constexpr void resize_bitmap(size_type new_length, bool value)
constexpr bitmap_iterator insert_bitmap(const_bitmap_iterator pos, bool value, size_type count)
typename base_type::iterator_tag iterator_tag
typename base_type::const_bitmap_iterator const_bitmap_iterator
constexpr array_bitmap_base_impl & operator=(const array_bitmap_base_impl &)
constexpr bitmap_iterator erase_bitmap(const_bitmap_iterator pos, size_type count)
typename base_type::const_bitmap_type const_bitmap_type
std::conditional_t< is_mutable, mutable_array_base< D >, array_crtp_base< D > > base_type
typename base_type::bitmap_const_reference bitmap_const_reference
typename base_type::bitmap_type bitmap_type
typename base_type::difference_type difference_type
SPARROW_API std::optional< bitmap_type > & bitmap()
SPARROW_API const std::optional< const_bitmap_type > & const_bitmap() const
SPARROW_API size_t erase_bitmap(size_t index, size_t count=1)
Erases validity bits starting at specified position.
Base class definining common interface for arrays with a bitmap.
#define SPARROW_ASSERT_TRUE(expr__)
array_bitmap_base_impl< D, true > mutable_array_bitmap_base
Convenient alias for arrays with mutable validity bitmaps.
constexpr InputIt next(InputIt it, Distance n)
array_bitmap_base_impl< D, false > array_bitmap_base
Convenient alias for arrays with immutable validity bitmaps.
Extensions to the C++ standard library.