OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
SequenceTemplate Class Reference

An ``archetype'' for a SEQUENCE with arguments. More...

#include <SequenceTemplate.h>

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

Public Member Functions

 SequenceTemplate ()
 
virtual ~SequenceTemplate ()
 
virtual SequenceTemplateclone (const std::string &name)
 Make clone. More...
 
virtual ObjectmakeInstance (const std::string &name, Statement &, const Parser *)
 Make line instance. More...
 
virtual ObjectmakeTemplate (const std::string &name, TokenStream &, Statement &)
 Make a sequence template. More...
 
void parseTemplate (TokenStream &, Statement &)
 Parse the sequence template. More...
 
- Public Member Functions inherited from Macro
 Macro (int size, const char *name, const char *help)
 Exemplar constructor. More...
 
 Macro (const std::string &name, Object *parent)
 Clone constructor. More...
 
virtual ~Macro ()
 
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 void parseActuals (Statement &)
 Parse actual arguments. More...
 
virtual void parseFormals (Statement &)
 Parse formal arguments. More...
 
- Public Member Functions inherited from Object
virtual ~Object ()
 
virtual bool canReplaceBy (Object *object)
 Test if replacement is allowed. 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 void parse (Statement &)
 Parse the object. More...
 
virtual void parseShortcut (Statement &)
 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...
 

Private Member Functions

 SequenceTemplate (const SequenceTemplate &)
 
void operator= (const SequenceTemplate &)
 
 SequenceTemplate (const std::string &name, Object *parent)
 

Private Attributes

MacroStream body
 

Friends

class Sequence
 

Additional Inherited Members

- Public Attributes inherited from Object
std::vector< AttributeitsAttr
 The object attributes (see Attribute.hh). 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 inherited from Macro
std::vector< std::string > formals
 The formal argument list. More...
 
std::vector< std::vector< Token > > actuals
 The actual argument list. More...
 
- Protected Attributes inherited from Object
bool builtin
 Built-in flag. More...
 
bool modified
 Dirty flag. More...
 
bool flagged
 Object flag. More...
 

Detailed Description

An ``archetype'' for a SEQUENCE with arguments.

Definition at line 38 of file SequenceTemplate.h.

Constructor & Destructor Documentation

SequenceTemplate::SequenceTemplate ( )

Definition at line 33 of file SequenceTemplate.cpp.

SequenceTemplate::~SequenceTemplate ( )
virtual

Definition at line 46 of file SequenceTemplate.cpp.

SequenceTemplate::SequenceTemplate ( const SequenceTemplate )
private
SequenceTemplate::SequenceTemplate ( const std::string &  name,
Object parent 
)
private

Definition at line 41 of file SequenceTemplate.cpp.

Member Function Documentation

SequenceTemplate * SequenceTemplate::clone ( const std::string &  name)
virtual

Make clone.

Reimplemented from Macro.

Definition at line 50 of file SequenceTemplate.cpp.

Object * SequenceTemplate::makeInstance ( const std::string &  name,
Statement statement,
const Parser  
)
virtual

Make line instance.

Reimplemented from Object.

Definition at line 57 of file SequenceTemplate.cpp.

References MacroStream::append(), Sequence::clone(), Object::copyAttributes(), OpalData::find(), OpalData::getInstance(), Token::getWord(), Token::isEOF(), Token::isWord(), OpalParser::run(), and MacroStream::start().

Here is the call graph for this function:

Object * SequenceTemplate::makeTemplate ( const std::string &  name,
TokenStream ,
Statement  
)
virtual

Make a sequence template.

Reimplemented from Object.

Definition at line 111 of file SequenceTemplate.cpp.

void SequenceTemplate::operator= ( const SequenceTemplate )
private
void SequenceTemplate::parseTemplate ( TokenStream is,
Statement statement 
)

Parse the sequence template.

Definition at line 117 of file SequenceTemplate.cpp.

References MacroStream::append(), body, Token::isDel(), Token::isEOF(), Token::isKey(), Statement::keyword(), Object::parse(), Macro::parseFormals(), and TokenStream::readToken().

Referenced by Sequence::makeTemplate().

Here is the call graph for this function:

Friends And Related Function Documentation

friend class Sequence
friend

Definition at line 40 of file SequenceTemplate.h.

Member Data Documentation

MacroStream SequenceTemplate::body
private

Definition at line 74 of file SequenceTemplate.h.

Referenced by parseTemplate().


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