casa  $Rev:20696$
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Public Types | Public Member Functions | Protected Attributes
casa::MapIterRep< key, value > Class Template Reference

Abstract base class for associative array iterators. More...

#include <Map.h>

Inheritance diagram for casa::MapIterRep< key, value >:
casa::OrderedMapIterRep< key, value >

List of all members.

Public Types

enum  { MapIterRepVersion }

Public Member Functions

virtual Bool isValid () const =0
 Check to see if the iterator is in a valid state.
virtual Bool atEnd () const =0
 Check to see if the iterator position is at the end or beginning of the Map.
virtual Bool atStart () const =0
virtual void toStart ()=0
 Move the iterator to the start of the Map.
virtual void operator++ ()=0
 Advance to the next element of the Map.
virtual void operator++ (int)=0
virtual const key & getKey () const =0
 Get the key for the current position in the Map.
virtual valuegetVal ()=0
 Return the value at the current location of the map iterator.
virtual const valuegetVal () const =0
const valuedefaultVal () const
 This returns the default value for the map that this iterator is tracking.
valuedefaultVal ()
valuedefine (const key &ky, const value &val)
 These functions allow for the definition and removal of key/value relations.
void remove (const key &ky)
void clear ()
 Clear all of the mappings.
const valueoperator() (const key &ky) const
 Allows mapping functions to be performed with the map on which this iterator operates.
valueoperator() (const key &ky)
const valueisDefined (const key &ky) const
 Allows one to check to see if a given key is defined in the map which this iterator tracks.
valueisDefined (const key &ky)
uInt ndefined () const
 Returns the number of user defined mappings.
Map< key, value > & container ()
 Returns the container on which this iterator is operating.
const Map< key, value > & container () const
virtual MapIterRep< key, value > * Clone ()=0
 Duplicate a map iterator.
 MapIterRep (Map< key, value > &st)
 This allows a MapIter to be constructed from a Map.
 MapIterRep (Map< key, value > *st)
virtual ~MapIterRep ()
 
   

Protected Attributes

Map< key, value > * Container

Detailed Description

template<class key, class value>
class casa::MapIterRep< key, value >

Abstract base class for associative array iterators.

Review Status

Reviewed By:
UNKNOWN
Date Reviewed:
before2004/08/25
This is the abstract base class for all (Const)MapIter
"letters". That is all Map specializations must provide
a "IterRep" for the particular specialization which
will allow the (Const)MapIter envelope to traverse the
new type of map.

Definition at line 274 of file Map.h.


Member Enumeration Documentation

template<class key, class value>
anonymous enum
Enumerator:
MapIterRepVersion 

Definition at line 404 of file Map.h.


Constructor & Destructor Documentation

template<class key, class value>
casa::MapIterRep< key, value >::MapIterRep ( Map< key, value > &  st)

This allows a MapIter to be constructed from a Map.

When created the new MapIter maintains a reference to the original Map. If the Map to which this MapIter points is deleted, then the MapIter is marked as invalid.

template<class key, class value>
casa::MapIterRep< key, value >::MapIterRep ( Map< key, value > *  st)
template<class key, class value>
virtual casa::MapIterRep< key, value >::~MapIterRep ( ) [virtual]

   


Member Function Documentation

template<class key, class value>
virtual Bool casa::MapIterRep< key, value >::atEnd ( ) const [pure virtual]

Check to see if the iterator position is at the end or beginning of the Map.

Implemented in casa::OrderedMapIterRep< key, value >.

template<class key, class value>
virtual Bool casa::MapIterRep< key, value >::atStart ( ) const [pure virtual]
template<class key, class value>
void casa::MapIterRep< key, value >::clear ( )

Clear all of the mappings.

template<class key, class value>
virtual MapIterRep<key,value>* casa::MapIterRep< key, value >::Clone ( ) [pure virtual]

Duplicate a map iterator.

   

Implemented in casa::OrderedMapIterRep< key, value >.

template<class key, class value>
Map<key,value>& casa::MapIterRep< key, value >::container ( )
template<class key, class value>
const Map<key,value>& casa::MapIterRep< key, value >::container ( ) const
template<class key, class value>
const value& casa::MapIterRep< key, value >::defaultVal ( ) const

This returns the default value for the map that this iterator is tracking.

With a non-const iterator the default value can be changed.

template<class key, class value>
value& casa::MapIterRep< key, value >::defaultVal ( )
template<class key, class value>
value& casa::MapIterRep< key, value >::define ( const key &  ky,
const value val 
)

These functions allow for the definition and removal of key/value relations.

The "define(key &, value &)" function defines a key/value relation, and "remove(key &)" function removes a relation if it has been previously defined.

template<class key, class value>
virtual const key& casa::MapIterRep< key, value >::getKey ( ) const [pure virtual]

Get the key for the current position in the Map.

Implemented in casa::OrderedMapIterRep< key, value >.

template<class key, class value>
virtual value& casa::MapIterRep< key, value >::getVal ( ) [pure virtual]

Return the value at the current location of the map iterator.

Should throw an exception if the iterator is "past the end of the Map" or if the iterator is invalid.

Implemented in casa::OrderedMapIterRep< key, value >.

template<class key, class value>
virtual const value& casa::MapIterRep< key, value >::getVal ( ) const [pure virtual]
template<class key, class value>
const value* casa::MapIterRep< key, value >::isDefined ( const key &  ky) const

Allows one to check to see if a given key is defined in the map which this iterator tracks.

If this iterator is invalid, then an exception will be thrown. With a non-const iterator the returned pointer can be used to change the value in the map.

template<class key, class value>
value* casa::MapIterRep< key, value >::isDefined ( const key &  ky)
template<class key, class value>
virtual Bool casa::MapIterRep< key, value >::isValid ( ) const [pure virtual]

Check to see if the iterator is in a valid state.

Implemented in casa::OrderedMapIterRep< key, value >.

template<class key, class value>
uInt casa::MapIterRep< key, value >::ndefined ( ) const

Returns the number of user defined mappings.

template<class key, class value>
const value& casa::MapIterRep< key, value >::operator() ( const key &  ky) const

Allows mapping functions to be performed with the map on which this iterator operates.

If this iterator is invalid, then an exception will be thrown. With a non-const operator, the value can be changed.

template<class key, class value>
value& casa::MapIterRep< key, value >::operator() ( const key &  ky)
template<class key, class value>
virtual void casa::MapIterRep< key, value >::operator++ ( ) [pure virtual]

Advance to the next element of the Map.

Implemented in casa::OrderedMapIterRep< key, value >.

template<class key, class value>
virtual void casa::MapIterRep< key, value >::operator++ ( int  ) [pure virtual]
template<class key, class value>
void casa::MapIterRep< key, value >::remove ( const key &  ky)
template<class key, class value>
virtual void casa::MapIterRep< key, value >::toStart ( ) [pure virtual]

Move the iterator to the start of the Map.

Implemented in casa::OrderedMapIterRep< key, value >.


Member Data Documentation

template<class key, class value>
Map<key,value>* casa::MapIterRep< key, value >::Container [protected]

Definition at line 408 of file Map.h.


The documentation for this class was generated from the following file: