/*
* List operations on map
*
*/
template <class Key, class T, class Cmp = less<Key>,
class A = allocator< pair<const Key,T> > >
class map {
public:
// ...
// list operations:
pair<iterator, bool> insert(const value_type& val); // insert (key,value) pair
iterator insert(iterator pos, const value_type& val); // pos is just a hint
template <class In> void insert(In first, In last); // insert elements from sequence
void erase(iterator pos); // erase the element pointed to
size_type erase(const key_type& k); // erase element with key k (if present)
void erase(iterator first, iterator last); // erase range
void clear(); // Erase all elements
// ...
};
/*
* Usage of list operation
*
*/
void f(map<string,int>& m)
{
pair<string,int> p99("Paul",99);
pair<map<string,int>::iterator,bool> p = m.insert(p99);
if (p.second) {
// "Paul" was inserted
}
else {
// "Paul" was there already
}
map<string,int>::iterator i = p.first; // points to m["Paul"]
// ...
}