Share via


multimap::multimap (STL/CLR)

Constructs a container object.

    multimap();
    explicit multimap(key_compare^ pred);
    multimap(multimap<Key, Mapped>% right);
    multimap(multimap<Key, Mapped>^ right);
    template<typename InIter>
        multimapmultimap(InIter first, InIter last);
    template<typename InIter>
        multimap(InIter first, InIter last,
            key_compare^ pred);
    multimap(System::Collections::Generic::IEnumerable<GValue>^ right);
    multimap(System::Collections::Generic::IEnumerable<GValue>^ right,
        key_compare^ pred);

Parameters

  • first
    Beginning of range to insert.

  • last
    End of range to insert.

  • pred
    Ordering predicate for the controlled sequence.

  • right
    Object or range to insert.

Remarks

The constructor:

multimap();

initializes the controlled sequence with no elements, with the default ordering predicate key_compare(). You use it to specify an empty initial controlled sequence, with the default ordering predicate.

The constructor:

explicit multimap(key_compare^ pred);

initializes the controlled sequence with no elements, with the ordering predicate pred. You use it to specify an empty initial controlled sequence, with the specified ordering predicate.

The constructor:

multimap(multimap<Key, Mapped>% right);

initializes the controlled sequence with the sequence [right.multimap::begin (STL/CLR)(), right.multimap::end (STL/CLR)()), with the default ordering predicate. You use it to specify an initial controlled sequence that is a copy of the sequence controlled by the multimap object right, with the default ordering predicate.

The constructor:

multimap(multimap<Key, Mapped>^ right);

initializes the controlled sequence with the sequence [right->multimap::begin (STL/CLR)(), right->multimap::end (STL/CLR)()), with the default ordering predicate. You use it to specify an initial controlled sequence that is a copy of the sequence controlled by the multimap object right, with the default ordering predicate.

The constructor:

template<typename InIter>

multimap(InIter first, InIter last);

initializes the controlled sequence with the sequence [first, last), with the default ordering predicate. You use it to make the controlled sequence a copy of another sequence, with the default ordering predicate.

The constructor:

template<typename InIter>

multimap(InIter first, InIter last,

key_compare^ pred);

initializes the controlled sequence with the sequence [first, last), with the ordering predicate pred. You use it to make the controlled sequence a copy of another sequence, with the specified ordering predicate.

The constructor:

multimap(System::Collections::Generic::IEnumerable<Key>^ right);

initializes the controlled sequence with the sequence designated by the enumerator right, with the default ordering predicate. You use it to make the controlled sequence a copy of another sequence described by an enumerator, with the default ordering predicate.

The constructor:

multimap(System::Collections::Generic::IEnumerable<Key>^ right,

key_compare^ pred);

initializes the controlled sequence with the sequence designated by the enumerator right, with the ordering predicate pred. You use it to make the controlled sequence a copy of another sequence described by an enumerator, with the specified ordering predicate.

Example

// cliext_multimap_construct.cpp 
// compile with: /clr 
#include <cliext/map> 
 
typedef cliext::multimap<wchar_t, int> Mymultimap; 
int main() 
    { 
// construct an empty container 
    Mymultimap c1; 
    System::Console::WriteLine("size() = {0}", c1.size()); 
 
    c1.insert(Mymultimap::make_value(L'a', 1)); 
    c1.insert(Mymultimap::make_value(L'b', 2)); 
    c1.insert(Mymultimap::make_value(L'c', 3)); 
    for each (Mymultimap::value_type elem in c1) 
        System::Console::Write(" [{0} {1}]", elem->first, elem->second); 
    System::Console::WriteLine(); 
 
// construct with an ordering rule 
    Mymultimap c2 = cliext::greater_equal<wchar_t>(); 
    System::Console::WriteLine("size() = {0}", c2.size()); 
 
    c2.insert(c1.begin(), c1.end()); 
    for each (Mymultimap::value_type elem in c2) 
        System::Console::Write(" [{0} {1}]", elem->first, elem->second); 
    System::Console::WriteLine(); 
 
// construct with an iterator range 
    Mymultimap c3(c1.begin(), c1.end()); 
    for each (Mymultimap::value_type elem in c3) 
        System::Console::Write(" [{0} {1}]", elem->first, elem->second); 
    System::Console::WriteLine(); 
 
// construct with an iterator range and an ordering rule 
    Mymultimap c4(c1.begin(), c1.end(), 
        cliext::greater_equal<wchar_t>()); 
    for each (Mymultimap::value_type elem in c4) 
        System::Console::Write(" [{0} {1}]", elem->first, elem->second); 
    System::Console::WriteLine(); 
 
// construct with an enumeration 
    Mymultimap c5(   // NOTE: cast is not needed 
        (System::Collections::Generic::IEnumerable< 
            Mymultimap::value_type>^)%c3); 
    for each (Mymultimap::value_type elem in c5) 
        System::Console::Write(" [{0} {1}]", elem->first, elem->second); 
    System::Console::WriteLine(); 
 
// construct with an enumeration and an ordering rule 
    Mymultimap c6(   // NOTE: cast is not needed 
        (System::Collections::Generic::IEnumerable< 
            Mymultimap::value_type>^)%c3, 
                cliext::greater_equal<wchar_t>()); 
    for each (Mymultimap::value_type elem in c6) 
        System::Console::Write(" [{0} {1}]", elem->first, elem->second); 
    System::Console::WriteLine(); 
 
// construct by copying another container 
    Mymultimap c7(c4); 
    for each (Mymultimap::value_type elem in c7) 
        System::Console::Write(" [{0} {1}]", elem->first, elem->second); 
    System::Console::WriteLine(); 
 
// construct by copying a container handle 
    Mymultimap c8(%c3); 
    for each (Mymultimap::value_type elem in c8) 
        System::Console::Write(" [{0} {1}]", elem->first, elem->second); 
    System::Console::WriteLine(); 
    return (0); 
    } 
 
size() = 0
 [a 1] [b 2] [c 3]
size() = 0
 [c 3] [b 2] [a 1]
 [a 1] [b 2] [c 3]
 [c 3] [b 2] [a 1]
 [a 1] [b 2] [c 3]
 [c 3] [b 2] [a 1]
 [c 3] [b 2] [a 1]
 [a 1] [b 2] [c 3]

Requirements

Header: <cliext/map>

Namespace: cliext

See Also

Reference

multimap (STL/CLR)

multimap::generic_container (STL/CLR)

multimap::operator= (STL/CLR)