OPAL (Object Oriented Parallel Accelerator Library)  2021.1.99
OPAL
Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
ValueDefinition Class Reference

The base class for all OPAL value definitions. More...

#include <ValueDefinition.h>

Inheritance diagram for ValueDefinition:
Inheritance graph
[legend]
Collaboration diagram for ValueDefinition:
Collaboration graph
[legend]

Public Member Functions

virtual ~ValueDefinition ()
 
virtual const std::string getCategory () const
 Return the object category as a string. More...
 
virtual bool shouldTrace () const
 Trace flag. More...
 
virtual bool shouldUpdate () const
 Update flag. More...
 
virtual bool getBool () const
 Return logical value. More...
 
virtual bool getBoolComponent (int) const
 Return indexed logical value. More...
 
virtual double getReal () const
 Return real value. More...
 
virtual double getRealComponent (int) const
 Return indexed real value. More...
 
virtual std::string getString () const
 Return string value. More...
 
virtual std::string getStringComponent (int) const
 Return indexed string value. More...
 
Attributevalue ()
 Return the attribute representing the value of the definition. More...
 
const Attributevalue () const
 Return the attribute representing the value of the definition. More...
 
- Public Member Functions inherited from Object
virtual ~Object ()
 
virtual bool canReplaceBy (Object *object)
 Test if replacement is allowed. More...
 
virtual Objectclone (const std::string &name)=0
 Return a clone. More...
 
void copyAttributes (const Object &)
 Copy attributes from another object. More...
 
virtual void execute ()
 Execute the command. More...
 
virtual AttributefindAttribute (const std::string &name)
 Find an attribute by name. More...
 
virtual const AttributefindAttribute (const std::string &name) const
 Find an attribute by name. More...
 
virtual ObjectmakeTemplate (const std::string &, TokenStream &, Statement &)
 Macro handler function. More...
 
virtual ObjectmakeInstance (const std::string &name, Statement &, const Parser *)
 Macro handler function. More...
 
virtual void parse (Statement &)
 Parse the object. More...
 
virtual void parseShortcut (Statement &, bool eval=true)
 Parser for single-attribute commands. More...
 
virtual void print (std::ostream &) const
 Print the object. More...
 
virtual void printValue (std::ostream &) const
 
virtual void printHelp (std::ostream &) const
 Print help. More...
 
virtual void replace (Object *oldObject, Object *newObject)
 Replace references. More...
 
virtual void update ()
 Update this object. More...
 
bool isBuiltin () const
 True, if [b]this[/b] is a built-in object. More...
 
virtual bool isShared () const
 Shared flag. More...
 
virtual void setShared (bool)
 Set/reset shared flag. More...
 
void setDirty (bool)
 Set/reset the [b]modified[/b] flag. More...
 
bool isDirty () const
 True, if the [b]modified[/b] flag is set. More...
 
void setFlag (bool)
 Flag/unflag this object, e. g. to control output of objects for. More...
 
bool isFlagged () const
 True, if [b]this[/b] is flagged by setFlag(true). More...
 
const ObjectgetBaseObject () const
 Return the object's base type object. More...
 
const std::string & getOpalName () const
 Return object name. More...
 
ObjectgetParent () const
 Return parent pointer. More...
 
bool isTreeMember (const Object *subTree) const
 Test for tree membership. More...
 
void setOpalName (const std::string &name)
 Set object name. More...
 
void setParent (Object *)
 Set parent object. More...
 
void clear ()
 Clear the occurrence counter. More...
 
int increment ()
 Increment and return the occurrence counter. More...
 
int occurrenceCount ()
 Return the occurrence counter. More...
 
void registerReference (Invalidator *a)
 Register a reference to this object. More...
 
void unregisterReference (Invalidator *a)
 Unegister a reference to this object. More...
 
void registerOwnership (const AttributeHandler::OwnerType &itsClass) const
 
- Public Member Functions inherited from RCObject
int addReference () const
 Increment reference count. More...
 
int removeReference () const
 Decrement the reference count. More...
 
bool isShared () const
 Test for sharing. More...
 

Protected Member Functions

 ValueDefinition (int size, const char *name, const char *help)
 Constructor for exemplars. More...
 
 ValueDefinition (const std::string &name, ValueDefinition *parent)
 Constructor for clones. More...
 
- Protected Member Functions inherited from Object
 Object (int size, const char *name, const char *help)
 Constructor for exemplars. More...
 
 Object (const std::string &name, Object *parent)
 Constructor for clones. More...
 
- Protected Member Functions inherited from RCObject
 RCObject ()
 Default constructor. More...
 
 RCObject (const RCObject &)
 Copy constructor. More...
 
