sparrow 0.3.0
Loading...
Searching...
No Matches
sparrow::detail Namespace Reference

Classes

struct  accepts_template
 
class  array_access
 
struct  builder
 
struct  builder< T, dont_enforce_layout, OPTION_FLAGS >
 
struct  builder< T, enforce_dict_encoded_layout, OPTION_FLAGS >
 
struct  builder< T, enforce_run_end_encoded_layout, OPTION_FLAGS >
 
struct  dont_enforce_layout
 
struct  enforce_dict_encoded_layout
 
struct  enforce_run_end_encoded_layout
 
class  express_layout_desire
 
struct  get_data_type_from_array
 
struct  get_data_type_from_array< decimal_128_array >
 
struct  get_data_type_from_array< decimal_256_array >
 
struct  get_data_type_from_array< decimal_32_array >
 
struct  get_data_type_from_array< decimal_64_array >
 
struct  get_data_type_from_array< sparrow::big_binary_array >
 
struct  get_data_type_from_array< sparrow::big_list_array >
 
struct  get_data_type_from_array< sparrow::big_list_view_array >
 
struct  get_data_type_from_array< sparrow::big_string_array >
 
struct  get_data_type_from_array< sparrow::binary_array >
 
struct  get_data_type_from_array< sparrow::binary_view_array >
 
struct  get_data_type_from_array< sparrow::dense_union_array >
 
struct  get_data_type_from_array< sparrow::dictionary_encoded_array< IT > >
 
struct  get_data_type_from_array< sparrow::fixed_sized_list_array >
 
struct  get_data_type_from_array< sparrow::fixed_width_binary_array >
 
struct  get_data_type_from_array< sparrow::list_array >
 
struct  get_data_type_from_array< sparrow::list_view_array >
 
struct  get_data_type_from_array< sparrow::run_end_encoded_array >
 
struct  get_data_type_from_array< sparrow::sparse_union_array >
 
struct  get_data_type_from_array< sparrow::string_array >
 
struct  get_data_type_from_array< sparrow::string_view_array >
 
class  holder
 
struct  is_dictionary_encoded_array
 
struct  is_dictionary_encoded_array< sparrow::dictionary_encoded_array< IT > >
 
struct  is_unique_ptr
 
struct  is_unique_ptr< std::unique_ptr< T, D > >
 
class  layout_bracket_functor
 
class  layout_value_functor
 
struct  maybe_express_layout_desire_value_type
 
struct  maybe_express_layout_desire_value_type< T >
 
struct  maybe_nullable_value_type
 
struct  maybe_nullable_value_type< T >
 
struct  nested_eq
 
struct  nested_eq< T >
 
struct  nested_less
 
struct  nested_less< T >
 
struct  operator_arrow_dispatcher
 
struct  operator_arrow_dispatcher< T &, Pointer >
 
struct  variable_size_binary_format
 
struct  variable_size_binary_format< std::string, std::int32_t >
 
struct  variable_size_binary_format< std::string, std::int64_t >
 
struct  variable_size_binary_format< std::vector< byte_t >, std::int32_t >
 
struct  variable_size_binary_format< std::vector< byte_t >, std::int64_t >
 

Concepts

concept  translates_to_primitive_layout
 
concept  translates_to_date_layout
 
concept  translates_to_duration_layout
 
concept  translates_to_timestamp_layout
 
concept  translates_to_interval_layout
 
concept  translates_to_time_layout
 
concept  translate_to_variable_sized_list_layout
 
concept  translate_to_struct_layout
 
concept  fixed_width_binary_types
 
concept  translate_to_fixed_sized_list_layout
 
concept  translate_to_variable_sized_binary_layout
 
concept  translate_to_fixed_width_binary_layout
 
concept  translate_to_union_layout
 
concept  is_nullable_like
 
concept  is_dict_encode
 
concept  is_run_end_encode
 
concept  is_express_layout_desire
 
concept  is_plain_value_type
 
concept  has_tuple_element
 
concept  variant_like
 
concept  tuple_like
 
concept  all_elements_same
 

Typedefs

using validity_bitmap = sparrow::validity_bitmap
 
template<class T>
using decayed_range_value_t = std::decay_t<std::ranges::range_value_t<T>>
 
template<class T>
using mnv_t = typename maybe_nullable_value_type<T>::type
 
template<class T>
using meldv_t = typename maybe_express_layout_desire_value_type<T>::type
 
template<class T>
using layout_flag_t
 
template<class T>
using look_trough_t = meldv_t<mnv_t<meldv_t<T>>>
 
template<class T>
using ensured_range_value_t = look_trough_t<std::ranges::range_value_t<T>>
 
template<class T>
using nested_ensured_range_inner_value_t = ensured_range_value_t<ensured_range_value_t<T>>
 
template<class T>
using array_inner_value_type_t = typename arrow_traits<T>::value_type
 
template<class T>
using array_inner_const_reference_t = typename arrow_traits<T>::const_reference
 
template<class T>
using array_value_type_t = nullable<array_inner_value_type_t<T>>
 
template<class T>
using array_const_reference_t = nullable<array_inner_const_reference_t<T>>
 

Functions

validity_bitmap ensure_validity_bitmap_impl (std::size_t size, const validity_bitmap &bitmap)
 
validity_bitmap ensure_validity_bitmap_impl (std::size_t size, validity_bitmap &&bitmap)
 
template<std::ranges::input_range R>
requires (std::same_as<std::ranges::range_value_t<R>, bool>)
validity_bitmap ensure_validity_bitmap_impl (std::size_t size, R &&range)
 
template<std::ranges::input_range R>
requires (std::unsigned_integral<std::ranges::range_value_t<R>> && !std::same_as<std::ranges::range_value_t<R>, bool> && !std::same_as<std::decay_t<R>, validity_bitmap>)
validity_bitmap ensure_validity_bitmap_impl (std::size_t size, R &&range_of_indices)
 
template<class LAYOUT_POLICY, class T, class... OPTION_FLAGS>
auto build_impl (T &&t, sparrow::mpl::typelist< OPTION_FLAGS... > typelist)
 
template<class F, std::size_t... Is>
void for_each_index_impl (F &&f, std::index_sequence< Is... >)
 
template<std::size_t SIZE, class F>
void for_each_index (F &&f)
 
template<class F, std::size_t... Is>
bool exitable_for_each_index_impl (F &&f, std::index_sequence< Is... >)
 
template<std::size_t SIZE, class F>
bool exitable_for_each_index (F &&f)
 
template<typename T, std::size_t... N>
constexpr bool check_tuple_elements (std::index_sequence< N... >)
 
template<typename T>
constexpr bool is_tuple_like ()
 
template<typename Tuple, size_t... Is>
constexpr bool all_elements_same_impl (std::index_sequence< Is... >)
 
template<class T>
std::size_t get_size_save (T &&t)
 
template<class T>
decltype(auto) ensure_value (T &&t)
 
template<std::ranges::range T>
requires (is_nullable_like<std::ranges::range_value_t<T>>)
std::vector< std::size_t > where_null (T &&t)
 
template<class T>
requires (is_express_layout_desire<std::ranges::range_value_t<T>> && is_nullable_like<typename std::ranges::range_value_t<T>::value_type>)
std::vector< std::size_t > where_null (T &&t)
 
template<class T>
std::array< std::size_t, 0 > where_null (T &&)
 
template<class T>
requires (is_plain_value_type<std::ranges::range_value_t<T>>)
decltype(auto) ensure_value_range (T &&t)
 
template<class T>
requires (!is_plain_value_type<std::ranges::range_value_t<T>>)
decltype(auto) ensure_value_range (T &&t)
 
template<layout_offset OFFSET_TYPE, std::ranges::range SIZES_RANGE>
requires (std::unsigned_integral<std::ranges::range_value_t<SIZES_RANGE>>)
sparrow::u8_buffer< OFFSET_TYPE > offset_buffer_from_sizes (SIZES_RANGE &&sizes)
 
