faudes::AttributeCFlags Class Reference

Attribute class to model event controllability properties. More...

#include <cfl_cgenerator.h>

List of all members.

Public Member Functions

 AttributeCFlags (void)
 Default constructor.
virtual ~AttributeCFlags (void)
 Destructor.
void SetControllable (void)
 Set controllable flag.
void ClrControllable (void)
 Clear controllable flag.
bool Controllable (void) const
 Query controllablility.
void SetObservable (void)
 Set observable flag.
void ClrObservable (void)
 Clear observable flag.
bool Observable (void) const
 Query observablility.
void SetForcible (void)
 Set forcible flag.
void ClrForcible (void)
 Clear forcible flag.
bool Forcible (void) const
 Query forcibility.
void SetHighlevel (void)
 Set abstraction flag.
void SetLowlevel (void)
 Clear abstraction flag.
bool Highlevel (void) const
 Query abstaction flag.
bool Lowlevel (void) const
 Query abstaction flag.
virtual bool IsDefault (void) const
 Test for default value.

Static Public Attributes

static const fType mControllableFlag = 0x01
static const fType mObservableFlag = 0x02
static const fType mForcibleFlag = 0x04
static const fType mAbstractionFlag = 0x08

Protected Member Functions

void DoAssign (const AttributeCFlags &rSrcAttr)
 Assignment method.
virtual bool DoEqual (const AttributeCFlags &rOther) const
 Test equality of configuration data.
virtual void DoRead (TokenReader &rTr, const std::string &rLabel="", const Type *pContext=0)
 Reads attribute from TokenReader, see AttributeVoid for public wrappers.
virtual void DoWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 Writes attribute to TokenWriter, see AttributeVoid for public wrappers.
virtual void DoXWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 Writes attribute to TokenWriter (XML format), see AttributeVoid for public wrappers.

Static Private Attributes

static const fType mDefCFlags = 0x0a
 Overall default value.
static const fType mAllCFlags = 0x0f
 All flags used by CFlags.

Detailed Description

Attribute class to model event controllability properties.

This attribute is meant to be an event attribute and can distinguish between controllable, observable, forcible and abstraction events. It is based on faudes::AttributeFlags and uses the lower four bits in the flag word to store the respective boolean values. The AttributeCFlags class adds convenience functions to access these bits and a default-value that corresponds to observable and neiter controllable nor forcible.

Presuming that only controllability flags are uses (different from default), the token representation is by an Option String consisting of the initials c,o,f and a, where initials are capitatised for set flags and default values are not written; eg +C+ for a controllable event that is observable (default), not forcible (default) and an abstraction event (default). If other than the four controllability bits are used, std. hex format is used.

Definition at line 56 of file cfl_cgenerator.h.


Constructor & Destructor Documentation

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

Default constructor.

Definition at line 64 of file cfl_cgenerator.h.

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

Destructor.

Definition at line 67 of file cfl_cgenerator.h.


Member Function Documentation

void faudes::AttributeCFlags::ClrControllable ( void   )  [inline]

Clear controllable flag.

Definition at line 78 of file cfl_cgenerator.h.

void faudes::AttributeCFlags::ClrForcible ( void   )  [inline]

Clear forcible flag.

Definition at line 111 of file cfl_cgenerator.h.

void faudes::AttributeCFlags::ClrObservable ( void   )  [inline]

Clear observable flag.

Definition at line 94 of file cfl_cgenerator.h.

bool faudes::AttributeCFlags::Controllable ( void   )  const [inline]

Query controllablility.

Definition at line 83 of file cfl_cgenerator.h.

void faudes::AttributeCFlags::DoAssign ( const AttributeCFlags rSrcAttr  )  [protected]

Assignment method.

Parameters:
rSrcAttr Source to assign from

Definition at line 42 of file cfl_cgenerator.cpp.

