Template Struct dispatch_set

Nested Relationships

Nested Types

Struct Documentation

template<typename ValueType, typename ...Tuples>
struct dispatch_set

Exact set of allowed tuples for sparse dispatch.

Public Types

using seq_type = std::tuple<typename convert_tuple<Tuples>::type...>
using first_t = std::tuple_element_t<0, seq_type>
using runtime_array_t = std::array<ValueType, tuple_arity>

Public Functions

template<typename ...Args, typename = std::enable_if_t<sizeof...(Args) == tuple_arity>>
inline explicit dispatch_set(Args&&... args)
template<std::size_t... Idx>
inline auto runtime_tuple_impl(std::index_sequence<Idx...>) const
inline auto runtime_tuple() const

Public Static Attributes

static constexpr std::size_t tuple_arity = detail::sequence_size<first_t>::value
template<typename TupleHelper>
struct convert_tuple
template<auto... Vs>
struct convert_tuple<tuple_<Vs...>>

Public Types

using type = std::integer_sequence<ValueType, static_cast<ValueType>(Vs)...>
template<typename S>
struct same_arity : public std::bool_constant<detail::sequence_size<S>::value == tuple_arity>