Map< K, V > Class Template Reference
#include <map.h>
List of all members.
Public Member Functions |
| Map () |
| Map (const Map< K, V > &) throw ( bad_alloc ) |
K | ceilingKey (const K &) const throw ( NoSuchObject ) |
void | clear () |
bool | containsKey (const K &) const |
bool | containsValue (const V &) const |
bool | empty () const |
V & | get (const K &) const throw ( NoSuchObject ) |
MapIterator< K, V > | getIterator () |
MapIterator< K, V > | getIterator (const K &) throw ( NoSuchObject ) |
vector< V > | higherEntries (const K &) const |
vector< V > | lowerEntries (const K &) const |
const Map< K, V > & | operator= (const Map< K, V > &) throw ( bad_alloc ) |
void | put (const K &, const V &) throw ( bad_alloc ) |
void | printInternal (ostream &=cout) |
V | remove (const K &) throw ( NoSuchObject ) |
unsigned | size () const |
vector< V > | values () const |
| ~Map () |
Private Member Functions |
Node< K, V > * | findKey (const K &) const |
Node< K, V > * | findValue (const V &) const |
void | initialize () |
Private Attributes |
Node< K, V > * | headPtr |
unsigned | sz |
Friends |
ostream & | operator<< (ostream &, const Map< K, V > &) |
Detailed Description
template<typename K, typename V>
class Map< K, V >
Implementation of a Map ADT using a doubly-linked list.
- Author:
- Mark Maloof
- Version:
- 1.0, 3/13/13
Constructor & Destructor Documentation
template<typename K , typename V >
template<typename K , typename V >
Map< K, V >::Map |
( |
const Map< K, V > & |
map |
) |
throw ( bad_alloc ) [inline] |
Copy constructor. Makes a deep copy of the specified map.
- Parameters:
-
- Exceptions:
-
| bad_alloc | if memory cannot be allocated |
template<typename K , typename V >
Map< K, V >::~Map |
( |
|
) |
[inline] |
Member Function Documentation
template<typename K , typename V >
K Map< K, V >::ceilingKey |
( |
const K & |
key |
) |
const throw ( NoSuchObject ) [inline] |
Returns the smallest key greater than or equal to the specified key.
- Parameters:
-
- Returns:
- the ceiling key
- Exceptions:
-
template<typename K , typename V >
void Map< K, V >::clear |
( |
|
) |
[inline] |
Clears this map by removing all of its elements.
template<typename K , typename V >
bool Map< K, V >::containsKey |
( |
const K & |
key |
) |
const [inline] |
Returns true if this map contains the specified key; otherwise, returns false.
- Parameters:
-
- Returns:
- true if this map contains the key
template<typename K , typename V >
bool Map< K, V >::containsValue |
( |
const V & |
value |
) |
const [inline] |
Returns true if this map contains the specified value; otherwise, returns false.
- Parameters:
-
| value | the specified value |
- Returns:
- true if this map contains the value
template<typename K , typename V >
bool Map< K, V >::empty |
( |
|
) |
const [inline] |
Returns true if this map contains no key-value pairs; otherwise, returns false.
- Returns:
- true if this map is empty
template<typename K , typename V >
Node< K, V > * Map< K, V >::findKey |
( |
const K & |
key |
) |
const [inline, private] |
Returns a pointer to the node containing the specified key. Returns null if no such key exists.
- Parameters:
-
- Returns:
- a pointer to the node containing the key
template<typename K , typename V >
Node< K, V > * Map< K, V >::findValue |
( |
const V & |
value |
) |
const [inline, private] |
Returns a pointer to the node containing the specified value. Returns null if no such value exists.
- Parameters:
-
| value | the specified value |
- Returns:
- a pointer to the node containing the value
template<typename K , typename V >
V & Map< K, V >::get |
( |
const K & |
key |
) |
const throw ( NoSuchObject ) [inline] |
Returns a reference to the value in this map with the specified key.
- Parameters:
-
- Returns:
- a reference to the value with the specified key
- Exceptions:
-
template<typename K , typename V >
Returns an iterator positioned before the specified key.
- Parameters:
-
| key | the key for positioning the iterator |
- Returns:
- an iterator positioned before the specified key
- Exceptions:
-
template<typename K , typename V >
Returns an iterator positioned at the front of this map.
- Returns:
- an iterator positioned at the front of this map
template<typename K , typename V >
vector< V > Map< K, V >::higherEntries |
( |
const K & |
key |
) |
const [inline] |
Returns a vector of values with keys greater than or equal to the specified key.
- Parameters:
-
- Returns:
- a vector of values
template<typename K , typename V >
void Map< K, V >::initialize |
( |
|
) |
[inline, private] |
Initializes the private data members of this map to their defaults values; that is, sets the pointer to null and size to zero.
template<typename K , typename V >
vector< V > Map< K, V >::lowerEntries |
( |
const K & |
key |
) |
const [inline] |
Returns a vector of values with keys less than or equal to the specified key.
- Parameters:
-
- Returns:
- a vector of values
template<typename K , typename V >
const Map< K, V > & Map< K, V >::operator= |
( |
const Map< K, V > & |
map |
) |
throw ( bad_alloc ) [inline] |
Returns a deep copy of the specified map.
- Parameters:
-
| map | the map to be copied. |
- Returns:
- a copy of the map.
- Exceptions:
-
| bad_alloc | if memory cannot be allocated. |
template<typename K , typename V >
void Map< K, V >::printInternal |
( |
ostream & |
out = cout |
) |
[inline] |
A utility method that prints the internal state of this map.
template<typename K , typename V >
void Map< K, V >::put |
( |
const K & |
key, |
|
|
const V & |
value | |
|
) |
| | throw ( bad_alloc ) [inline] |
Puts the specified key-value pair at the front of this map. If the key exists, then its value is replaced with the specified value.
- Parameters:
-
| key | the specified key |
| value | the specified value |
- Exceptions:
-
| bad_alloc | if memory cannot be allocated |
template<typename K , typename V >
Removes and returns the value in this map with the specified key.
- Returns:
- the value with the specified key
- Exceptions:
-
template<typename K , typename V >
unsigned Map< K, V >::size |
( |
|
) |
const [inline] |
Returns the number key-value pairs stored in this map.
- Returns:
- an unsigned integer indicating this map's size
template<typename K , typename V >
vector< V > Map< K, V >::values |
( |
|
) |
const [inline] |
Returns a vector containing the values of this map.
- Returns:
- a vector of values stored in this map
Friends And Related Function Documentation
template<typename K , typename V >
ostream& operator<< |
( |
ostream & |
out, |
|
|
const Map< K, V > & |
map | |
|
) |
| | [friend] |
Overloaded stream insertion operator that outputs the specified map to the output stream in the format [<k1:v1>, <k2:v2>, ...], where <ki:vi> are the elements of the map.
- Parameters:
-
| out | the output stream |
| map | the specified map |
- Returns:
- the modified output stream
The documentation for this class was generated from the following file: