set::insert (STL/CLR)
Agrega elementos.
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);
Parámetros
first
Inicio del intervalo que se va a insertar.last
Final del intervalo que se va a insertar.right
Enumeración que se va a insertar.val
Valor de clave que se va a insertar.donde
Donde en el contenedor insertar (sugerencia sólo).
Comentarios
Cada una de las funciones miembro inserta una secuencia especificada por los operandos restantes.
La primera función miembro se esfuerza para insertar un elemento con el valor val, y devuelve un par de valores X.Si X.second es true, X.first designa el elemento insertado recientemente; si no X.first designa un elemento con equivalente solicitando que ya existe y no se insertará ningún nuevo elemento.Se utiliza para insertar un solo elemento.
La segunda función miembro inserta un elemento con el valor val, mediante where como sugerencia (mejorar rendimiento), y devuelve un iterador que señala el elemento insertado recientemente.Se utiliza para insertar un solo elemento que podría estar junto a un elemento que sabe.
La tercera función miembro inserta la secuencia [first,last).Se utiliza para insertar cero o más elementos copiado de otra secuencia.
La cuarta función miembro inserta la secuencia indicada por right.Se utiliza para insertar una secuencia descrita por un enumerador.
Cada inserción de elementos lleva tiempo proporcional al logaritmo del número de elementos de la secuencia controlada.Inserción puede aparecer en el tiempo constante amortizado, sin embargo, dada una sugerencia que señale un elemento adyacente al punto de inserción.
Ejemplo
// cliext_set_insert.cpp
// compile with: /clr
#include <cliext/set>
typedef cliext::set<wchar_t> Myset;
typedef Myset::pair_iter_bool Pairib;
int main()
{
Myset 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
Myset c2;
Myset::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
Myset 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);
}
Requisitos
encabezado: <cliext/conjunto>
Cliext deespacio de nombres: