sparrow 0.6.0
Loading...
Searching...
No Matches
sparrow::variable_size_binary_array_impl< T, CR, OT > Class Template Reference

#include <variable_size_binary_array.hpp>

Inheritance diagram for sparrow::variable_size_binary_array_impl< T, CR, OT >:
[legend]
Collaboration diagram for sparrow::variable_size_binary_array_impl< T, CR, OT >:
[legend]

Public Types

using self_type = variable_size_binary_array_impl<T, CR, OT>
 
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 offset_type = typename inner_types::offset_type
 
using offset_buffer_type = u8_buffer<std::remove_const_t<offset_type>>
 
using char_buffer_type = u8_buffer<char>
 
using byte_buffer_type = u8_buffer<std::byte>
 
using uint8_buffer_type = u8_buffer<std::uint8_t>
 
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 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 offset_iterator = typename inner_types::offset_iterator
 
using const_offset_iterator = typename inner_types::const_offset_iterator
 
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 data_iterator = typename inner_types::data_iterator
 
using const_data_iterator = typename inner_types::const_data_iterator
 
using data_value_type = typename inner_types::data_value_type
 
using value_iterator = typename inner_types::value_iterator
 
using const_value_iterator = typename inner_types::const_value_iterator
 
- Public Types inherited from sparrow::array_bitmap_base_impl< D, true >
using base_type
 
using size_type
 
using 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_array_impl (arrow_proxy)
 
template<class... ARGS>
requires (mpl::excludes_copy_and_move_ctor_v<variable_size_binary_array_impl<T, CR, OT>, ARGS...>)
 variable_size_binary_array_impl (ARGS &&... args)
 
inner_reference value (size_type i)
 
inner_const_reference value (size_type i) const
 
template<std::ranges::sized_range U>
requires mpl::convertible_ranges<U, T>
auto insert_value (const_value_iterator pos, U value, size_type count) -> value_iterator
 
template<mpl::iterator_of_type< T > InputIt>
auto insert_values (const_value_iterator pos, InputIt first, InputIt last) -> value_iterator
 
template<mpl::iterator_of_type< OT > InputIt>
auto insert_offsets (const_offset_iterator pos, InputIt first_sizes, InputIt last_sizes) -> offset_iterator
 
- Public Member Functions inherited from sparrow::array_bitmap_base_impl< D, true >
auto insert_bitmap (const_bitmap_iterator pos, InputIt first, InputIt last) -> bitmap_iterator is_mutable
 
auto insert_bitmap (const_bitmap_iterator pos, InputIt first, InputIt last) -> bitmap_iterator is_mutable
 

Static Public Member Functions

template<std::ranges::range SIZES_RANGE>
static auto offset_from_sizes (SIZES_RANGE &&sizes) -> offset_buffer_type
 

Friends

class variable_size_binary_reference< self_type >
 

Additional Inherited Members

- Protected Member Functions inherited from sparrow::array_bitmap_base_impl< D, true >
 array_bitmap_base_impl (arrow_proxy)
 
 array_bitmap_base_impl (const array_bitmap_base_impl &)
 
array_bitmap_base_imploperator= (const array_bitmap_base_impl &)
 
 array_bitmap_base_impl (array_bitmap_base_impl &&) noexcept=default
 
array_bitmap_base_imploperator= (array_bitmap_base_impl &&) noexcept=default
 
bitmap_typeget_bitmap ()
 
const bitmap_typeget_bitmap () const
 
void resize_bitmap (size_type new_length, bool value)
 
bitmap_iterator insert_bitmap (const_bitmap_iterator pos, bool value, size_type count)
 
bitmap_iterator insert_bitmap (const_bitmap_iterator pos, InputIt first, InputIt last) is_mutable
 
bitmap_iterator erase_bitmap (const_bitmap_iterator pos, size_type count)
 
void update ()
 
non_owning_dynamic_bitset< uint8_t > get_non_owning_dynamic_bitset ()
 
bitmap_type make_bitmap ()
 
 array_bitmap_base_impl (arrow_proxy)
 
 array_bitmap_base_impl (const array_bitmap_base_impl &)
 
 array_bitmap_base_impl (array_bitmap_base_impl &&) noexcept=default
 
