multiset::insert

iterator insert(const value_type& x);
iterator insert(iterator it, const value_type& x);
void insert(const value_type *first, const value_type *last);

The first member function inserts the element x in the controlled sequence, then returns the iterator that designates the inserted element. The second member function returns insert(x), using it as a starting place within the controlled sequence to search for the insertion point. (Insertion can occur in amortized constant time, instead of logarithmic time, if the insertion point immediately follows it.) The third member function inserts the sequence of element values in the range [first, last).

In this implementation, if a translator does not support member template functions, the template:

template<class InIt>
    void insert(InIt first, InIt last);

is replaced by:

void insert(const value_type *first, const value_type *last);