sparrow 0.3.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< std::string_view > metadata () 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>
auto create_proxy (keys_buffer_type &&keys, array &&values, VBI &&validity_input, std::optional< std::string_view > name, std::optional< std::string_view > metadata) -> arrow_proxy
 

Friends

class detail::array_access
 

Detailed Description

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

Definition at line 94 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 109 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 112 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 106 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 100 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 108 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 102 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 111 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 114 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 105 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 98 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 99 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 104 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 212 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 221 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 241 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 146 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 390 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 347 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 359 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 371 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 377 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>
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< std::string_view > metadata ) -> arrow_proxy

Definition at line 263 of file dictionary_encoded_array.hpp.

◆ empty()

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

Definition at line 324 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 353 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 365 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 383 of file dictionary_encoded_array.hpp.

Here is the call graph for this function:

◆ metadata()

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

Definition at line 312 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 306 of file dictionary_encoded_array.hpp.

Here is the call graph for this function:

◆ operator=() [1/2]

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

Definition at line 229 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 249 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 330 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 318 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 404 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 411 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 201 of file dictionary_encoded_array.hpp.


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