sparrow 0.9.0
Loading...
Searching...
No Matches
sparrow::variable_size_binary_view_array_impl< T, CR > Class Template Reference

#include <variable_size_binary_view_array.hpp>

Inheritance diagram for sparrow::variable_size_binary_view_array_impl< T, CR >:
[legend]
Collaboration diagram for sparrow::variable_size_binary_view_array_impl< T, CR >:
[legend]

Public Types

using self_type = variable_size_binary_view_array_impl<T, CR>
 
using base_type = mutable_array_bitmap_base<self_type>
 
using inner_types = array_inner_types<self_type>
 
using inner_value_type = typename inner_types::inner_value_type
 
using inner_reference = typename inner_types::inner_reference
 
using inner_const_reference = typename inner_types::inner_const_reference
 
using bitmap_type = typename base_type::bitmap_type
 
using bitmap_reference = typename base_type::bitmap_reference
 
using bitmap_const_reference = typename base_type::bitmap_const_reference
 
using bitmap_iterator = typename base_type::bitmap_iterator
 
using const_bitmap_iterator = typename base_type::const_bitmap_iterator
 
using bitmap_range = typename base_type::bitmap_range
 
using const_bitmap_range = typename base_type::const_bitmap_range
 
using value_type = nullable<inner_value_type>
 
using reference = nullable<inner_reference, bitmap_reference>
 
using const_reference = nullable<inner_const_reference, bitmap_const_reference>
 
using size_type = typename base_type::size_type
 
using difference_type = typename base_type::difference_type
 
using iterator_tag = typename base_type::iterator_tag
 
using value_iterator = typename base_type::value_iterator
 
using const_value_iterator = typename base_type::const_value_iterator
 
using iterator = typename base_type::iterator
 
using const_iterator = typename base_type::const_iterator
 
- Public Types inherited from sparrow::array_bitmap_base_impl< D, true >
using base_type
 
using size_type
 
using bitmap_type
 
using bitmap_iterator
 
using const_bitmap_iterator
 
using bitmap_const_reference
 
using difference_type
 
using const_bitmap_range
 
using iterator_tag
 

Public Member Functions

 variable_size_binary_view_array_impl (arrow_proxy)
 Constructs variable-size binary view array from Arrow proxy.
 
template<class... Args>
requires (mpl::excludes_copy_and_move_ctor_v<variable_size_binary_view_array_impl<T, CR>, Args...>)
 variable_size_binary_view_array_impl (Args &&... args)
 Generic constructor for creating variable-size binary view array.
 
template<std::ranges::input_range R>
requires std::convertible_to<std::ranges::range_value_t<R>, T>
auto create_buffers (R &&range) -> buffers
 
- Public Member Functions inherited from sparrow::array_bitmap_base_impl< D, true >
constexpr auto insert_bitmap (const_bitmap_iterator pos, InputIt first, InputIt last) -> bitmap_iterator is_mutable
 
constexpr auto insert_bitmap (const_bitmap_iterator pos, InputIt first, InputIt last) -> bitmap_iterator is_mutable
 

Friends

class detail::layout_value_functor< self_type, inner_reference >
 
class detail::layout_value_functor< const self_type, inner_const_reference >
 

Additional Inherited Members

- Protected Member Functions inherited from sparrow::array_bitmap_base_impl< D, true >
 array_bitmap_base_impl (arrow_proxy proxy)
 Constructs array bitmap base from Arrow proxy.
 
constexpr array_bitmap_base_impl (const array_bitmap_base_impl &)
 Copy constructor.
 
constexpr array_bitmap_base_imploperator= (const array_bitmap_base_impl &)
 Copy assignment operator.
 
constexpr array_bitmap_base_impl (array_bitmap_base_impl &&) noexcept=default
 
constexpr array_bitmap_base_imploperator= (array_bitmap_base_impl &&) noexcept=default
 
constexpr bitmap_typeget_bitmap ()
 Gets mutable reference to the validity bitmap.
 
constexpr const bitmap_typeget_bitmap () const
 Gets const reference to the validity bitmap.
 
constexpr void resize_bitmap (size_type new_length, bool value)
 Resizes the validity bitmap to accommodate new array length.
 
constexpr bitmap_iterator insert_bitmap (const_bitmap_iterator pos, bool value, size_type count)
 Inserts validity bits at specified position.
 
constexpr bitmap_iterator insert_bitmap (const_bitmap_iterator pos, InputIt first, InputIt last) is_mutable
 Inserts range of validity bits at specified position.
 
