| 18 | |
| 19 | template <typename T> |
| 20 | constexpr auto print(T const &v) |
| 21 | { |
| 22 | using namespace matchit; |
| 23 | Id<char const *> c; |
| 24 | Id<int32_t> i; |
| 25 | return match(v)( |
| 26 | // clang-format off |
| 27 | pattern | as<char const *>(c) = [&] { std::cout << "char const *: " << *c << std::endl;}, |
| 28 | pattern | as<int32_t>(i) = [&] { std::cout << "int32_t: " << *i << std::endl;} |
| 29 | // clang-format on |
| 30 | ); |
| 31 | } |
| 32 | |
| 33 | int32_t main() |
| 34 | { |