sparrow 0.9.0
Loading...
Searching...
No Matches
sparrow::dictionary_encoded_array< IT > Class Template Reference

#include <dictionary_encoded_array.hpp>

Public Types

using self_type = dictionary_encoded_array<IT>
 
using size_type = std::size_t
 
using difference_type = std::ptrdiff_t
 
using inner_value_type = array_traits::inner_value_type
 
using value_type = array_traits::value_type
 
using reference = array_traits::const_reference
 
using const_reference = array_traits::const_reference
 
using functor_type = layout_element_functor<self_type, true>
 
using const_functor_type = layout_element_functor<self_type, true>
 
using iterator = functor_index_iterator<functor_type>
 
using const_iterator = functor_index_iterator<const_functor_type>
 
using keys_buffer_type = u8_buffer<IT>
 

Public Member Functions

 dictionary_encoded_array (arrow_proxy)
 
 dictionary_encoded_array (const self_type &)
 
self_typeoperator= (const self_type &)
 
 dictionary_encoded_array (self_type &&)
 
self_typeoperator= (self_type &&)
 
std::optional< std::string_view > name () const
 
std::optional< key_value_viewmetadata () const
 
size_type size () const
 
bool empty () const
 
const_reference operator[] (size_type i) const
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 
const_iterator cbegin () const
 
const_iterator cend () const
 
const_reference front () const
 
const_reference back () const
 
template<class... Args>
requires (mpl::excludes_copy_and_move_ctor_v<dictionary_encoded_array<IT>, Args...>)
 dictionary_encoded_array (Args &&... args)
 
self_type slice (size_type start, size_type end) const
 Slices the array to keep only the elements between the given start and end.
 
self_type slice_view (size_type start, size_type end) const
 Slices the array to keep only the elements between the given start and end.
 
template<validity_bitmap_input VBI, input_metadata_container METADATA_RANGE>
auto create_proxy (keys_buffer_type &&keys, array &&values, VBI &&validity_input, std::optional< std::string_view > name, std::optional< METADATA_RANGE > metadata) -> arrow_proxy
 
template<input_metadata_container METADATA_RANGE>
arrow_proxy create_proxy_impl (keys_buffer_type &&keys, array &&values, std::optional< validity_bitmap > validity, std::optional< std::string_view > name, std::optional< METADATA_RANGE > metadata)
 

Friends

class detail::array_access
 

Detailed Description

template<std::integral IT>
class sparrow::dictionary_encoded_array< IT >

Definition at line 99 of file dictionary_encoded_array.hpp.

Member Typedef Documentation

◆ const_functor_type

template<std::integral IT>
using sparrow::dictionary_encoded_array< IT >::const_functor_type = layout_element_functor<self_type, true>

Definition at line 114 of file dictionary_encoded_array.hpp.

◆ const_iterator

template<std::integral IT>
using sparrow::dictionary_encoded_array< IT >::const_iterator = functor_index_iterator<const_functor_type>

Definition at line 117 of file dictionary_encoded_array.hpp.

◆ const_reference

template<std::integral IT>
using sparrow::dictionary_encoded_array< IT >::const_reference = array_traits::const_reference

Definition at line 111 of file dictionary_encoded_array.hpp.

◆ difference_type

template<std::integral IT>
using sparrow::dictionary_encoded_array< IT >::difference_type = std::ptrdiff_t

Definition at line 105 of file dictionary_encoded_array.hpp.

◆ functor_type

template<std::integral IT>
using sparrow::dictionary_encoded_array< IT >::functor_type = layout_element_functor<self_type, true>

Definition at line 113 of file dictionary_encoded_array.hpp.

◆ inner_value_type

template<std::integral IT>
using sparrow::dictionary_encoded_array< IT >::inner_value_type = array_traits::inner_value_type

Definition at line 107 of file dictionary_encoded_array.hpp.

◆ iterator

template<std::integral IT>
using sparrow::dictionary_encoded_array< IT >::iterator = functor_index_iterator<functor_type>

Definition at line 116 of file dictionary_encoded_array.hpp.

◆ keys_buffer_type

template<std::integral IT>
using sparrow::dictionary_encoded_array< IT >::keys_buffer_type = u8_buffer<IT>

Definition at line 119 of file dictionary_encoded_array.hpp.

◆ reference

template<std::integral IT>
using sparrow::dictionary_encoded_array< IT >::reference = array_traits::const_reference

Definition at line 110 of file dictionary_encoded_array.hpp.

◆ self_type

template<std::integral IT>
using sparrow::dictionary_encoded_array< IT >::self_type = dictionary_encoded_array<IT>

Definition at line 103 of file dictionary_encoded_array.hpp.

◆ size_type

template<std::integral IT>
using sparrow::dictionary_encoded_array< IT >::size_type = std::size_t

Definition at line 104 of file dictionary_encoded_array.hpp.

◆ value_type

template<std::integral IT>
using sparrow::dictionary_encoded_array< IT >::value_type = array_traits::value_type

Definition at line 109 of file dictionary_encoded_array.hpp.

Constructor & Destructor Documentation

◆ dictionary_encoded_array() [1/4]

template<std::integral IT>
sparrow::dictionary_encoded_array< IT >::dictionary_encoded_array ( arrow_proxy proxy)
explicit

Definition at line 276 of file dictionary_encoded_array.hpp.

Here is the call graph for this function:

◆ dictionary_encoded_array() [2/4]

template<std::integral IT>
sparrow::dictionary_encoded_array< IT >::dictionary_encoded_array ( const self_type & rhs)

Definition at line 285 of file dictionary_encoded_array.hpp.

◆ dictionary_encoded_array() [3/4]

template<std::integral IT>
sparrow::dictionary_encoded_array< IT >::dictionary_encoded_array ( self_type && rhs)

Definition at line 305 of file dictionary_encoded_array.hpp.

◆ dictionary_encoded_array() [4/4]

template<std::integral IT>
template<class... Args>
requires (mpl::excludes_copy_and_move_ctor_v<dictionary_encoded_array<IT>, Args...>)
sparrow::dictionary_encoded_array< IT >::dictionary_encoded_array ( Args &&... args)
inlineexplicit

Definition at line 151 of file dictionary_encoded_array.hpp.

Member Function Documentation

◆ back()

template<std::integral IT>
auto sparrow::dictionary_encoded_array< IT >::back ( ) const
nodiscard

Definition at line 535 of file dictionary_encoded_array.hpp.

Here is the call graph for this function:

◆ begin() [1/2]

template<std::integral IT>
auto sparrow::dictionary_encoded_array< IT >::begin ( )
nodiscard

Definition at line 492 of file dictionary_encoded_array.hpp.

◆ begin() [2/2]

template<std::integral IT>
auto sparrow::dictionary_encoded_array< IT >::begin ( ) const
nodiscard

Definition at line 504 of file dictionary_encoded_array.hpp.

Here is the call graph for this function:

◆ cbegin()

template<std::integral IT>
auto sparrow::dictionary_encoded_array< IT >::cbegin ( ) const
nodiscard

Definition at line 516 of file dictionary_encoded_array.hpp.

Here is the caller graph for this function:

◆ cend()

template<std::integral IT>
auto sparrow::dictionary_encoded_array< IT >::cend ( ) const
nodiscard

Definition at line 522 of file dictionary_encoded_array.hpp.

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

◆ create_proxy()

template<std::integral IT>
template<validity_bitmap_input VBI, input_metadata_container METADATA_RANGE>
auto sparrow::dictionary_encoded_array< IT >::create_proxy ( keys_buffer_type && keys,
array && values,
VBI && validity_input,
std::optional< std::string_view > name,
std::optional< METADATA_RANGE > metadata ) -> arrow_proxy

Definition at line 327 of file dictionary_encoded_array.hpp.

◆ create_proxy_impl()

template<std::integral IT>
template<input_metadata_container METADATA_RANGE>
arrow_proxy sparrow::dictionary_encoded_array< IT >::create_proxy_impl ( keys_buffer_type && keys,
array && values,
std::optional< validity_bitmap > validity,
std::optional< std::string_view > name,
std::optional< METADATA_RANGE > metadata )
nodiscard

Definition at line 368 of file dictionary_encoded_array.hpp.

◆ empty()

template<std::integral IT>
auto sparrow::dictionary_encoded_array< IT >::empty ( ) const
nodiscard

Definition at line 469 of file dictionary_encoded_array.hpp.

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

◆ end() [1/2]

template<std::integral IT>
auto sparrow::dictionary_encoded_array< IT >::end ( )
nodiscard

Definition at line 498 of file dictionary_encoded_array.hpp.

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

◆ end() [2/2]

template<std::integral IT>
auto sparrow::dictionary_encoded_array< IT >::end ( ) const
nodiscard

Definition at line 510 of file dictionary_encoded_array.hpp.

Here is the call graph for this function:

◆ front()

template<std::integral IT>
auto sparrow::dictionary_encoded_array< IT >::front ( ) const
nodiscard

Definition at line 528 of file dictionary_encoded_array.hpp.

Here is the call graph for this function:

◆ metadata()

template<std::integral IT>
std::optional< key_value_view > sparrow::dictionary_encoded_array< IT >::metadata ( ) const
nodiscard

Definition at line 457 of file dictionary_encoded_array.hpp.

◆ name()

template<std::integral IT>
std::optional< std::string_view > sparrow::dictionary_encoded_array< IT >::name ( ) const
nodiscard

Definition at line 451 of file dictionary_encoded_array.hpp.

◆ operator=() [1/2]

template<std::integral IT>
auto sparrow::dictionary_encoded_array< IT >::operator= ( const self_type & rhs)

Definition at line 293 of file dictionary_encoded_array.hpp.

◆ operator=() [2/2]

template<std::integral IT>
auto sparrow::dictionary_encoded_array< IT >::operator= ( self_type && rhs)

Definition at line 313 of file dictionary_encoded_array.hpp.

Here is the call graph for this function:

◆ operator[]()

template<std::integral IT>
auto sparrow::dictionary_encoded_array< IT >::operator[] ( size_type i) const
nodiscard

Definition at line 475 of file dictionary_encoded_array.hpp.

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

◆ size()

template<std::integral IT>
auto sparrow::dictionary_encoded_array< IT >::size ( ) const
nodiscard

Definition at line 463 of file dictionary_encoded_array.hpp.

Here is the caller graph for this function:

◆ slice()

template<std::integral IT>
auto sparrow::dictionary_encoded_array< IT >::slice ( size_type start,
size_type end ) const
nodiscard

Slices the array to keep only the elements between the given start and end.

A copy of the Array is modified. The data is not modified, only the ArrowArray.offset and ArrowArray.length are updated. If end is greater than the size of the buffers, the following elements will be invalid.

Parameters
startThe index of the first element to keep. Must be less than end.
endThe index of the first element to discard. Must be less than the size of the buffers.

Definition at line 549 of file dictionary_encoded_array.hpp.

Here is the call graph for this function:

◆ slice_view()

template<std::integral IT>
auto sparrow::dictionary_encoded_array< IT >::slice_view ( size_type start,
size_type end ) const
nodiscard

Slices the array to keep only the elements between the given start and end.

A view of the Array is returned. The data is not modified, only the ArrowArray.offset and ArrowArray.length are updated. If end is greater than the size of the buffers, the following elements will be invalid.

Parameters
startThe index of the first element to keep. Must be less than end.
endThe index of the first element to discard. Must be less than the size of the buffers.

Definition at line 556 of file dictionary_encoded_array.hpp.

Here is the call graph for this function:

Friends And Related Symbol Documentation

◆ detail::array_access

template<std::integral IT>
friend class detail::array_access
friend

Definition at line 265 of file dictionary_encoded_array.hpp.


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