hash_set::insert (STL/CLR)
Добавляет элементы.
cliext::pair<iterator, bool> insert(value_type val);
iterator insert(iterator where, value_type val);
template<typename InIter>
void insert(InIter first, InIter last);
void insert(System::Collections::Generic::IEnumerable<value_type>^ right);
Параметры
first
Начало диапазона, который необходимо вставить.last
Элемент диапазона, который необходимо вставить.правый
Перечисление, который необходимо вставить.val
Значение ключа, который необходимо вставить., где
, Где в контейнере вставки (подсказка только).
Заметки
Каждый из функции-члены содержит определенную последовательность оставшимися операндами.
Первый функцию-член стремится вставить элемент со значением val и возвращения пара значений X. Если X.second выполняется, X.first обозначает вновь добавленного элемента; в противном случае X.first обозначает элемент с соответствующей приказывающ то уже существует и не новый элемент не будет. Он используется для вставки одного элемента.
Второй функцию-член вставляет элемент со значением val, с помощью where как подсказка (повысить производительность) и возвращает итератор, обозначает вновь добавленного элемента. Он используется для вставки один элемент, который может быть рядом с элементом известно.
Третий функцию-член вставляет последовательность [first, last). Он используется для вставки ноль или более элементов скопированных из другой последовательности.
Четвертый функцию-член вставляет последовательность обозначенную right. Он используется для вставки последовательность описанную перечислителем.
Каждая вставка элемента требует времени, пропорциональное логарифму числа элементов в контролируемой последовательности. Вставка может произойти в амортизированном постоянно времени, заданную подсказку, которая обозначает элемент рядом с точкой вставки.
Пример
// cliext_hash_set_insert.cpp
// compile with: /clr
#include <cliext/hash_set>
typedef cliext::hash_set<wchar_t> Myhash_set;
typedef Myhash_set::pair_iter_bool Pairib;
int main()
{
Myhash_set c1;
c1.insert(L'a');
c1.insert(L'b');
c1.insert(L'c');
// display initial contents " a b c"
for each (wchar_t elem in c1)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// insert a single value, unique and duplicate
Pairib pair1 = c1.insert(L'x');
System::Console::WriteLine("insert(L'x') = [{0} {1}]",
*pair1.first, pair1.second);
pair1 = c1.insert(L'b');
System::Console::WriteLine("insert(L'b') = [{0} {1}]",
*pair1.first, pair1.second);
for each (wchar_t elem in c1)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// insert a single value with hint
System::Console::WriteLine("insert(begin(), L'y') = {0}",
*c1.insert(c1.begin(), L'y'));
for each (wchar_t elem in c1)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// insert an iterator range
Myhash_set c2;
Myhash_set::iterator it = c1.end();
c2.insert(c1.begin(), --it);
for each (wchar_t elem in c2)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
// insert an enumeration
Myhash_set c3;
c3.insert( // NOTE: cast is not needed
(System::Collections::Generic::IEnumerable<wchar_t>^)%c1);
for each (wchar_t elem in c3)
System::Console::Write(" {0}", elem);
System::Console::WriteLine();
return (0);
}
Требования
Заголовок:<cliext/hash_set>
Пространство имен: cliext