constexpr bitmap_iterator erase_bitmap (const_bitmap_iterator pos, size_type count)
 Erases validity bits starting at specified position.
 
constexpr void update ()
 Updates internal bitmap after external modifications to Arrow data.
 
constexpr non_owning_dynamic_bitset< uint8_t > get_non_owning_dynamic_bitset ()
 Gets non-owning view of the bitmap as dynamic bitset.
 
constexpr bitmap_type make_bitmap ()
 Creates bitmap wrapper from current Arrow validity buffer.
 
 array_bitmap_base_impl (arrow_proxy proxy)
 Constructs array bitmap base from Arrow proxy.
 
constexpr array_bitmap_base_impl (const array_bitmap_base_impl &)
 Copy constructor.
 
constexpr array_bitmap_base_impl (array_bitmap_base_impl &&) noexcept=default
 
constexpr array_bitmap_base_imploperator= (const array_bitmap_base_impl &)
 Copy assignment operator.
 
constexpr array_bitmap_base_imploperator= (array_bitmap_base_impl &&) noexcept=default
 
constexpr bitmap_typeget_bitmap ()
 Gets mutable reference to the validity bitmap.
 
constexpr const bitmap_typeget_bitmap () const
 Gets const reference to the validity bitmap.
 
constexpr void resize_bitmap (size_type new_length, bool value)
 Resizes the validity bitmap to accommodate new array length.
 
constexpr bitmap_iterator insert_bitmap (const_bitmap_iterator pos, bool value, size_type count)
 Inserts validity bits at specified position.
 
constexpr bitmap_iterator insert_bitmap (const_bitmap_iterator pos, InputIt first, InputIt last) is_mutable
 Inserts range of validity bits at specified position.
 
constexpr bitmap_iterator erase_bitmap (const_bitmap_iterator pos, size_type count)
 Erases validity bits starting at specified position.
 
constexpr void update ()
 Updates internal bitmap after external modifications to Arrow data.
 
constexpr non_owning_dynamic_bitset< uint8_t > get_non_owning_dynamic_bitset ()
 Gets non-owning view of the bitmap as dynamic bitset.
 
constexpr bitmap_type make_bitmap ()
 Creates bitmap wrapper from current Arrow validity buffer.
 

Detailed Description

template<std::ranges::sized_range T, class CR>
class sparrow::variable_size_binary_view_array_impl< T, CR >

Definition at line 155 of file variable_size_binary_view_array.hpp.

Member Typedef Documentation

◆ base_type

◆ bitmap_const_reference

template<std::ranges::sized_range T, class CR>
using sparrow::variable_size_binary_view_array_impl< T, CR >::bitmap_const_reference = typename base_type::bitmap_const_reference

◆ bitmap_iterator

template<std::ranges::sized_range T, class CR>
using sparrow::variable_size_binary_view_array_impl< T, CR >::bitmap_iterator = typename base_type::bitmap_iterator

Definition at line 171 of file variable_size_binary_view_array.hpp.

◆ bitmap_range

template<std::ranges::sized_range T, class CR>
using sparrow::variable_size_binary_view_array_impl< T, CR >::bitmap_range = typename base_type::bitmap_range

◆ bitmap_reference

template<std::ranges::sized_range T, class CR>
using sparrow::variable_size_binary_view_array_impl< T, CR >::bitmap_reference = typename base_type::bitmap_reference

◆ bitmap_type

template<std::ranges::sized_range T, class CR>
using sparrow::variable_size_binary_view_array_impl< T, CR >::bitmap_type = typename base_type::bitmap_type

Definition at line 168 of file variable_size_binary_view_array.hpp.

◆ const_bitmap_iterator

template<std::ranges::sized_range T, class CR>
using sparrow::variable_size_binary_view_array_impl< T, CR >::const_bitmap_iterator = typename base_type::const_bitmap_iterator

◆ const_bitmap_range

template<std::ranges::sized_range T, class CR>
using sparrow::variable_size_binary_view_array_impl< T, CR >::const_bitmap_range = typename base_type::const_bitmap_range

◆ const_iterator

template<std::ranges::sized_range T, class CR>
using sparrow::variable_size_binary_view_array_impl< T, CR >::const_iterator = typename base_type::const_iterator

◆ const_reference

◆ const_value_iterator

template<std::ranges::sized_range T, class CR>
using sparrow::variable_size_binary_view_array_impl< T, CR >::const_value_iterator = typename base_type::const_value_iterator

◆ difference_type