virtual ~RCObject ()=0
 
RCObjectoperator= (const RCObject &right)
 

Protected Attributes

const std::string itsPrefix
 The declaration prefix. More...
 
- Protected Attributes inherited from Object
bool builtin
 Built-in flag. More...
 
bool modified
 Dirty flag. More...
 
bool flagged
 Object flag. More...
 

Private Member Functions

 ValueDefinition ()
 
 ValueDefinition (const ValueDefinition &)
 
void operator= (const ValueDefinition &)
 

Additional Inherited Members

- Public Attributes inherited from Object
std::vector< AttributeitsAttr
 The object attributes. More...
 

Detailed Description

The base class for all OPAL value definitions.

Definition at line 31 of file ValueDefinition.h.

Constructor & Destructor Documentation

◆ ~ValueDefinition()

ValueDefinition::~ValueDefinition ( )
virtual

Definition at line 28 of file ValueDefinition.cpp.

◆ ValueDefinition() [1/4]

ValueDefinition::ValueDefinition ( int  size,
const char *  name,
const char *  help 
)
protected

Constructor for exemplars.

Definition at line 99 of file ValueDefinition.cpp.

◆ ValueDefinition() [2/4]

ValueDefinition::ValueDefinition ( const std::string &  name,
ValueDefinition parent 
)
protected

Constructor for clones.

Definition at line 105 of file ValueDefinition.cpp.

◆ ValueDefinition() [3/4]

ValueDefinition::ValueDefinition ( )
private

◆ ValueDefinition() [4/4]

ValueDefinition::ValueDefinition ( const ValueDefinition )
private

Member Function Documentation

◆ getBool()

bool ValueDefinition::getBool ( ) const
virtual

Return logical value.

Reimplemented in BoolConstant.

Definition at line 47 of file ValueDefinition.cpp.

References Object::getOpalName().

Here is the call graph for this function:

◆ getBoolComponent()

bool ValueDefinition::getBoolComponent ( int  ) const
virtual

Return indexed logical value.

Definition at line 54 of file ValueDefinition.cpp.

References Object::getOpalName().

Here is the call graph for this function:

◆ getCategory()

const std::string ValueDefinition::getCategory ( ) const
virtual

Return the object category as a string.

Implements Object.

Definition at line 32 of file ValueDefinition.cpp.

◆ getReal()

double ValueDefinition::getReal ( ) const
virtual

Return real value.

Reimplemented in RealVariable, and RealConstant.

Definition at line 61 of file ValueDefinition.cpp.

References Object::getOpalName().

Referenced by OpalData::getP0().

Here is the call graph for this function:

◆ getRealComponent()

double ValueDefinition::getRealComponent ( int  ) const
virtual

Return indexed real value.

Reimplemented in RealVector.

Definition at line 68 of file ValueDefinition.cpp.

References Object::getOpalName().

Here is the call graph for this function:

◆ getString()

std::string ValueDefinition::getString ( ) const
virtual

Return string value.

Reimplemented in StringConstant.

Definition at line 75 of file ValueDefinition.cpp.

References Object::getOpalName().

Here is the call graph for this function:

◆ getStringComponent()

std::string ValueDefinition::getStringComponent ( int  ) const
virtual

Return indexed string value.

Definition at line 82 of file ValueDefinition.cpp.

References Object::getOpalName().

Here is the call graph for this function:

◆ operator=()

void ValueDefinition::operator= ( const ValueDefinition )
private

◆ shouldTrace()

bool ValueDefinition::shouldTrace ( ) const
virtual

Trace flag.

Implements Object.

Definition at line 37 of file ValueDefinition.cpp.

◆ shouldUpdate()

bool ValueDefinition::shouldUpdate ( ) const
virtual

Update flag.

Implements Object.

Definition at line 42 of file ValueDefinition.cpp.

◆ value() [1/2]

Attribute & ValueDefinition::value ( )

Return the attribute representing the value of the definition.

Definition at line 89 of file ValueDefinition.cpp.

References Object::itsAttr.

Referenced by RealConstant::RealConstant(), RealVariable::RealVariable(), and StringConstant::StringConstant().

◆ value() [2/2]

const Attribute & ValueDefinition::value ( ) const

Return the attribute representing the value of the definition.

Definition at line 94 of file ValueDefinition.cpp.

References Object::itsAttr.

Member Data Documentation

◆ itsPrefix

const std::string ValueDefinition::itsPrefix
protected

The declaration prefix.

Definition at line 95 of file ValueDefinition.h.


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