Struct base

Nested Relationships

Nested Types

Struct Documentation

struct base

Public Types

template<typename Visitor, typename ...Vs>
using dispatch_result_t = decltype(lib::invoke(std::declval<Visitor>(), access::base::get_alt<0>(std::declval<Vs>())...))

Public Static Functions

template<typename T>
static inline constexpr const T &at(const T &elem) noexcept
template<typename T, std::size_t N, typename ...Is>
static inline constexpr const lib::remove_all_extents_t<T> &at(const lib::array<T, N> &elems, std::size_t i, Is... is) noexcept
template<typename F, typename ...Fs>
static inline constexpr lib::array<lib::decay_t<F>, sizeof...(Fs) + 1> make_farray(F &&f, Fs&&... fs)
template<typename F, typename... Vs> static inline constexpr AUTO make_fmatrix () AUTO_RETURN(typename make_fmatrix_impl< F
template<typename F, typename V, typename ...Vs>
static inline constexpr auto make_fdiagonal() -> decltype(make_fdiagonal_impl<F, V, Vs...>::impl(lib::make_index_sequence<lib::decay_t<V>::size()>{}))
template<typename Expected>
struct expected

Public Static Functions

template<typename Actual>
static inline constexpr bool but_got()
struct make_fdiagonal_impl

Public Static Functions

template<std::size_t I>
static inline constexpr dispatch_result_t<F, Vs...> dispatch(F &&f, Vs&&... vs)
template<typename F, typename ...Vs>
struct make_fmatrix_impl

Public Static Functions

template<std::size_t... Is>
static inline constexpr dispatch_result_t<F, Vs...> dispatch(F &&f, Vs&&... vs)
template<typename...>
struct impl
template<typename Is, std::size_t... Js, typename... Ls> index_sequence< Js... >, Ls... >
template<std::size_t... Is> index_sequence< Is... > >
template<typename Expected, typename Actual>
struct visit_return_type_check