array_bitmap_base_imploperator= (const array_bitmap_base_impl &)
 
array_bitmap_base_imploperator= (array_bitmap_base_impl &&) noexcept=default
 
bitmap_typeget_bitmap ()
 
const bitmap_typeget_bitmap () const
 
void resize_bitmap (size_type new_length, bool value)
 
bitmap_iterator insert_bitmap (const_bitmap_iterator pos, bool value, size_type count)
 
bitmap_iterator insert_bitmap (const_bitmap_iterator pos, InputIt first, InputIt last) is_mutable
 
bitmap_iterator erase_bitmap (const_bitmap_iterator pos, size_type count)
 
void update ()
 
non_owning_dynamic_bitset< uint8_t > get_non_owning_dynamic_bitset ()
 
bitmap_type make_bitmap ()
 

Detailed Description

template<std::ranges::sized_range T, class CR, layout_offset OT>
class sparrow::variable_size_binary_array_impl< T, CR, OT >

Definition at line 207 of file variable_size_binary_array.hpp.

Member Typedef Documentation

◆ base_type

template<std::ranges::sized_range T, class CR, layout_offset OT>
using sparrow::variable_size_binary_array_impl< T, CR, OT >::base_type = mutable_array_bitmap_base<self_type>

Definition at line 220 of file variable_size_binary_array.hpp.

◆ bitmap_const_reference

template<std::ranges::sized_range T, class CR, layout_offset OT>
using sparrow::variable_size_binary_array_impl< T, CR, OT >::bitmap_const_reference = typename base_type::bitmap_const_reference

Definition at line 235 of file variable_size_binary_array.hpp.

◆ bitmap_reference

template<std::ranges::sized_range T, class CR, layout_offset OT>
using sparrow::variable_size_binary_array_impl< T, CR, OT >::bitmap_reference = typename base_type::bitmap_reference

Definition at line 234 of file variable_size_binary_array.hpp.

◆ bitmap_type

template<std::ranges::sized_range T, class CR, layout_offset OT>
using sparrow::variable_size_binary_array_impl< T, CR, OT >::bitmap_type = typename base_type::bitmap_type

Definition at line 233 of file variable_size_binary_array.hpp.

◆ byte_buffer_type

template<std::ranges::sized_range T, class CR, layout_offset OT>
using sparrow::variable_size_binary_array_impl< T, CR, OT >::byte_buffer_type = u8_buffer<std::byte>

Definition at line 230 of file variable_size_binary_array.hpp.

◆ char_buffer_type

template<std::ranges::sized_range T, class CR, layout_offset OT>
using sparrow::variable_size_binary_array_impl< T, CR, OT >::char_buffer_type = u8_buffer<char>

Definition at line 229 of file variable_size_binary_array.hpp.

◆ const_bitmap_range

template<std::ranges::sized_range T, class CR, layout_offset OT>
using sparrow::variable_size_binary_array_impl< T, CR, OT >::const_bitmap_range = typename base_type::const_bitmap_range

Definition at line 236 of file variable_size_binary_array.hpp.

◆ const_data_iterator

template<std::ranges::sized_range T, class CR, layout_offset OT>
using sparrow::variable_size_binary_array_impl< T, CR, OT >::const_data_iterator = typename inner_types::const_data_iterator

Definition at line 250 of file variable_size_binary_array.hpp.

◆ const_offset_iterator

template<std::ranges::sized_range T, class CR, layout_offset OT>
using sparrow::variable_size_binary_array_impl< T, CR, OT >::const_offset_iterator = typename inner_types::const_offset_iterator

Definition at line 243 of file variable_size_binary_array.hpp.

◆ const_reference

template<std::ranges::sized_range T, class CR, layout_offset OT>
using sparrow::variable_size_binary_array_impl< T, CR, OT >::const_reference = nullable<inner_const_reference, bitmap_const_reference>

Definition at line 240 of file variable_size_binary_array.hpp.

◆ const_value_iterator