std::vector< record_batch::name_typeget_names (const std::vector< array > &array_list)
 

Variables

template<class T>
constexpr bool is_unique_ptr_v = is_unique_ptr<T>::value
 

Typedef Documentation

◆ array_const_reference_t

Definition at line 240 of file data_traits.hpp.

◆ array_inner_const_reference_t

template<class T>
using sparrow::detail::array_inner_const_reference_t = typename arrow_traits<T>::const_reference

Definition at line 234 of file data_traits.hpp.

◆ array_inner_value_type_t

template<class T>
using sparrow::detail::array_inner_value_type_t = typename arrow_traits<T>::value_type

Definition at line 231 of file data_traits.hpp.

◆ array_value_type_t

Definition at line 237 of file data_traits.hpp.

◆ decayed_range_value_t

template<class T>
using sparrow::detail::decayed_range_value_t = std::decay_t<std::ranges::range_value_t<T>>

Definition at line 130 of file builder_utils.hpp.

◆ ensured_range_value_t

template<class T>
using sparrow::detail::ensured_range_value_t = look_trough_t<std::ranges::range_value_t<T>>

Definition at line 261 of file builder_utils.hpp.

◆ layout_flag_t

◆ look_trough_t

template<class T>
using sparrow::detail::look_trough_t = meldv_t<mnv_t<meldv_t<T>>>

Definition at line 257 of file builder_utils.hpp.

◆ meldv_t

template<class T>
using sparrow::detail::meldv_t = typename maybe_express_layout_desire_value_type<T>::type

Definition at line 247 of file builder_utils.hpp.

◆ mnv_t

template<class T>
using sparrow::detail::mnv_t = typename maybe_nullable_value_type<T>::type

Definition at line 232 of file builder_utils.hpp.

◆ nested_ensured_range_inner_value_t

◆ validity_bitmap

Function Documentation

◆ all_elements_same_impl()

template<typename Tuple, size_t... Is>
bool sparrow::detail::all_elements_same_impl ( std::index_sequence< Is... > )
nodiscardconstexpr

Definition at line 207 of file builder_utils.hpp.

◆ build_impl()

template<class LAYOUT_POLICY, class T, class... OPTION_FLAGS>
auto sparrow::detail::build_impl ( T && t,
sparrow::mpl::typelist< OPTION_FLAGS... > typelist )
nodiscard

Definition at line 112 of file builder.hpp.

Here is the caller graph for this function:

◆ check_tuple_elements()

template<typename T, std::size_t... N>
bool sparrow::detail::check_tuple_elements ( std::index_sequence< N... > )
constexpr

Definition at line 164 of file builder_utils.hpp.

Here is the caller graph for this function:

◆ ensure_validity_bitmap_impl() [1/4]

validity_bitmap sparrow::detail::ensure_validity_bitmap_impl ( std::size_t size,
const validity_bitmap & bitmap )
inline

Definition at line 121 of file dynamic_bitset.hpp.

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

◆ ensure_validity_bitmap_impl() [2/4]

template<std::ranges::input_range R>
requires (std::same_as<std::ranges::range_value_t<R>, bool>)
validity_bitmap sparrow::detail::ensure_validity_bitmap_impl ( std::size_t size,
R && range )

Definition at line 142 of file dynamic_bitset.hpp.

Here is the call graph for this function:

◆ ensure_validity_bitmap_impl() [3/4]

template<std::ranges::input_range R>
requires (std::unsigned_integral<std::ranges::range_value_t<R>> && !std::same_as<std::ranges::range_value_t<R>, bool> && !std::same_as<std::decay_t<R>, validity_bitmap>)
validity_bitmap sparrow::detail::ensure_validity_bitmap_impl ( std::size_t size,
R && range_of_indices )

Definition at line 161 of file dynamic_bitset.hpp.

Here is the call graph for this function:

◆ ensure_validity_bitmap_impl() [4/4]

