SimpleOrderedMap
It uses a Block to store an array of pointers to the keys and
the associated values.
The keys and values themselves are stored on the heap.
The keys are kept in order to allow a binary search through
the keys for rapid access.
This is one (simple) implementation of an ordered map.
It is not suitable for large arrays of keys, since the overhead
of keeping the keys in order would get too big.
Exceptions are raised when new[] is failing or when the next()
getKey() or getValue() function is failing.
The AipsIO >> and << operators are defined in
Creates a map with the specified default value, "value".
Creates a map from another one; use copy semantics.
Removes a map.
Assigns this SimpleOrderedMap to another with copy semantics.
Defines a mapping (ie. create a key value mapping)
This is the mapping function which maps keys to values. If the
map from the key to a value is not defined, a mapping will be
defined from the key to the default value (which is set from
the constructor. The "isDefined()" member function can be used
to check to see if a mapping is defined before using the
"operator()()".
Returns the default value for the Map.
+grp
-grp
These functions check to see if a mapping is defined between
the specified key and some value. If one is, a pointer to
the value is returned, otherwise 0 is returned.
+grp
-grp
Get the number of elements in the map.
Get the i-th key in the map.
It can be used to iterate through the keys as:
Get the i-th value in the map.
It can be used to iterate through the keys as:
-grp
Rename a key.
If the new key already exists, the existing key will be removed.
Undefines a mapping (ie. remove a key value mapping).
Clear the entire map (ie. remove all mappings).
Get the total size of the block in use.
Get or set the Block allocation increment.
+grp
-grp
Check the internal state.
Version for major change (used by SimOrdMapIO).
enum did not work properly with cfront 3.0.1), so replaced
by a static inline function. Users won't normally use this.
Binary search for the key.
Copy from another Block of OrderedPair's.
Review Status
Member Description
SimpleOrderedMap (const V& defaultValue, uInt size)
Creates a map with the specified default value, "value", and the
internal block size.
explicit SimpleOrderedMap (const V& defaultValue)
SimpleOrderedMap (const SimpleOrderedMap<K,V>&)
Thrown Exceptions
~SimpleOrderedMap ()
SimpleOrderedMap<K,V>& operator= (const SimpleOrderedMap<K,V>&)
Thrown Exceptions
V &define (const K&, const V&)
Thrown Exceptions
V &operator()(const K &ky)
const V &operator()(const K &ky) const
Thrown Exceptions
V &defaultVal()
-grp
const V &defaultVal() const
V *isDefined(const K&)
const V *isDefined(const K& k) const
uInt ndefined() const
const K& getKey (uInt inx) const
for (uInt i=0; i
const V& getVal (uInt inx) const
for (uInt i=0; i
V& getVal (uInt inx)
void rename (const K& newkey, const K& oldkey)
Thrown Exceptions
void remove (const K&)
Thrown Exceptions
void clear ()
uInt ntot() const
uInt incr() const
uInt incr(uInt nri)
Bool ok() const
Thrown Exceptions
static uInt Version()
uInt findKey (const K&, Bool&) const
void copyBlock (const SimpleOrderedMap<K,V>&)
Thrown Exceptions