faudes::AttributeCFlags Class Reference

#include <cgenerator.h>

Inheritance diagram for faudes::AttributeCFlags:

faudes::AttributeFlags faudes::AttributeVoid faudes::SimEventAttribute List of all members.

Detailed Description

Attribute class to model event controllability properties.

This attribute is meant to be an event attribute and can distinguish between controllable, observable and forcible events. It is based on faudes::AttributeFlags and uses the lower three 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 and f, where initials are capitatised for set flags and default values are not writtem; eg +C+ for a controllable event tzhat is observable (default) and not forcible (default). If other than the three controllability bits are used, std. hex format is used.

Definition at line 51 of file cgenerator.h.

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

Protected Member Functions

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.

Static Private Attributes

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


Constructor & Destructor Documentation

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

Default constructor.

Definition at line 56 of file cgenerator.h.

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

Destructor.

Definition at line 59 of file cgenerator.h.


Member Function Documentation

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

Clear controllable flag.

Definition at line 71 of file cgenerator.h.

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

Clear forcible flag.

Definition at line 109 of file cgenerator.h.

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

Clear observable flag.

Definition at line 90 of file cgenerator.h.

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

Query controllablility.

Definition at line 77 of file cgenerator.h.

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 72 of file 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 42 of file cgenerator.cpp.

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

Query forcibility.

Definition at line 115 of file cgenerator.h.

bool faudes::AttributeCFlags::IsDefault void   )  const [inline]
 

Test for default value.

Reimplemented from faudes::AttributeFlags.

Reimplemented in faudes::SimEventAttribute.

Definition at line 121 of file cgenerator.h.

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

Query observablility.

Definition at line 96 of file cgenerator.h.

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

Set controllable flag.

Definition at line 65 of file cgenerator.h.

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

Set forcible flag.

Definition at line 103 of file cgenerator.h.

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

Set observable flag.

Definition at line 84 of file cgenerator.h.


Member Data Documentation

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

All flags used by CFlags.

Definition at line 133 of file cgenerator.h.

const fType faudes::AttributeCFlags::mControllableFlag = 0x01 [static]
 

Definition at line 124 of file cgenerator.h.

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

Overall default value.

Definition at line 130 of file cgenerator.h.

const fType faudes::AttributeCFlags::mForcibleFlag = 0x04 [static]
 

Definition at line 126 of file cgenerator.h.

const fType faudes::AttributeCFlags::mObservableFlag = 0x02 [static]
 

Definition at line 125 of file cgenerator.h.


The documentation for this class was generated from the following files:
Generated on Mon Nov 10 08:13:17 2008 for libFAUDES 2.11v by  doxygen 1.4.4