sparrow 0.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> | |
std::size_t | sparrow::detail::get_size_save (T &&t) |
template<class T> | |
decltype(auto) | sparrow::detail::ensure_value (T &&t) |
template<std::ranges::range T> requires (is_nullable_like<std::ranges::range_value_t<T>>) | |
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>) | |
std::vector< std::size_t > | sparrow::detail::where_null (T &&t) |
template<class T> | |
std::array< std::size_t, 0 > | sparrow::detail::where_null (T &&) |
template<class T> requires (is_plain_value_type<std::ranges::range_value_t<T>>) | |
decltype(auto) | sparrow::detail::ensure_value_range (T &&t) |
template<class T> requires (!is_plain_value_type<std::ranges::range_value_t<T>>) | |
decltype(auto) | sparrow::detail::ensure_value_range (T &&t) |