template<std::ranges::sized_range T, class CR, layout_offset OT>
using sparrow::variable_size_binary_array_impl< T, CR, OT >::const_value_iterator = typename inner_types::const_value_iterator

Definition at line 254 of file variable_size_binary_array.hpp.

◆ data_iterator

template<std::ranges::sized_range T, class CR, layout_offset OT>
using sparrow::variable_size_binary_array_impl< T, CR, OT >::data_iterator = typename inner_types::data_iterator

Definition at line 248 of file variable_size_binary_array.hpp.

◆ data_value_type

template<std::ranges::sized_range T, class CR, layout_offset OT>
using sparrow::variable_size_binary_array_impl< T, CR, OT >::data_value_type = typename inner_types::data_value_type

Definition at line 251 of file variable_size_binary_array.hpp.

◆ difference_type

template<std::ranges::sized_range T, class CR, layout_offset OT>
using sparrow::variable_size_binary_array_impl< T, CR, OT >::difference_type = typename base_type::difference_type

Definition at line 246 of file variable_size_binary_array.hpp.

◆ inner_const_reference

template<std::ranges::sized_range T, class CR, layout_offset OT>
using sparrow::variable_size_binary_array_impl< T, CR, OT >::inner_const_reference = typename inner_types::inner_const_reference

Definition at line 225 of file variable_size_binary_array.hpp.

◆ inner_reference

template<std::ranges::sized_range T, class CR, layout_offset OT>
using sparrow::variable_size_binary_array_impl< T, CR, OT >::inner_reference = typename inner_types::inner_reference

Definition at line 224 of file variable_size_binary_array.hpp.

◆ inner_types

template<std::ranges::sized_range T, class CR, layout_offset OT>
using sparrow::variable_size_binary_array_impl< T, CR, OT >::inner_types = array_inner_types<self_type>

Definition at line 222 of file variable_size_binary_array.hpp.

◆ inner_value_type

template<std::ranges::sized_range T, class CR, layout_offset OT>
using sparrow::variable_size_binary_array_impl< T, CR, OT >::inner_value_type = typename inner_types::inner_value_type

Definition at line 223 of file variable_size_binary_array.hpp.

◆ iterator_tag

template<std::ranges::sized_range T, class CR, layout_offset OT>
using sparrow::variable_size_binary_array_impl< T, CR, OT >::iterator_tag = typename base_type::iterator_tag

Definition at line 247 of file variable_size_binary_array.hpp.

◆ offset_buffer_type

template<std::ranges::sized_range T, class CR, layout_offset OT>
using sparrow::variable_size_binary_array_impl< T, CR, OT >::offset_buffer_type = u8_buffer<std::remove_const_t<offset_type>>

Definition at line 228 of file variable_size_binary_array.hpp.

◆ offset_iterator

template<std::ranges::sized_range T, class CR, layout_offset OT>
using sparrow::variable_size_binary_array_impl< T, CR, OT >::offset_iterator = typename inner_types::offset_iterator

Definition at line 242 of file variable_size_binary_array.hpp.

◆ offset_type

template<std::ranges::sized_range T, class CR, layout_offset OT>
using sparrow::variable_size_binary_array_impl< T, CR, OT >::offset_type = typename inner_types::offset_type

Definition at line 227 of file variable_size_binary_array.hpp.

◆ reference

template<std::ranges::sized_range T, class CR, layout_offset OT>
using sparrow::variable_size_binary_array_impl< T, CR, OT >::reference = nullable<inner_reference, bitmap_reference>

Definition at line 239 of file variable_size_binary_array.hpp.

◆ self_type

template<std::ranges::sized_range T, class CR, layout_offset OT>
using sparrow::variable_size_binary_array_impl< T, CR, OT >::self_type = variable_size_binary_array_impl<T, CR, OT>

Definition at line 219 of file variable_size_binary_array.hpp.

◆ size_type

template<std::ranges::sized_range T, class CR, layout_offset OT>
using sparrow::variable_size_binary_array_impl< T, CR, OT >::size_type = typename base_type::size_type

Definition at line 245 of file variable_size_binary_array.hpp.

◆ uint8_buffer_type

