sparrow 2.4.0
C++20 idiomatic APIs for the Apache Arrow Columnar Format
Loading...
Searching...
No Matches
sparrow::list_view_array_impl< BIG > Class Template Reference

#include <list_array.hpp>

Inheritance diagram for sparrow::list_view_array_impl< BIG >:
[legend]
Collaboration diagram for sparrow::list_view_array_impl< BIG >:
[legend]

Public Types

using self_type = list_view_array_impl<BIG>
 
using inner_types = array_inner_types<self_type>
 
using base_type = list_array_crtp_base<list_view_array_impl<BIG>>
 
using list_size_type = inner_types::list_size_type
 
using size_type = typename base_type::size_type
 
using value_iterator = typename base_type::value_iterator
 
using const_value_iterator = typename base_type::const_value_iterator
 
using offset_type = std::conditional_t<BIG, const std::int64_t, const std::int32_t>
 
using offset_buffer_type = u8_buffer<std::remove_const_t<offset_type>>
 
using size_buffer_type = u8_buffer<std::remove_const_t<list_size_type>>
 
- Public Types inherited from sparrow::list_array_crtp_base< list_view_array_impl< BIG > >
using self_type
 
using base_type
 
using inner_types
 
using value_iterator
 
using const_value_iterator
 
using size_type
 
using bitmap_type
 
using bitmap_reference
 
using bitmap_const_reference
 
using const_bitmap_range
 
using inner_value_type
 
using inner_reference
 
using inner_const_reference
 
using value_type
 
using reference
 
using const_reference
 
using iterator_tag
 
- 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

 list_view_array_impl (arrow_proxy proxy)
 Constructs list view array from Arrow proxy.
 
constexpr list_view_array_impl (const self_type &)
 Copy constructor.
 
constexpr list_view_array_imploperator= (const self_type &)
 Copy assignment operator.
 
constexpr list_view_array_impl (self_type &&)=default
 
constexpr list_view_array_imploperator= (self_type &&)=default
 
constexpr void slice_inplace (size_type start, size_type end)
 
template<class... ARGS>
requires (mpl::excludes_copy_and_move_ctor_v<list_view_array_impl<BIG>, ARGS...>)
 list_view_array_impl (ARGS &&... args)
 Generic constructor for creating list view array from various inputs.
 
template<std::input_iterator InputIt>
requires std::convertible_to<typename std::iterator_traits<InputIt>::value_type, list_value>
constexpr auto insert_values (const_value_iterator pos, InputIt first, InputIt last) -> value_iterator
 
- Public Member Functions inherited from sparrow::list_array_crtp_base< list_view_array_impl< BIG > >
constexpr const arrayraw_flat_array () const
 Gets read-only access to the underlying flat array.
 
constexpr arrayraw_flat_array ()
 Gets mutable access to the underlying flat array.
 
constexpr auto insert_values (const_value_iterator pos, InputIt first, InputIt last) -> value_iterator
 
constexpr const arrayraw_flat_array () const
 Gets read-only access to the underlying flat array.
 
constexpr arrayraw_flat_array ()
 Gets mutable access to the underlying flat array.
 
constexpr auto insert_values (const_value_iterator pos, InputIt first, InputIt last) -> value_iterator
 
- 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 array_crtp_base< self_type >
 
class mutable_array_base< self_type >
 
class list_array_crtp_base< self_type >
 
template<class L>
class list_reference
 

Additional Inherited Members

- Protected Member Functions inherited from sparrow::list_array_crtp_base< list_view_array_impl< BIG > >
 list_array_crtp_base (arrow_proxy proxy)
 Constructs list array base from Arrow proxy.
 
constexpr list_array_crtp_base (const self_type &)
 Copy constructor.
 
constexpr list_array_crtp_baseoperator= (const self_type &)
 Copy assignment operator.
 
constexpr list_array_crtp_base (self_type &&) noexcept=default
 