template<std::ranges::sized_range T, class CR>
using sparrow::variable_size_binary_view_array_impl< T, CR >::difference_type = typename base_type::difference_type

Definition at line 181 of file variable_size_binary_view_array.hpp.

◆ inner_const_reference

template<std::ranges::sized_range T, class CR>
using sparrow::variable_size_binary_view_array_impl< T, CR >::inner_const_reference = typename inner_types::inner_const_reference

◆ inner_reference

template<std::ranges::sized_range T, class CR>
using sparrow::variable_size_binary_view_array_impl< T, CR >::inner_reference = typename inner_types::inner_reference

◆ inner_types

◆ inner_value_type

template<std::ranges::sized_range T, class CR>
using sparrow::variable_size_binary_view_array_impl< T, CR >::inner_value_type = typename inner_types::inner_value_type

◆ iterator

template<std::ranges::sized_range T, class CR>
using sparrow::variable_size_binary_view_array_impl< T, CR >::iterator = typename base_type::iterator

◆ iterator_tag

template<std::ranges::sized_range T, class CR>
using sparrow::variable_size_binary_view_array_impl< T, CR >::iterator_tag = typename base_type::iterator_tag

◆ reference

◆ self_type

◆ size_type

template<std::ranges::sized_range T, class CR>
using sparrow::variable_size_binary_view_array_impl< T, CR >::size_type = typename base_type::size_type

Definition at line 180 of file variable_size_binary_view_array.hpp.

◆ value_iterator

template<std::ranges::sized_range T, class CR>
using sparrow::variable_size_binary_view_array_impl< T, CR >::value_iterator = typename base_type::value_iterator

Definition at line 184 of file variable_size_binary_view_array.hpp.

◆ value_type

Constructor & Destructor Documentation

◆ variable_size_binary_view_array_impl() [1/2]

template<std::ranges::sized_range T, class CR>
sparrow::variable_size_binary_view_array_impl< T, CR >::variable_size_binary_view_array_impl ( arrow_proxy proxy)
explicit

Constructs variable-size binary view array from Arrow proxy.

Parameters
proxyArrow proxy containing binary/string view array data and schema
Precondition
proxy must contain valid Arrow Binary View or String View array and schema
proxy format must be "vu" (string view) or "vz" (binary view)
proxy must have the required buffer layout for view arrays
Postcondition
Array is initialized with data from proxy
View structures are accessible for efficient element retrieval
Examples
/home/runner/work/sparrow/sparrow/include/sparrow/variable_size_binary_view_array.hpp.

Definition at line 454 of file variable_size_binary_view_array.hpp.

◆ variable_size_binary_view_array_impl() [2/2]

template<std::ranges::sized_range T, class CR>
template<class... Args>
requires (mpl::excludes_copy_and_move_ctor_v<variable_size_binary_view_array_impl<T, CR>, Args...>)
sparrow::variable_size_binary_view_array_impl< T, CR >::variable_size_binary_view_array_impl ( Args &&... args)
inlineexplicit

Generic constructor for creating variable-size binary view array.

Creates a variable-size binary view array from various input types. Arguments are forwarded to compatible create_proxy() functions.

Template Parameters
ArgsParameter pack for constructor arguments
Parameters
argsConstructor arguments (data ranges, validity, metadata, etc.)
Precondition
Arguments must match one of the create_proxy() overload signatures
Input data must be convertible to T (string_view or span<const byte>)
Postcondition
Array is created with optimized Binary View layout
Short strings (≤12 bytes) are stored inline, long strings in buffers

Definition at line 219 of file variable_size_binary_view_array.hpp.

Member Function Documentation

◆ create_buffers()

template<std::ranges::sized_range T, class CR>
template<std::ranges::input_range R>
requires std::convertible_to<std::ranges::range_value_t<R>, T>
auto sparrow::variable_size_binary_view_array_impl< T, CR >::create_buffers ( R && range) -> buffers

Definition at line 462 of file variable_size_binary_view_array.hpp.

Friends And Related Symbol Documentation

◆ detail::layout_value_functor< const self_type, inner_const_reference >

template<std::ranges::sized_range T, class CR>
friend class detail::layout_value_functor< const self_type, inner_const_reference >
friend

Definition at line 448 of file variable_size_binary_view_array.hpp.

◆ detail::layout_value_functor< self_type, inner_reference >

template<std::ranges::sized_range T, class CR>
friend class detail::layout_value_functor< self_type, inner_reference >
friend

Definition at line 448 of file variable_size_binary_view_array.hpp.


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