validity_bitmap sparrow::detail::ensure_validity_bitmap_impl ( std::size_t size,
validity_bitmap && bitmap )
inline

Definition at line 130 of file dynamic_bitset.hpp.

◆ ensure_value()

template<class T>
decltype(auto) sparrow::detail::ensure_value ( T && t)
nodiscard

Definition at line 296 of file builder_utils.hpp.

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

◆ ensure_value_range() [1/2]

template<class T>
requires (is_plain_value_type<std::ranges::range_value_t<T>>)
decltype(auto) sparrow::detail::ensure_value_range ( T && t)
nodiscard

Definition at line 347 of file builder_utils.hpp.

Here is the caller graph for this function:

◆ ensure_value_range() [2/2]

template<class T>
requires (!is_plain_value_type<std::ranges::range_value_t<T>>)
decltype(auto) sparrow::detail::ensure_value_range ( T && t)
nodiscard

Definition at line 354 of file builder_utils.hpp.

Here is the call graph for this function:

◆ exitable_for_each_index()

template<std::size_t SIZE, class F>
bool sparrow::detail::exitable_for_each_index ( F && f)

Definition at line 152 of file builder_utils.hpp.

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

◆ exitable_for_each_index_impl()

template<class F, std::size_t... Is>
bool sparrow::detail::exitable_for_each_index_impl ( F && f,
std::index_sequence< Is... >  )

Definition at line 146 of file builder_utils.hpp.

Here is the caller graph for this function:

◆ for_each_index()

template<std::size_t SIZE, class F>
void sparrow::detail::for_each_index ( F && f)

Definition at line 140 of file builder_utils.hpp.

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

◆ for_each_index_impl()

template<class F, std::size_t... Is>
void sparrow::detail::for_each_index_impl ( F && f,
std::index_sequence< Is... >  )

Definition at line 133 of file builder_utils.hpp.

Here is the caller graph for this function:

◆ get_names()

std::vector< record_batch::name_type > sparrow::detail::get_names ( const std::vector< array > & array_list)
inline

Definition at line 218 of file record_batch.hpp.

Here is the call graph for this function:

◆ get_size_save()

template<class T>
std::size_t sparrow::detail::get_size_save ( T && t)
nodiscard

Definition at line 271 of file builder_utils.hpp.

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

◆ is_tuple_like()

template<typename T>
bool sparrow::detail::is_tuple_like ( )
constexpr

Definition at line 170 of file builder_utils.hpp.

Here is the call graph for this function:

◆ offset_buffer_from_sizes()

template<layout_offset OFFSET_TYPE, std::ranges::range SIZES_RANGE>
requires (std::unsigned_integral<std::ranges::range_value_t<SIZES_RANGE>>)
sparrow::u8_buffer< OFFSET_TYPE > sparrow::detail::offset_buffer_from_sizes ( SIZES_RANGE && sizes)
nodiscard

Definition at line 79 of file layout_utils.hpp.

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

◆ where_null() [1/3]

template<class T>
std::array< std::size_t, 0 > sparrow::detail::where_null ( T && )
nodiscard

Definition at line 340 of file builder_utils.hpp.

◆ where_null() [2/3]

template<std::ranges::range T>
requires (is_nullable_like<std::ranges::range_value_t<T>>)
std::vector< std::size_t > sparrow::detail::where_null ( T && t)
nodiscard

Definition at line 311 of file builder_utils.hpp.

Here is the caller graph for this function:

◆ where_null() [3/3]

template<class T>
requires (is_express_layout_desire<std::ranges::range_value_t<T>> && is_nullable_like<typename std::ranges::range_value_t<T>::value_type>)
std::vector< std::size_t > sparrow::detail::where_null ( T && t)
nodiscard

Definition at line 326 of file builder_utils.hpp.

Variable Documentation

◆ is_unique_ptr_v

template<class T>
bool sparrow::detail::is_unique_ptr_v = is_unique_ptr<T>::value
constexpr

Definition at line 99 of file memory.hpp.