constexpr list_array_crtp_baseoperator= (self_type &&) noexcept=default
 
constexpr void throw_if_sliced_for_mutation (const char *operation) const
 Throws if a mutating operation is attempted on a sliced array.
 
constexpr value_iterator value_begin ()
 
constexpr value_iterator value_end ()
 
constexpr const_value_iterator value_cbegin () const
 
constexpr const_value_iterator value_cend () const
 
constexpr void insert_flat_elements (size_type flat_pos, const list_value &value, size_type count)
 
constexpr void erase_flat_elements (size_type flat_begin, size_type flat_count)
 
 list_array_crtp_base (arrow_proxy proxy)
 Constructs list array base from Arrow proxy.
 
constexpr list_array_crtp_base (const self_type &)
 Copy constructor.
 
constexpr list_array_crtp_base (self_type &&) noexcept=default
 
constexpr list_array_crtp_baseoperator= (const self_type &)
 Copy assignment operator.
 
constexpr list_array_crtp_baseoperator= (self_type &&) noexcept=default
 
constexpr void throw_if_sliced_for_mutation (const char *operation) const
 Throws if a mutating operation is attempted on a sliced array.
 
constexpr value_iterator value_begin ()
 
constexpr value_iterator value_end ()
 
constexpr const_value_iterator value_cbegin () const
 
constexpr const_value_iterator value_cend () const
 
constexpr void insert_flat_elements (size_type flat_pos, const list_value &value, size_type count)
 
constexpr void erase_flat_elements (size_type flat_begin, size_type flat_count)
 
- 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) 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.
 
 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 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.
 

Detailed Description

template<bool BIG>
class sparrow::list_view_array_impl< BIG >

Definition at line 650 of file list_array.hpp.

Member Typedef Documentation

◆ base_type

template<bool BIG>
using sparrow::list_view_array_impl< BIG >::base_type = list_array_crtp_base<list_view_array_impl<BIG>>

Definition at line 656 of file list_array.hpp.

◆ const_value_iterator

template<bool BIG>
using sparrow::list_view_array_impl< BIG >::const_value_iterator = typename base_type::const_value_iterator

Definition at line 660 of file list_array.hpp.

◆ inner_types

template<bool BIG>
using sparrow::list_view_array_impl< BIG >::inner_types = array_inner_types<self_type>

Definition at line 655 of file list_array.hpp.

◆ list_size_type

template<bool BIG>
using sparrow::list_view_array_impl< BIG >::list_size_type = inner_types::list_size_type

Definition at line 657 of file list_array.hpp.

◆ offset_buffer_type

template<bool BIG>
using sparrow::list_view_array_impl< BIG >::offset_buffer_type = u8_buffer<std::remove_const_t<offset_type>>

Definition at line 662 of file list_array.hpp.

◆ offset_type

template<bool BIG>
using sparrow::list_view_array_impl< BIG >::offset_type = std::conditional_t<BIG, const std::int64_t, const std::int32_t>

Definition at line 661 of file list_array.hpp.

◆ self_type

template<bool BIG>
using sparrow::list_view_array_impl< BIG >::self_type = list_view_array_impl<BIG>

Definition at line 654 of file list_array.hpp.

◆ size_buffer_type

template<bool BIG>
using sparrow::list_view_array_impl< BIG >::size_buffer_type = u8_buffer<std::remove_const_t<list_size_type>>

Definition at line 663 of file list_array.hpp.

◆ size_type

template<bool BIG>
using sparrow::list_view_array_impl< BIG >::size_type = typename base_type::size_type

Definition at line 658 of file list_array.hpp.

◆ value_iterator

template<bool BIG>
using sparrow::list_view_array_impl< BIG >::value_iterator = typename base_type::value_iterator

Definition at line 659 of file list_array.hpp.

Constructor & Destructor Documentation

◆ list_view_array_impl() [1/4]

