sparrow 2.4.0
C++20 idiomatic APIs for the Apache Arrow Columnar Format
Loading...
Searching...
No Matches
sparrow::detail::variant_like Concept Reference

#include <builder_utils.hpp>

Concept definition

template<typename T>
concept variant_like =
// Must not be a reference
!std::is_reference_v<T> &&
// Must have an index() member function returning a size_t
requires(const T& v) {
{ v.index() } -> std::convertible_to<std::size_t>;
} &&
requires(T v) {
std::visit([](auto&&) {}, v);
} &&
requires(T v) {
{ std::get<0>(v) };
} &&
requires(T v) {
{ std::get<typename std::variant_alternative<0, T>::type>(v) };
}

Detailed Description

Definition at line 175 of file builder_utils.hpp.