51 [[nodiscard]]
reference dereference() const;
56 [[nodiscard]]
bool equal(const
self_type& rhs) const;
57 [[nodiscard]]
bool less_than(const
self_type& rhs) const;
94 std::optional<std::string_view>
name = std::nullopt,
95 std::optional<std::string_view>
metadata = std::nullopt
129 create_proxy(
size_t length, std::optional<std::string_view>
name, std::optional<std::string_view>
metadata);
155 auto empty_iterator<T>::dereference() const ->
reference
161 void empty_iterator<T>::increment()
181 return rhs.m_index - m_index;
187 return m_index == rhs.m_index;
193 return m_index < rhs.m_index;
197#if defined(__cpp_lib_format)
202 constexpr auto parse(std::format_parse_context& ctx)
207 auto format(
const sparrow::null_array& ar, std::format_context& ctx)
const
209 return std::format_to(ctx.out(),
"Null array [{}]", ar.
size());
213inline std::ostream&
operator<<(std::ostream& os,
const sparrow::null_array& value)
215 os << std::format(
"{}", value);
Proxy class over ArrowArray and ArrowSchema.
empty_iterator< T > self_type
typename base_type::reference reference
iterator_base< self_type, T, std::contiguous_iterator_tag, T > base_type
friend class iterator_access
typename base_type::difference_type difference_type
empty_iterator(difference_type index=difference_type()) noexcept
SPARROW_API const_reference back() const
SPARROW_API iterator begin()
SPARROW_API iterator end()
SPARROW_API std::optional< std::string_view > name() const
iterator::reference reference
null_type inner_value_type
empty_iterator< value_type > const_iterator
SPARROW_API std::optional< std::string_view > metadata() const
empty_iterator< int > const_value_iterator
SPARROW_API reference back()
SPARROW_API size_type size() const
SPARROW_API const_bitmap_range bitmap() const
SPARROW_API const_iterator cend() const
SPARROW_API const_reference front() const
SPARROW_API const_iterator end() const
std::ranges::subrange< const_bitmap_iterator > const_bitmap_range
empty_iterator< bool > const_bitmap_iterator
SPARROW_API const_reference operator[](size_type i) const
empty_iterator< value_type > iterator
nullable< inner_value_type > value_type
SPARROW_API null_array(arrow_proxy)
std::random_access_iterator_tag iterator_tag
SPARROW_API null_array(size_t length, std::optional< std::string_view > name=std::nullopt, std::optional< std::string_view > metadata=std::nullopt)
std::ranges::subrange< const_value_iterator > const_value_range
SPARROW_API const_iterator begin() const
iterator::difference_type difference_type
const_iterator::reference const_reference
SPARROW_API const_value_range values() const
SPARROW_API reference front()
SPARROW_API reference operator[](size_type i)
SPARROW_API const_iterator cbegin() const
The nullable class models a value or a reference that can be "null", or missing, like values traditio...
constexpr int64_t ssize(const T &value)
Get the size of a range, a tuple or an optional.
SPARROW_API bool operator==(const array &lhs, const array &rhs)
Compares the content of two arrays.
constexpr bool is_null_array_v
Checks whether T is a null_array type.
std::ostream & operator<<(std::ostream &stream, T n)