#include <initializer_list>
#include <iostream>
#include <map>
#include <string>
#include <utility>


struct Typer
{
	std::string data;

	Typer(const char *s) : data(s) {}
};


struct MyClass
{
	MyClass(std::initializer_list<std::pair<std::string, Typer>> i)
		: myMap(begin(i), end(i))
	{}
	
	std::map<std::string, Typer> myMap;
};

int main()
{
	MyClass m = {
	    {"foo", "bar"},
	    {"biz", "buz"},
	    {"bez", "boz"}
	};
	for (auto&& p: m.myMap)
		std::cout << p.first << " - " << p.second.data << '\n';
}