54 array_traits::const_reference,
55 array_traits::const_reference,
56 std::random_access_iterator_tag>
66 std::random_access_iterator_tag>;
90 [[nodiscard]] reference dereference() const;
349 [[nodiscard]]
const array* flat_array() const noexcept
359 [[nodiscard]] size_type begin_index() const noexcept
361 return m_index_begin;
369 [[nodiscard]] size_type end_index() const noexcept
374 const array* p_flat_array =
nullptr;
375 size_type m_index_begin = 0u;
376 size_type m_index_end = 0u;
387 template <
class DERIVED>
416 p_layout->replace_value(m_index, rhs);
432 const auto [b, e] = p_layout->offset_range(m_index);
438 return view().size();
441 [[nodiscard]]
bool empty() const noexcept
443 return view().empty();
453 return view().front();
456 [[nodiscard]]
auto back()
const
458 return view().back();
463 return view().begin();
473 return view().cbegin();
478 return view().cend();
483 return view() == rhs;
488 return view() == rhs.view();
493 [[nodiscard]]
list_value view() const noexcept
498 L* p_layout =
nullptr;
499 size_type m_index = 0;
517 bool operator==(
const list_value& lhs,
const list_value& rhs);
520#if defined(__cpp_lib_format)
525 constexpr auto parse(std::format_parse_context& ctx) ->
decltype(ctx.begin())
530 SPARROW_API auto format(
const sparrow::list_value& list_value, std::format_context& ctx)
const
531 ->
decltype(ctx.out());
Dynamically typed array encapsulating an Arrow layout.
constexpr list_reference(L *layout, size_type index)
size_type size() const noexcept
self_type & operator=(const self_type &rhs)
self_type & operator=(self_type &&rhs)
auto operator[](size_type i) const
bool operator==(const list_value &rhs) const
constexpr list_reference(const self_type &) noexcept=default
list_value_iterator const_iterator
list_value_iterator iterator
bool operator==(const self_type &rhs) const
bool empty() const noexcept
list_reference< L > self_type
self_type & operator=(const list_value &rhs)
constexpr list_reference(self_type &&) noexcept=default
list_value::size_type size_type
Iterator for traversing elements within a list_value.
pointer_index_iterator_base< list_value_iterator, const array, array_traits::const_reference, array_traits::const_reference, std::random_access_iterator_tag > base_type
list_value_iterator() noexcept=default
Default constructor creating an invalid iterator.
friend class iterator_access
list_value_iterator self_type
const_reference operator[](size_type i) const
Gets element at specified position without bounds checking.
friend class list_array_crtp_base
const_reference back() const
Gets reference to the last element.
list_value_iterator cbegin() const
Gets const iterator to the beginning of the list.
list_value_reverse_iterator rend()
Gets reverse iterator to the end of reversed list.
friend class fixed_sized_list_array
array_traits::value_type value_type
bool empty() const
Checks if the list is empty.
list_value_reverse_iterator rbegin() const
Gets const reverse iterator to the beginning of reversed list.
array_traits::const_reference const_reference
friend class list_array_impl
std::reverse_iterator< list_value_iterator > list_value_reverse_iterator
list_value_reverse_iterator rbegin()
Gets reverse iterator to the beginning of reversed list.
list_value()=default
Default constructor creating an empty list view.
list_value_iterator cend() const
Gets const iterator to the end of the list.
list_value(const array *flat_array, size_type index_begin, size_type index_end)
Constructs list view over specified array range.
const_reference front() const
Gets reference to the first element.
size_type size() const
Gets the number of elements in the list.
list_value_reverse_iterator crend() const
Gets const reverse iterator to the end of reversed list.
list_value_reverse_iterator rend() const
Gets const reverse iterator to the end of reversed list.
list_value_iterator begin() const
Gets const iterator to the beginning of the list.
list_value_iterator end() const
Gets const iterator to the end of the list.
list_value_iterator begin()
Gets iterator to the beginning of the list.
friend class list_view_array_impl
list_value_iterator end()
Gets iterator to the end of the list.
list_value_reverse_iterator crbegin() const
Gets const reverse iterator to the beginning of reversed list.
constexpr pointer_index_iterator_base() noexcept=default
SPARROW_API bool operator==(const array &lhs, const array &rhs)
Compares the content of two arrays.
std::ostream & operator<<(std::ostream &os, const nullval_t &)
mpl::rename< mpl::unique< mpl::transform< detail::array_const_reference_t, all_base_types_t > >, nullable_variant > const_reference
mpl::rename< mpl::transform< detail::array_value_type_t, all_base_types_t >, nullable_variant > value_type