9 using name_t = std::string;
11 using weight_t = double;
13 using name_age_vt_t = std::variant<name_t, age_t>;
14 using age_weight_vt_t = std::variant<age_t, weight_t>;
17 using tuple_t = std::tuple<name_age_vt_t, age_weight_vt_t>;
19 tuple_t tpl { name_age_vt_t{
"Sophie Turner" }, age_weight_vt_t{ 22.0 / 7.0 } };
23 auto& name_age = std::get<name_age_vt_t>(tpl);
32 using name_t = std::string;
34 using weight_t = double;
36 using name_age_tpl_t = std::tuple<name_t, age_t>;
37 using age_weight_tpl_t = std::tuple<age_t, weight_t>;
40 using variant_t = std::variant<name_age_tpl_t, age_weight_tpl_t>;
42 variant_t vt { name_age_tpl_t{
"Sophie", 20 } };
46 vt = age_weight_tpl_t{40, 45.6 };
void test_variant_of_tuples()
void test_tuple_of_variants()
Type to string name conversions are defined.
Stream output operators << are implemented.