std :: back_inserter para um std :: set?

Acho que esta é uma pergunta simples. Eu preciso fazer algo assim:

std::set<int> s1, s2;
s1 = getAnExcitingSet();
std::transform(s1.begin(), s1.end(), std::back_inserter(s2), ExcitingUnaryFunctor());

Claro,std::back_inserter não funciona, pois não hápush_back. std::inserter também precisa de um iterador? Eu não useistd::inserter então não tenho certeza do que fazer.

Alguém tem alguma ideia

Claro, minha outra opção é usar um vetor paras2 e depois apenas classifique-o mais tarde. Talvez seja melhor assim?

questionAnswers(2)

yourAnswerToTheQuestion