6#include <gtest/gtest.h>
13using TestVariant = std::variant<int, std::string>;
16Discriminate(
const TestVariant & v)
22 return "int:" + std::to_string(n);
24 [](
const std::string & s)
32TEST(MatchVariantTests, TestVariants)
34 EXPECT_EQ(Discriminate(TestVariant(42)),
"int:42");
35 EXPECT_EQ(Discriminate(TestVariant(
"foo")),
"str:foo");
TEST(MatchVariantTests, TestVariants)
decltype(auto) MatchVariant(T &&obj, Fns &&... fns)
Pattern match over variant.