19#if defined(__cpp_lib_format)
45 [[nodiscard]]
bool empty()
const;
60 const std::vector<child_ptr>* p_children =
nullptr;
68#if defined(__cpp_lib_format)
71struct std::formatter<
sparrow::struct_value>
73 constexpr auto parse(std::format_parse_context& ctx)
78 SPARROW_API auto format(
const sparrow::struct_value& ar, std::format_context& ctx)
const
79 ->
decltype(ctx.out());
Smart pointer behaving like a copiable std::unique_ptr.
cloning_ptr< array_wrapper > child_ptr
array_traits::value_type value_type
const_iterator cbegin() const
const_reference front() const
const_iterator end() const
functor_index_iterator< const_functor_type > const_iterator
array_traits::const_reference const_reference
struct_value(const std::vector< child_ptr > &children, size_type index)
const_iterator cend() const
detail::layout_bracket_functor< const struct_value, const_reference > const_functor_type
const_reference operator[](size_type i) const
const_reference back() const
const_iterator begin() const
SPARROW_API bool operator==(const array &lhs, const array &rhs)
Compares the content of two arrays.
std::ostream & operator<<(std::ostream &os, const sparrow::nullval_t &)
mpl::rename< 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