/* * 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"] // ... }