| sparrow 1.3.0
    | 
#include <array>#include <ranges>#include <string>#include <tuple>#include <type_traits>#include <utility>#include <vector>#include <sparrow/array.hpp>#include <sparrow/utils/ranges.hpp>Go to the source code of this file.
| Namespaces | |
| namespace | sparrow | 
| namespace | sparrow::detail | 
| Concepts | |
| concept | sparrow::detail::is_nullable_like | 
| concept | sparrow::detail::is_dict_encode | 
| concept | sparrow::detail::is_run_end_encode | 
| concept | sparrow::detail::is_express_layout_desire | 
| concept | sparrow::detail::is_plain_value_type | 
| concept | sparrow::detail::has_tuple_element | 
| concept | sparrow::detail::variant_like | 
| concept | sparrow::detail::tuple_like | 
| concept | sparrow::detail::all_elements_same | 
| Typedefs | |
| template<class T> | |
| using | sparrow::detail::decayed_range_value_t = std::decay_t<std::ranges::range_value_t<T>> | 
| template<class T> | |
| using | sparrow::detail::mnv_t = typename maybe_nullable_value_type<T>::type | 
| template<class T> | |
| using | sparrow::detail::meldv_t = typename maybe_express_layout_desire_value_type<T>::type | 
| template<class T> | |
| using | sparrow::detail::layout_flag_t | 
| template<class T> | |
| using | sparrow::detail::look_trough_t = meldv_t<mnv_t<meldv_t<T>>> | 
| template<class T> | |
| using | sparrow::detail::ensured_range_value_t = look_trough_t<std::ranges::range_value_t<T>> | 
| template<class T> | |
| using | sparrow::detail::nested_ensured_range_inner_value_t = ensured_range_value_t<ensured_range_value_t<T>> | 
| Functions | |
| template<class F, std::size_t... Is> | |
| void | sparrow::detail::for_each_index_impl (F &&f, std::index_sequence< Is... >) | 
| template<std::size_t SIZE, class F> | |
| void | sparrow::detail::for_each_index (F &&f) | 
| template<class F, std::size_t... Is> | |
| bool | sparrow::detail::exitable_for_each_index_impl (F &&f, std::index_sequence< Is... >) | 
| template<std::size_t SIZE, class F> | |
| bool | sparrow::detail::exitable_for_each_index (F &&f) | 
| template<typename T, std::size_t... N> | |
| constexpr bool | sparrow::detail::check_tuple_elements (std::index_sequence< N... >) | 
| template<typename T> | |
| constexpr bool | sparrow::detail::is_tuple_like () | 
| template<typename Tuple, size_t... Is> | |
| constexpr bool | sparrow::detail::all_elements_same_impl (std::index_sequence< Is... >) | 
| template<class T> | |
| constexpr std::size_t | sparrow::detail::get_size_save (T &&t) | 
| template<class T> | |
| constexpr decltype(auto) | sparrow::detail::ensure_value (T &&t) | 
| template<std::ranges::range T> requires (is_nullable_like<std::ranges::range_value_t<T>>) | |
| constexpr std::vector< std::size_t > | sparrow::detail::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> ) | |
| constexpr std::vector< std::size_t > | sparrow::detail::where_null (T &&t) | 
| template<class T> | |
| constexpr std::array< std::size_t, 0 > | sparrow::detail::where_null (T &&) noexcept | 
| template<class T> requires (is_plain_value_type<std::ranges::range_value_t<T>>) | |
| constexpr decltype(auto) | sparrow::detail::ensure_value_range (T &&t) noexcept | 
| template<class T> requires (!is_plain_value_type<std::ranges::range_value_t<T>>) | |
| constexpr decltype(auto) | sparrow::detail::ensure_value_range (T &&t) |