template<std::ranges::sized_range T, class CR, layout_offset OT>
using sparrow::variable_size_binary_array_impl< T, CR, OT >::uint8_buffer_type = u8_buffer<std::uint8_t>

Definition at line 231 of file variable_size_binary_array.hpp.

◆ value_iterator

template<std::ranges::sized_range T, class CR, layout_offset OT>
using sparrow::variable_size_binary_array_impl< T, CR, OT >::value_iterator = typename inner_types::value_iterator

Definition at line 253 of file variable_size_binary_array.hpp.

◆ value_type

template<std::ranges::sized_range T, class CR, layout_offset OT>
using sparrow::variable_size_binary_array_impl< T, CR, OT >::value_type = nullable<inner_value_type>

Definition at line 238 of file variable_size_binary_array.hpp.

Constructor & Destructor Documentation

◆ variable_size_binary_array_impl() [1/2]

template<std::ranges::sized_range T, class CR, layout_offset OT>
sparrow::variable_size_binary_array_impl< T, CR, OT >::variable_size_binary_array_impl ( arrow_proxy proxy)
explicit

Definition at line 373 of file variable_size_binary_array.hpp.

◆ variable_size_binary_array_impl() [2/2]

template<std::ranges::sized_range T, class CR, layout_offset OT>
template<class... ARGS>
requires (mpl::excludes_copy_and_move_ctor_v<variable_size_binary_array_impl<T, CR, OT>, ARGS...>)
sparrow::variable_size_binary_array_impl< T, CR, OT >::variable_size_binary_array_impl ( ARGS &&... args)
inline

Definition at line 260 of file variable_size_binary_array.hpp.

Member Function Documentation

◆ insert_offsets()

template<std::ranges::sized_range T, class CR, layout_offset OT>
template<mpl::iterator_of_type< OT > InputIt>
auto sparrow::variable_size_binary_array_impl< T, CR, OT >::insert_offsets ( const_offset_iterator pos,
InputIt first_sizes,
InputIt last_sizes ) -> offset_iterator

Definition at line 777 of file variable_size_binary_array.hpp.

◆ insert_value()

template<std::ranges::sized_range T, class CR, layout_offset OT>
template<std::ranges::sized_range U>
requires mpl::convertible_ranges<U, T>
auto sparrow::variable_size_binary_array_impl< T, CR, OT >::insert_value ( const_value_iterator pos,
U value,
size_type count ) -> value_iterator

Definition at line 684 of file variable_size_binary_array.hpp.

◆ insert_values()

template<std::ranges::sized_range T, class CR, layout_offset OT>
template<mpl::iterator_of_type< T > InputIt>
auto sparrow::variable_size_binary_array_impl< T, CR, OT >::insert_values ( const_value_iterator pos,
InputIt first,
InputIt last ) -> value_iterator

Definition at line 731 of file variable_size_binary_array.hpp.

◆ offset_from_sizes()

template<std::ranges::sized_range T, class CR, layout_offset OT>
template<std::ranges::range SIZES_RANGE>
auto sparrow::variable_size_binary_array_impl< T, CR, OT >::offset_from_sizes ( SIZES_RANGE && sizes) -> offset_buffer_type
staticnodiscard

Definition at line 388 of file variable_size_binary_array.hpp.

Here is the call graph for this function:

◆ value() [1/2]

template<std::ranges::sized_range T, class CR, layout_offset OT>
auto sparrow::variable_size_binary_array_impl< T, CR, OT >::value ( size_type i)
nodiscard

Definition at line 615 of file variable_size_binary_array.hpp.

◆ value() [2/2]

template<std::ranges::sized_range T, class CR, layout_offset OT>
auto sparrow::variable_size_binary_array_impl< T, CR, OT >::value ( size_type i) const
nodiscard

Definition at line 622 of file variable_size_binary_array.hpp.

Friends And Related Symbol Documentation

◆ variable_size_binary_reference< self_type >

template<std::ranges::sized_range T, class CR, layout_offset OT>
friend class variable_size_binary_reference< self_type >
friend

Definition at line 359 of file variable_size_binary_array.hpp.


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