sparrow 2.4.0
C++20 idiomatic APIs for the Apache Arrow Columnar Format
Loading...
Searching...
No Matches
sparrow::variable_size_binary_view_array_impl< T, CR, Ext > Class Template Reference

#include <variable_size_binary_view_array.hpp>

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

Public Types

using self_type = variable_size_binary_view_array_impl<T, CR, Ext>
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 const_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.
 variable_size_binary_view_array_impl (const self_type &)
self_typeoperator= (const self_type &)=default
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.
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

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 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)
 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.

Detailed Description

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

Definition at line 170 of file variable_size_binary_view_array.hpp.

Member Typedef Documentation

◆ base_type

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

◆ bitmap_const_reference

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

◆ bitmap_iterator

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

Definition at line 187 of file variable_size_binary_view_array.hpp.

◆ bitmap_range

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

◆ bitmap_reference

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

◆ bitmap_type

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

◆ const_bitmap_iterator

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

◆ const_bitmap_range

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

◆ const_iterator

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

◆ const_reference

template<std::ranges::sized_range T, class CR, typename Ext>
using sparrow::variable_size_binary_view_array_impl< T, CR, Ext >::const_reference = nullable<inner_const_reference, bitmap_const_reference>

◆ const_value_iterator

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

◆ difference_type

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

Definition at line 197 of file variable_size_binary_view_array.hpp.

◆ inner_const_reference

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

◆ inner_reference

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

◆ inner_types

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

◆ inner_value_type

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

◆ iterator

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

◆ iterator_tag

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

◆ reference

template<std::ranges::sized_range T, class CR, typename Ext>
using sparrow::variable_size_binary_view_array_impl< T, CR, Ext >::reference = nullable<inner_reference, bitmap_reference>

◆ self_type

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

◆ size_type

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

Definition at line 196 of file variable_size_binary_view_array.hpp.

◆ value_iterator

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

Definition at line 200 of file variable_size_binary_view_array.hpp.

◆ value_type

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

Constructor & Destructor Documentation

◆ variable_size_binary_view_array_impl() [1/3]

template<std::ranges::sized_range T, class CR, typename Ext>
sparrow::variable_size_binary_view_array_impl< T, CR, Ext >::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 626 of file variable_size_binary_view_array.hpp.

◆ variable_size_binary_view_array_impl() [2/3]

template<std::ranges::sized_range T, class CR, typename Ext>
sparrow::variable_size_binary_view_array_impl< T, CR, Ext >::variable_size_binary_view_array_impl ( const self_type & rhs)

Definition at line 632 of file variable_size_binary_view_array.hpp.

Here is the call graph for this function:

◆ variable_size_binary_view_array_impl() [3/3]

template<std::ranges::sized_range T, class CR, typename Ext>
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, Ext >::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 238 of file variable_size_binary_view_array.hpp.

Member Function Documentation

◆ operator=()

template<std::ranges::sized_range T, class CR, typename Ext>
self_type & sparrow::variable_size_binary_view_array_impl< T, CR, Ext >::operator= ( const self_type & )
default

◆ detail::layout_value_functor< const self_type, inner_const_reference >

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

Definition at line 620 of file variable_size_binary_view_array.hpp.

◆ detail::layout_value_functor< self_type, inner_reference >

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

Definition at line 620 of file variable_size_binary_view_array.hpp.


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