template<bool BIG>
sparrow::list_view_array_impl< BIG >::list_view_array_impl ( arrow_proxy proxy)
inlineexplicit

Constructs list view array from Arrow proxy.

Parameters
proxyArrow proxy containing list view array data and schema
Precondition
proxy must contain valid Arrow List View or Large List View array
proxy format must match BIG template parameter
proxy must have offset buffer at index 1 and size buffer at index 2
Postcondition
Array is initialized with data from proxy
Offset and size pointers are set up for efficient access

Definition at line 1541 of file list_array.hpp.

Here is the caller graph for this function:

◆ list_view_array_impl() [2/4]

template<bool BIG>
sparrow::list_view_array_impl< BIG >::list_view_array_impl ( const self_type & rhs)
constexpr

Copy constructor.

Parameters
rhsSource array to copy from
Precondition
rhs must be in a valid state
Postcondition
This array contains a deep copy of rhs data
Offset and size pointers are recalculated for the new data

Definition at line 1642 of file list_array.hpp.

Here is the call graph for this function:

◆ list_view_array_impl() [3/4]

template<bool BIG>
sparrow::list_view_array_impl< BIG >::list_view_array_impl ( self_type && )
constexprdefault

◆ list_view_array_impl() [4/4]

template<bool BIG>
template<class... ARGS>
requires (mpl::excludes_copy_and_move_ctor_v<list_view_array_impl<BIG>, ARGS...>)
sparrow::list_view_array_impl< BIG >::list_view_array_impl ( ARGS &&... args)
inline

Generic constructor for creating list view array from various inputs.

Template Parameters
ARGSParameter pack for constructor arguments
Parameters
argsConstructor arguments (flat_values, offsets, sizes, validity, etc.)
Precondition
First argument must be a valid array for flat values
Second argument must be offset buffer or range
Third argument must be size buffer or range
Offset and size ranges must have the same length
Postcondition
Array is created with the specified data and configuration

Definition at line 721 of file list_array.hpp.

Member Function Documentation

◆ insert_values()

template<bool BIG>
template<std::input_iterator InputIt>
requires std::convertible_to<typename std::iterator_traits<InputIt>::value_type, list_value>
auto sparrow::list_view_array_impl< BIG >::insert_values ( const_value_iterator pos,
InputIt first,
InputIt last ) -> value_iterator
constexpr

Definition at line 1770 of file list_array.hpp.

◆ operator=() [1/2]

template<bool BIG>
auto sparrow::list_view_array_impl< BIG >::operator= ( const self_type & rhs)
constexpr

Copy assignment operator.

Parameters
rhsSource array to copy from
Returns
Reference to this array
Precondition
rhs must be in a valid state
Postcondition
This array contains a deep copy of rhs data
Previous data is properly released
Offset and size pointers are recalculated for the new data

Definition at line 1651 of file list_array.hpp.

Here is the call graph for this function:

◆ operator=() [2/2]

template<bool BIG>
list_view_array_impl & sparrow::list_view_array_impl< BIG >::operator= ( self_type && )
constexprdefault

◆ slice_inplace()

template<bool BIG>
void sparrow::list_view_array_impl< BIG >::slice_inplace ( size_type start,
size_type end )
constexpr

Definition at line 1664 of file list_array.hpp.

Friends And Related Symbol Documentation

◆ array_crtp_base< self_type >

template<bool BIG>
friend class array_crtp_base< self_type >
friend

Definition at line 847 of file list_array.hpp.

◆ list_array_crtp_base< self_type >

template<bool BIG>
friend class list_array_crtp_base< self_type >
friend

Definition at line 847 of file list_array.hpp.

◆ list_reference

template<bool BIG>
template<class L>
friend class list_reference
friend

Definition at line 854 of file list_array.hpp.

◆ mutable_array_base< self_type >

template<bool BIG>
friend class mutable_array_base< self_type >
friend

Definition at line 847 of file list_array.hpp.


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