Main Page   Class Hierarchy   Compound List   Compound Members  

SCOREC_Attribute::AttributeManager Class Reference

#include <AttributeManager.h>

List of all members.

Public Types

typedef std::pair<std::string,
std::string> 
ModelNameAttName
 The key for each attribute is given by the model entity tag, its dimension (vertex=0, edge=1, face=2, region=3), the model name and the name of the attribute.

typedef std::pair<int,int> TagDimension
typedef std::pair<TagDimension,
ModelNameAttName
AttributeKey
typedef std::multimap<const
AttributeKey,AttributeBase*>::const_iterator 
AttributeConstIter
typedef std::multimap<const
AttributeKey,AttributeBase*>::iterator 
AttributeIter

Public Methods

void insert (int tag, int dim, const std::string &modelName, AttributeBase *)
 Insert the Attribute associated with the given entity into the AttributeManager.

void Import (AttributeFactory &,std::istream &)
void Export (std::ostream &)
void DumpDiagnostics () const
 DumpDiagnostics() dumps the object's state to standard output.


Static Public Methods

AttributeManager* Instance ()
 clients access the Logfile exclusively through this member function. Use as: AttributeManager *AttributeManager = AttributeManager::Instance();.


Protected Methods

 AttributeManager ()
 Constructor.

virtual ~AttributeManager ()


Detailed Description

AttributeManager: Class that acts as a container for attributes associated with a model entity of a given model. A key is computed from the model, model entity and the attribute name. Multiple attributes with the same key are allowed (e.g. two different loads with different values on the same model entity). The attribute manager allows attributes to be grouped together. Two different grouping mechanism exist. A Case and a Group. A Case is a group of attributes that form a complete set of information which can be used for an analysis (that is the idea, of course the Attribute Manager has no way of checking that). A group is simply a set of attributes that can be referred to as a whole by using the group name. To set the Attribute Manager into a mode that operates with respect to a case or group (i.e. all inserts or iteration are done with respect to the selected group or case) the objects AttributeGroup or AttributeCase have to be created. If those objects go out of scope their destructor will reset the Attribute Manager to default Case and default Group. This design was chosen to prevent side effects as the Attribute Manager is a global object whose state could be permanently changed by another piece of the code somewhere. By introducing local objects that clean up after they go out of scope and throw an exception if there is already another object in scope things are more stable.


The documentation for this class was generated from the following files:
Generated at Mon Jul 23 10:23:25 2001 for SCOREC_UnitSystem by doxygen1.2.8.1 written by Dimitri van Heesch, © 1997-2001