bool faudes::AttributeCFlags::DoEqual ( const AttributeCFlags rOther  )  const [protected, virtual]

Test equality of configuration data.

Parameters:
rOther Other attribute to compare with.
Returns:
True on match.

Definition at line 48 of file cfl_cgenerator.cpp.

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

Reads attribute from TokenReader, see AttributeVoid for public wrappers.

Reads a single token if it can be interpreted as AttributeCFlag, that is, if it is a respective option string or hex number. Label and Context argument are ignored. No token mismatch exceptions are thrown on error.

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::AttributeFlags.

Reimplemented in faudes::SimEventAttribute.

Definition at line 130 of file cfl_cgenerator.cpp.

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

Writes attribute to TokenWriter, see AttributeVoid for public wrappers.

Label and Context argument are ignored.

Parameters:
rTw TokenWriter to write to
rLabel Section to write
pContext Write context to provide contextual information
Exceptions:
Exception 
  • IO error (id 2)

Reimplemented from faudes::AttributeFlags.

Reimplemented in faudes::SimEventAttribute.

Definition at line 59 of file cfl_cgenerator.cpp.

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

Writes attribute to TokenWriter (XML format), see AttributeVoid for public wrappers.

Label and Context argument are ignored.

Parameters:
rTw TokenWriter to write to
rLabel Section to write
pContext Write context to provide contextual information
Exceptions:
Exception 
  • IO error (id 2)

Reimplemented from faudes::AttributeFlags.

Definition at line 96 of file cfl_cgenerator.cpp.

bool faudes::AttributeCFlags::Forcible ( void   )  const [inline]

Query forcibility.

Definition at line 116 of file cfl_cgenerator.h.

bool faudes::AttributeCFlags::Highlevel ( void   )  const [inline]

Query abstaction flag.

Definition at line 132 of file cfl_cgenerator.h.

virtual bool faudes::AttributeCFlags::IsDefault ( void   )  const [inline, virtual]

Test for default value.

Reimplemented from faudes::AttributeFlags.

Reimplemented in faudes::SimEventAttribute.

Definition at line 143 of file cfl_cgenerator.h.

bool faudes::AttributeCFlags::Lowlevel ( void   )  const [inline]

Query abstaction flag.

Definition at line 137 of file cfl_cgenerator.h.

bool faudes::AttributeCFlags::Observable ( void   )  const [inline]

Query observablility.

Definition at line 99 of file cfl_cgenerator.h.

void faudes::AttributeCFlags::SetControllable ( void   )  [inline]

Set controllable flag.

Definition at line 72 of file cfl_cgenerator.h.

void faudes::AttributeCFlags::SetForcible ( void   )  [inline]

Set forcible flag.

Definition at line 105 of file cfl_cgenerator.h.

void faudes::AttributeCFlags::SetHighlevel ( void   )  [inline]

Set abstraction flag.

Definition at line 122 of file cfl_cgenerator.h.

void faudes::AttributeCFlags::SetLowlevel ( void   )  [inline]

Clear abstraction flag.

Definition at line 127 of file cfl_cgenerator.h.

void faudes::AttributeCFlags::SetObservable ( void   )  [inline]

Set observable flag.

Definition at line 89 of file cfl_cgenerator.h.


Member Data Documentation

Definition at line 149 of file cfl_cgenerator.h.

const fType faudes::AttributeCFlags::mAllCFlags = 0x0f [static, private]

All flags used by CFlags.

Definition at line 156 of file cfl_cgenerator.h.

Definition at line 146 of file cfl_cgenerator.h.

const fType faudes::AttributeCFlags::mDefCFlags = 0x0a [static, private]

Overall default value.

Definition at line 153 of file cfl_cgenerator.h.

Definition at line 148 of file cfl_cgenerator.h.

Definition at line 147 of file cfl_cgenerator.h.


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

libFAUDES 2.23h --- 2014.04.03 --- c++ api documentaion by doxygen