1#ifndef TATOOINE_VISIT_H
2#define TATOOINE_VISIT_H
12template <
typename Visitor,
typename Variant0,
typename Variant1,
14constexpr auto visit(Visitor&& visitor, Variant0&& variant0,
15 Variant1&& variant1, Variants&&... variants) ->
void {
16 auto nested_visitor = [&](
auto&& value0) {
18 [&](
auto&&... rest_of_values) {
19 visitor(std::forward<
decltype(value0)>(value0),
20 std::forward<
decltype(rest_of_values)>(rest_of_values)...);
22 std::forward<Variant1>(variant1), std::forward<Variants>(variants)...);
24 visit(nested_visitor, std::forward<Variant0>(variant0));
Definition: algorithm.h:6
constexpr auto visit(Visitor &&visitor, Variant0 &&variant0, Variant1 &&variant1, Variants &&... variants) -> void
Definition: visit.h:14