Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

hash_map::insert (STL/CLR)

Adds elements.

    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

Beginning of range to insert.

last

End of range to insert.

right

Enumeration to insert.

val

Key value to insert.

where

Where in container to insert (hint only).

Each of the member functions inserts a sequence specified by the remaining operands.

The first member function endeavors to insert an element with value val, and returns a pair of values X. If X.second is true, X.first designates the newly inserted element; otherwise X.first designates an element with equivalent ordering that already exists and no new element is inserted. You use it to insert a single element.

The second member function inserts an element with value val, using where as a hint (to improve performance), and returns an iterator that designates the newly inserted element. You use it to insert a single element which might be adjacent to an element you know.

The third member function inserts the sequence [first, last). You use it to insert zero or more elements copied from another sequence.

The fourth member function inserts the sequence designated by the right. You use it to insert a sequence described by an enumerator.

Each element insertion takes time proportional to the logarithm of the number of elements in the controlled sequence. Insertion can occur in amortized constant time, however, given a hint that designates an element adjacent to the insertion point.

// cliext_hash_map_insert.cpp 
// compile with: /clr 
#include <cliext/hash_map> 
 
typedef cliext::hash_map<wchar_t, int> Myhash_map; 
typedef Myhash_map::pair_iter_bool Pairib; 
int main() 
    { 
    Myhash_map c1; 
    c1.insert(Myhash_map::make_value(L'a', 1)); 
    c1.insert(Myhash_map::make_value(L'b', 2)); 
    c1.insert(Myhash_map::make_value(L'c', 3)); 
 
// display contents " [a 1] [b 2] [c 3]" 
    for each (Myhash_map::value_type elem in c1) 
        System::Console::Write(" [{0} {1}]", elem->first, elem->second); 
    System::Console::WriteLine(); 
 
// insert a single value, unique and duplicate 
    Pairib pair1 = 
        c1.insert(Myhash_map::make_value(L'x', 24)); 
    System::Console::WriteLine("insert([L'x' 24]) = [{0} {1}] {2}", 
        pair1.first->first, pair1.first->second, pair1.second); 
 
    pair1 = c1.insert(Myhash_map::make_value(L'b', 2)); 
    System::Console::WriteLine("insert([L'b' 2]) = [{0} {1}] {2}", 
        pair1.first->first, pair1.first->second, pair1.second); 
 
    for each (Myhash_map::value_type elem in c1) 
        System::Console::Write(" [{0} {1}]", elem->first, elem->second); 
    System::Console::WriteLine(); 
 
// insert a single value with hint 
    Myhash_map::iterator it = 
        c1.insert(c1.begin(), Myhash_map::make_value(L'y', 25)); 
    System::Console::WriteLine("insert(begin(), [L'y' 25]) = [{0} {1}]", 
        it->first, it->second); 
    for each (Myhash_map::value_type elem in c1) 
        System::Console::Write(" [{0} {1}]", elem->first, elem->second); 
    System::Console::WriteLine(); 
 
// insert an iterator range 
    Myhash_map c2; 
    it = c1.end(); 
    c2.insert(c1.begin(), --it); 
    for each (Myhash_map::value_type elem in c2) 
        System::Console::Write(" [{0} {1}]", elem->first, elem->second); 
    System::Console::WriteLine(); 
 
// insert an enumeration 
    Myhash_map c3; 
    c3.insert(   // NOTE: cast is not needed 
        (System::Collections::Generic:: 
            IEnumerable<Myhash_map::value_type>^)%c1); 
    for each (Myhash_map::value_type elem in c3) 
        System::Console::Write(" [{0} {1}]", elem->first, elem->second); 
    System::Console::WriteLine(); 
    return (0); 
    } 
 
 [a 1] [b 2] [c 3]
insert([L'x' 24]) = [x 24] True
insert([L'b' 2]) = [b 2] False
 [a 1] [b 2] [c 3] [x 24]
insert(begin(), [L'y' 25]) = [y 25]
 [a 1] [b 2] [c 3] [x 24] [y 25]
 [a 1] [b 2] [c 3] [x 24]
 [a 1] [b 2] [c 3] [x 24] [y 25]

Header: <cliext/hash_map>

Namespace: cliext

Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

Show:
© 2014 Microsoft