// mutators
void Insert (const KeyType& key, const DataType& data);
size_t Remove (const KeyType& key);
void Clear (); // make empty
// data retrieval
bool Retrieve (const KeyType& key, DataType& data) const;
// locators
Iterator Includes (const KeyType& key);
Iterator LowerBound (const KeyType& key);
Iterator UpperBound (const KeyType& key);
// size operations
bool Empty () const;
size_t Size () const;
// plus the usual support system:
// logical operators ==(), !=()
// iterator support for bidirectional iterators
// Big 4: Constructor, Destructor, Copy Constructor, assignment operator