libFAUDES

Sections

Index

faudes::AttributeVoid Class Reference

#include <attributes.h>

Inherits faudes::Type.

Inherited by faudes::AttributeFlags, faudes::AttributeTimedGlobal, and faudes::SimConditionAttribute.

List of all members.


Detailed Description

Minimal Attribute.

Attributes are used as template parameters for faudes containers and generators and facilitate the modelling of customized properties of events, states and transitions. The AttributeVoid class defines the minimal interface of faudes attributes and therefore is the designated base class for all attribute implementations. The AttributeVoid class does not define any actual properties. See AttributeFlags for a non-trivial example.

To derive a class from AttributeVoid you should reimplement the virtual interface

  • DoRead and DoWrtie for token io
  • the factory method New() (as in faudes::Type)
  • both virtual and non-virtual Copy() methods.

Public Member Functions

virtual AttributeVoidNew (void) const
 Construct on heap.
virtual const AttributeVoidCast (const Type *pOther) const
 Cast other object to this type.
 AttributeVoid (void)
 Constructor.
virtual ~AttributeVoid (void)
 Destructor.
virtual void Copy (AttributeVoid &rOtherAttr) const
 Copy attribute.
virtual bool IsDefault (void) const
 Test for default value.
virtual void SetDefault (void)
 Set to default value.
virtual void Clear (void)
 Synonym for SetDefault to match std interface.

Static Public Member Functions

static void Skip (TokenReader &rTr)
 Skip attribute tokens.

Protected Member Functions

virtual void DoRead (TokenReader &rTr, const std::string &rLabel="", const Type *pContext=0)
 Actual read method to read attribute from tokenreader.
virtual void DoWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 Actual write method to write the attribute to a TokenWriter.

Constructor & Destructor Documentation

faudes::AttributeVoid::AttributeVoid ( void   )  [inline]

Constructor.

virtual faudes::AttributeVoid::~AttributeVoid ( void   )  [inline, virtual]

Destructor.


Member Function Documentation

AttributeVoid * faudes::AttributeVoid::New ( void   )  const [virtual]

Construct on heap.

Technically not a constructor, this function creates an object with the same type Type. New() is defined as a virtual function and derived classes are meant to re-implement with the appropiate constructor. This can be done via the provided macros FAUDES_TYPE_DECLARATION and FAUDES_TYPE_IMPLEMENTATION. As with new, it is the callers reponsabilty to delete the object when no longer needed.

Returns:
Pointer to new Type object

Reimplemented from faudes::Type.

Reimplemented in faudes::AttributeFlags, faudes::AttributeCFlags, faudes::HioEventFlags, faudes::HioStateFlags, faudes::AttributeColoredState, faudes::AttributeTimedTrans, faudes::AttributeTimedState, faudes::AttributeTimedGlobal, faudes::SimConditionAttribute, and faudes::SimEventAttribute.

const AttributeVoid * faudes::AttributeVoid::Cast ( const Type pOther  )  const [virtual]

Cast other object to this type.

Enables the run-time interface to test whether pObject is derived from this object. This feature is used e.g. in the faudes container classes to test attributes. Derived classes must reimplement this function using the appropriate dynamic cast.

Returns:
Typed pointer object

Reimplemented from faudes::Type.

Reimplemented in faudes::AttributeFlags, and faudes::AttributeCFlags.

virtual void faudes::AttributeVoid::Copy ( AttributeVoid rOtherAttr  )  const [inline, virtual]

Copy attribute.

Virtual interface to copy members.

Parameters:
rOtherAttr Destination to copy to

Reimplemented in faudes::AttributeFlags, and faudes::AttributeColoredState.

virtual void faudes::AttributeVoid::SetDefault ( void   )  [inline, virtual]

Set to default value.

Derived classes must reimplement this function for Clear to operate properly.

virtual void faudes::AttributeVoid::Clear ( void   )  [inline, virtual]

Synonym for SetDefault to match std interface.

Reimplemented from faudes::Type.

void faudes::AttributeVoid::Skip ( TokenReader rTr  )  [static]

Skip attribute tokens.

Helper method to be called after all sttribute derived classes had their chance to read their data. It skips all tokens and sections until it reaches a String or decimal Integer.

Parameters:
rTr TokenReader to read from
Exceptions:
Exception 
  • IO error (id 1)

void faudes::AttributeVoid::DoRead ( TokenReader rTr,
const std::string &  rLabel = "",
const Type pContext = 0 
) [protected, virtual]

Actual read method to read attribute from tokenreader.

For derived attributue classes, this method must either read all tokens that belong to the respective attribute, or none. It may throw exceptions on token mismatch within the relevant attribute, but it may not throw exceptions when it encounters tokens that possibly belong to another attribute. The latter are to be skipped by the provided Skip method. See Type::Read for public wrappers.

Parameters:
rTr TokenReader to read from
rLabel Section to read
pContext Read context to provide contextual information
Exceptions:
Exception 
  • IO error (id 1)

Reimplemented from faudes::Type.

Reimplemented in faudes::AttributeFlags, faudes::AttributeCFlags, faudes::HioEventFlags, faudes::HioStateFlags, faudes::AttributeColoredState, faudes::AttributeTimedTrans, faudes::AttributeTimedState, faudes::AttributeTimedGlobal, faudes::SimConditionAttribute, and faudes::SimEventAttribute.

void faudes::AttributeVoid::DoWrite ( TokenWriter rTw,
const std::string &  rLabel = "",
const Type pContext = 0 
) const [protected, virtual]

Actual write method to write the attribute to a TokenWriter.

Reimplement this method for derived attribute classes to define the token io format. See Type::Write for public wrappers.

Parameters:
rTw Reference to TokenWriter
rLabel Label of section to write
pContext Write context to provide contextual information
Exceptions:
Exception 
  • IO errors (id 2)

Reimplemented from faudes::Type.

Reimplemented in faudes::AttributeFlags, faudes::AttributeCFlags, faudes::HioEventFlags, faudes::HioStateFlags, faudes::AttributeColoredState, faudes::AttributeTimedTrans, faudes::AttributeTimedState, faudes::AttributeTimedGlobal, faudes::SimConditionAttribute, and faudes::SimEventAttribute.


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

libFAUDES 2.13a c++ source docu by doxygen 1.5.6