25 #if __cpp_concepts >= 201907L
40 template<
typename... Fs>
55 : Fs {
std::forward<Ts>(ts) }... { }
61 using Fs::operator()...;
66 template<
typename... Fs>
80 template<
typename... Ts,
typename... Fs>
83 const std::variant<Ts...>& var,
86 { std::visit(m, var); }
101 template<
typename... Ts,
typename... Fs>
104 const std::variant<Ts...>& var,
107 {
return std::visit(m, var); }
119 explicit constexpr
match_any([[maybe_unused]] T&& t) noexcept { }
constexpr auto operator>>(const std::variant< Ts... > &var, const match< Fs... > &m) -> void
Match Expression Notation.
Definition: match.hxx:82
match(Fs &&...) -> match< std::remove_reference_t< Fs >... >
Template Deduction Guide.
constexpr auto operator<<(const std::variant< Ts... > &var, const match< Fs... > &m) -> decltype(auto)
Match Expression Assignment Overload.
Definition: match.hxx:103
Definition: matrix.hxx:1310
Wildcard Empty Placeholder.
Definition: match.hxx:117
constexpr match_any(match_any &&) noexcept=delete
constexpr match_any(const match_any &) noexcept=delete
constexpr match_any([[maybe_unused]] T &&t) noexcept
Definition: match.hxx:119
match structure
Definition: match.hxx:42
match(Ts &&... ts)
Forward Constructor.
Definition: match.hxx:54