#include <iostream>
#include <map>
class A {
public:
A(int x, int y, int z) :x_(x), y_(y), z_(z) {
}
~A() = default;
private:
int x_;
int y_;
int z_;
};
int main()
{
std::map<int, A> foo;
foo.emplace(
std::piecewise_construct,
std::forward_as_tuple(1),
std::forward_as_tuple(10, 11, 12)
);
}