11 using key_t =
const char*;
12 using name_t = std::string;
14 using weight_t = double;
19 using people_t = std::vector<person_t>;
21 auto key_name =
"name";
23 auto key_weight =
"weight";
27 people.emplace_back(person_t{ {key_name,
"Thomas Kim"}, { key_age, 23 }, {key_weight, 56.0} } );
28 people.emplace_back(person_t{ {key_name,
"Sophie Turner"}, { key_age, 26 }, {key_weight, 66.5} } );
29 people.emplace_back(person_t{ {key_name,
"Albert Kim"}, { key_age, 21 }, {key_weight, 60.5} } );
31 for(
auto& person: people)
33 stream <<
"My name is " << person[key_name] <<
". " <<
endl;
34 stream <<
"I am " << person[key_age] <<
" years old." <<
endl;
35 stream <<
"I weigh " << person[key_weight] <<
" kg." <<
endL;
void powerful_application_of_map_of_variants()
Type to string name conversions are defined.
hidden::unordered_map_of_variants_t< KeyType, ElementTypes... > unordered_map_of_variants_t
Stream output operators << are implemented.