std::set
не имеет конструктора, который принимает элемент для вставки. Лучшее, что вы можете сделать, это использовать конструктор диапазона:
int a[] = {1,2,3,4,5};
std::set<int> foo(a, a+5); // insert the values 1 through 5 into foo
Эта версия использует итераторы begin
и end
, описывающие диапазон, который будет вставлен в набор. При желании вы также можете указать критерий сортировки. Это не совсем то, что вы хотели, но это близко. Поэтому, если ваши элементы хранятся в контейнере v
, вы можете вставить новый набор в свой список следующим образом:
list<set<string> > myList;
myList.push_back(set<string>(v.begin(), v.end()));