std::set::assign ???
От: Коваленко Дмитрий Россия http://www.ibprovider.com
Дата: 01.08.05 17:21
Оценка:
Привет всем.

С удивлением обнаружил, что у std::set нет метода
template <class InputIterator>
void assign (InputIterator first, InputIterator last);

Хотя есть эквивалентный конструктор.

смотрел в Rogue Wave (BCB5) и STLPort 4.5

Хочу, хочу, хочу
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
Re: std::set::assign ???
От: Pavel Chikulaev Россия  
Дата: 01.08.05 17:51
Оценка:
"Коваленко Дмитрий" wrote...
> Хочу, хочу, хочу
set<int> a;
vector<int> b;

a.swap(set<int>(b.begin(), b.end()));


Подойдет?
Posted via RSDN NNTP Server 1.9
Re[2]: std::set::assign ???
От: Коваленко Дмитрий Россия http://www.ibprovider.com
Дата: 01.08.05 18:46
Оценка:
Здравствуйте, Pavel Chikulaev, Вы писали:

>> Хочу, хочу, хочу

set<int> a;
vector<int> b;

a.swap(set<int>(b.begin(), b.end()));

PC>Подойдет?

Что и было в конечном итоге сделано Только в более страшном виде.
string const s(BStrToString(PropValue));

m_spData->SepChars().m_set.swap(t_os_sep_chars::separate_chars_set(s.begin(),s.end()));

Кстати, зря они из некоторых методов (типа clear) не возвращают *this.

Можно было бы, на крайняк, написать
my_set.clear().insert(first,last);
-- Пользователи не приняли программу. Всех пришлось уничтожить. --
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.