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

Abstract base class for associative arrays. More...

#include <Map.h>

Inheritance diagram for casa::Map< key, value >:
casa::OrderedMap< key, value >

List of all members.

Public Types

enum  { MapVersion }

Public Member Functions

valueoperator() (const key &ky)
 This is the mapping function which maps keys to values.
const valueoperator() (const key &ky) const
valuedefaultVal ()
 Returns the default value for the Map.
const valuedefaultVal () const
const valueisDefined (const key &k) const
 Returns a non-zero value if a mapping is defined for the key parameter.
valueisDefined (const key &k)
uInt ndefined () const
 Returns the number of user defined mappings.
valuedefine (const key &k, const value &v)
 These functions allow for the definition and removal of key/value relations.
void remove (const key &k)
void clear ()
 Clear all of the mappings.
MapIterRep< key, value > * getRep () const
 Returns the iterator rep appropriate for this particular Map.
 Map (const Map< key, value > &m)
 This copy constructor will, for the moment, be the only way to create a map.
 Map (const Map< key, value > *m)
Map< key, value > & operator= (const Map< key, value > &)
 
   

Map< key, value > & operator= (const Map< key, value > *)
virtual ~Map ()
ConstMapIter< key, value > * getIter () const

Protected Member Functions

 Map (MapRep< key, value > *nRep)
 Used by derived classes.
void SetRep (MapRep< key, value > *st)
 Used the set the representation.

Protected Attributes

MapRep< key, value > * Rep

Detailed Description

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

Abstract base class for associative arrays.

Review Status

Reviewed By:
UNKNOWN
Date Reviewed:
before2004/08/25
 This is the abstract class for all "Map" classes which implement the
 equivalent of an associative array.

Definition at line 152 of file Map.h.


Member Enumeration Documentation

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

Definition at line 235 of file Map.h.


Constructor & Destructor Documentation

template<class key, class value>
casa::Map< key, value >::Map ( const Map< key, value > &  m)

This copy constructor will, for the moment, be the only way to create a map.

template<class key, class value>
casa::Map< key, value >::Map ( const Map< key, value > *  m)
template<class key, class value>
virtual casa::Map< key, value >::~Map ( ) [virtual]
template<class key, class value>
casa::Map< key, value >::Map ( MapRep< key, value > *  nRep) [protected]

Used by derived classes.


Member Function Documentation

template<class key, class value>
void casa::Map< key, value >::clear ( )

Clear all of the mappings.

Referenced by casa::MSPolnParse::reset().

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

Returns the default value for the Map.

template<class key, class value>
const value& casa::Map< key, value >::defaultVal ( ) const
template<class key, class value>
value& casa::Map< key, value >::define ( const key &  k,
const value v 
)

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

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

template<class key, class value>
ConstMapIter<key,value>* casa::Map< key, value >::getIter ( ) const
template<class key, class value>
MapIterRep<key,value>* casa::Map< key, value >::getRep ( ) const

Returns the iterator rep appropriate for this particular Map.

template<class key, class value>
const value* casa::Map< key, value >::isDefined ( const key &  k) const

Returns a non-zero value if a mapping is defined for the key parameter.

Referenced by casa::EclecticFunctionFactory< T >::isDefined().

template<class key, class value>
value* casa::Map< key, value >::isDefined ( const key &  k)
template<class key, class value>
uInt casa::Map< key, value >::ndefined ( ) const

Returns the number of user defined mappings.

Referenced by casa::EclecticFunctionFactory< T >::ndefined().

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

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()()".


Note: With a constant map in the case where the key is not defined, the mapping between key and default value is not created, but rather an exception is thrown;

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

   

template<class key, class value>
Map<key,value>& casa::Map< key, value >::operator= ( const Map< key, value > *  )
template<class key, class value>
void casa::Map< key, value >::remove ( const key &  k)
template<class key, class value>
void casa::Map< key, value >::SetRep ( MapRep< key, value > *  st) [inline, protected]

Used the set the representation.

Always DELETES Rep if necessary.

Definition at line 254 of file Map.h.

Referenced by casa::OrderedMap< Int, Algorithm * >::operator=().


Member Data Documentation

template<class key, class value>
MapRep<key,value>* casa::Map< key, value >::Rep [protected]

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