faudes::TTransSet< Cmp > Class Template Reference
|
Public Types | |
typedef TBaseSet< Transition, Cmp >::Iterator | Iterator |
Iterator on transition. | |
Public Member Functions | |
Constructors & Destructor | |
TTransSet (void) | |
Construct an empty TTransSet object. | |
TTransSet (const TBaseSet< Transition, Cmp > &rOtherSet) | |
Copy-constructor. | |
template<class OtherCmp > | |
TTransSet (const TTransSet< OtherCmp > &res) | |
Re-Sort Copy-constructor. | |
virtual | ~TTransSet () |
Virtual destructor. | |
Accessing individual transitions | |
bool | Insert (const Transition &rTransition) |
Add a Transition. | |
bool | Insert (Idx x1, Idx ev, Idx x2) |
Add a Transition by indices. | |
Iterator | Inject (const Iterator &pos, const Transition &rTransition) |
Add a Transition. | |
void | Inject (const Transition &rTransition) |
Add a Transition. | |
bool | Erase (const Transition &t) |
Remove a Transition. | |
bool | Erase (Idx x1, Idx ev, Idx x2) |
Remove a Transition by x1, ev, x2. | |
Iterator | Erase (const Iterator &it) |
Remove a Transition by iterator. | |
void | EraseByX1 (Idx x1) |
Remove all transitions containing predecessor state x1. | |
void | EraseByX1Ev (Idx x1, Idx ev) |
Remove all transitions containing predecessor state x1 and event ev. | |
void | EraseByX2 (Idx x2) |
Remove all transitions containing successor state x2. | |
void | EraseByEv (Idx ev) |
Remove all transitions containing event ev. | |
void | EraseByX1OrX2 (Idx x) |
Remove all transitions containing state x, This function iterates over all transitions to work with any sorting. | |
void | EraseByX1OrX2 (const StateSet &rStates) |
Remove all transitions containing a specified state. | |
void | RestrictStates (const StateSet &rStateSet) |
Restrict to transitions with states as specified. | |
void | RestrictEvents (const EventSet &rEventSet) |
Restrict to transitions with events as specified. | |
Iterator | Find (Idx x1, Idx ev, Idx x2) const |
Find transition given by x1, ev, x2. | |
Iterator | Find (const Transition &t) const |
Find specified transition. | |
bool | Exists (const Transition &t) const |
Test existence. | |
bool | Exists (Idx x1, Idx ev, Idx x2) const |
Test existence. | |
bool | ExistsByX1Ev (Idx x1, Idx ev) const |
Test existence. | |
bool | ExistsByX1 (Idx x1) const |
Test existence. | |
bool | ExistsByX1OrX2 (Idx x) const |
Tests if a transition with specified predecessor or successor state exists. | |
Transition iterators | |
A variaty of iterators are provided to examine specified segments of the transition relation, e.g. all transitions starting from a given state. Note that implemetation of these iterators requires the transition set to be of sorted accordingly. Eg. scanning all transitions that are labled with a particular event requires a sorting TransSOrt::EvX1X2 orT ransSOrt::EvX2X1. | |
Iterator | Begin (void) const |
Iterator to begin of set. | |
Iterator | End (void) const |
Iterator to end of set. | |
Iterator | Begin (Idx x1) const |
Iterator to first Transition specified by current state. | |
Iterator | End (Idx x1) const |
Iterator to end or Transitions with specified current state. | |
Iterator | Begin (Idx x1, Idx ev) const |
Iterator to first Transitions specified by current state and event. | |
Iterator | End (Idx x1, Idx ev) const |
Iterator to first Transition after spcified current state and event. | |
Iterator | BeginByEv (Idx ev) const |
Iterator to first Transition specified by event. | |
Iterator | EndByEv (Idx ev) const |
Iterator to first Transition after specified by event. | |
Iterator | BeginByEvX1 (Idx ev, Idx x1) const |
Iterator to first Transition specified by event and current state. | |
Iterator | EndByEvX1 (Idx ev, Idx x1) const |
Iterator to first Transition after specified ev and current state. | |
Iterator | BeginByEvX2 (Idx ev, Idx x2) const |
Iterator to first Transition specified by event and next state. | |
Iterator | EndByEvX2 (Idx ev, Idx x2) const |
Iterator to first Transition after specified event and next state. | |
Iterator | BeginByX2 (Idx x2) const |
Iterator to first Transition specified by successor state x2. | |
Iterator | EndByX2 (Idx x2) const |
Iterator to first Transition after specified successor state x2. | |
Iterator | BeginByX2Ev (Idx x2, Idx ev) const |
Iterator to first Transition specified by successor x2 and ev. | |
Iterator | EndByX2Ev (Idx x2, Idx ev) const |
Iterator to first Transition after specified successor x2 and ev. | |
Misc | |
template<class OtherCmp > | |
void | ReSort (TTransSet< OtherCmp > &res) const |
Get copy of trantision relation sorted by other compare operator, e.g. | |
StateSet | States (void) const |
Get state set covered by transition set. | |
StateSet | SuccessorStates (Idx x1) const |
Get set of successor states for specified current state. | |
StateSet | SuccessorStates (const StateSet &rX1Set) const |
Get set of successor states for specified current states. | |
StateSet | SuccessorStates (Idx x1, Idx ev) const |
Get set of successor states for specified current state and event. | |
StateSet | SuccessorStates (const StateSet &rX1Set, const EventSet &rEvSet) const |
Get set of successor states for specified current states and events. | |
EventSet | ActiveEvents (Idx x1, SymbolTable *pSymTab=NULL) const |
Get set of events that are active for a specified current state Since a transition set does not refer to a SymbolTable, this function returns a set of plain indices. | |
std::string | Str (const Transition &rTrans) const |
Return pretty printable string representation. | |
Protected Member Functions | |
virtual void | DoAssign (const TTransSet &rSource) |
Assign my members. | |
virtual void | DoWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const |
Write to TokenWriter, see Type::Write for public wrappers. |
Set of Transitions.
This container class provides similar functionality and interface as BaseSet, but for Transitions rather than indices. The additional feature is a template parameter that allows to specify alternative sorting. For algorithms that examine a transition relation by e.g. the successor state X2, it may be worthwhile to copy a given TTransRel<TransSort::X1EvX2> to a TTransRel<TransSort::X2EvX1>. Example, assuming some transition relation is given in default order
TransSet transrel; // transrel default order X1-Ev-X2 // ... some operation to set up transrel TTransSet<TransSort::X2EvX1> transByX2; // alternative order X2-Ev-X1 transrel.ReSort(transByX2); // copy and re-order transrel Iterator tit =transByX2.BeginByX2(x2) // begin iterator, X2 specified Iterator tit_end=transByX2.EndByX2(x2) // end iterator, X2 specified for(; tit!=tit_end; ++tit) { // loop over all transitions with specified x2 // ... code to examine tramsitions with specified x2 }
Note: it is the context of a Generator that actually allows to interpret a TTransSet as a set of transitions as opposed to a set of triples of indices. In particular, file IO of transitions is provided by the generator class (although TTransSet provides basic output functions for debugging)
Definition at line 235 of file cfl_transset.h.
typedef TBaseSet<Transition, Cmp>::Iterator faudes::TTransSet< Cmp >::Iterator |
Iterator on transition.
Reimplemented in faudes::TaTransSet< Attr >.
Definition at line 260 of file cfl_transset.h.
faudes::TTransSet< Cmp >::TTransSet | ( | void | ) | [inline] |
faudes::TTransSet< Cmp >::TTransSet | ( | const TBaseSet< Transition, Cmp > & | rOtherSet | ) | [inline] |
Copy-constructor.
Definition at line 1238 of file cfl_transset.h.
faudes::TTransSet< Cmp >::TTransSet | ( | const TTransSet< OtherCmp > & | res | ) | [inline] |
Re-Sort Copy-constructor.
Definition at line 1247 of file cfl_transset.h.
virtual faudes::TTransSet< Cmp >::~TTransSet | ( | ) | [inline, virtual] |
Virtual destructor.
Definition at line 260 of file cfl_transset.h.
EventSet faudes::TTransSet< Cmp >::ActiveEvents | ( | Idx | x1, | |
SymbolTable * | pSymTab = NULL | |||
) | const [inline] |
Get set of events that are active for a specified current state Since a transition set does not refer to a SymbolTable, this function returns a set of plain indices.
In order to interpret the set as an EventSet, the relevant SymbolTable must be supplied as second argument. If obmitting the second argument, the defult SymbolTable is used.
x1 | Current state | |
pSymTab | SymbolTable to refer to |
Definition at line 1789 of file cfl_transset.h.
TTransSet< Cmp >::Iterator faudes::TTransSet< Cmp >::Begin | ( | Idx | x1, | |
Idx | ev | |||
) | const [inline] |
Iterator to first Transitions specified by current state and event.
x1 | Predecessor state index | |
ev | Event index |
Exception |
|
Definition at line 1301 of file cfl_transset.h.
TTransSet< Cmp >::Iterator faudes::TTransSet< Cmp >::Begin | ( | Idx | x1 | ) | const [inline] |
Iterator to first Transition specified by current state.
x1 | Predecessor state index |
Exception |
|
Definition at line 1279 of file cfl_transset.h.
TTransSet< Cmp >::Iterator faudes::TTransSet< Cmp >::Begin | ( | void | ) | const [inline] |
Iterator to begin of set.
doxygen group: iterators
Reimplemented from faudes::TBaseSet< Transition, Cmp >.
Definition at line 1262 of file cfl_transset.h.
TTransSet< Cmp >::Iterator faudes::TTransSet< Cmp >::BeginByEv | ( | Idx | ev | ) | const [inline] |
Iterator to first Transition specified by event.
This function requires sorting TransSort::EvX1X2 or TransSort::EvX2X1.
ev | Event index |
Exception |
|
Definition at line 1321 of file cfl_transset.h.
TTransSet< Cmp >::Iterator faudes::TTransSet< Cmp >::BeginByEvX1 | ( | Idx | ev, | |
Idx | x1 | |||
) | const [inline] |
Iterator to first Transition specified by event and current state.
This function requires sorting TransSort::EvX1X2.
ev | Event index | |
x1 | Predecessor state index |
Exception |
|
Definition at line 1343 of file cfl_transset.h.
TTransSet< Cmp >::Iterator faudes::TTransSet< Cmp >::BeginByEvX2 | ( | Idx | ev, | |
Idx | x2 | |||
) | const [inline] |
Iterator to first Transition specified by event and next state.
This function requires sorting TransSort::EvX2X1.
ev | Event index | |
x2 | Predecessor state index |
Exception |
|
Definition at line 1363 of file cfl_transset.h.
TTransSet< Cmp >::Iterator faudes::TTransSet< Cmp >::BeginByX2 | ( | Idx | x2 | ) | const [inline] |
Iterator to first Transition specified by successor state x2.
This function requires sorting TransSort::X2EvX1 or TransSort::X2X1Ev.
x2 | Predecessor state index |
Exception |
|
Definition at line 1383 of file cfl_transset.h.
TTransSet< Cmp >::Iterator faudes::TTransSet< Cmp >::BeginByX2Ev | ( | Idx | x2, | |
Idx | ev | |||
) | const [inline] |
Iterator to first Transition specified by successor x2 and ev.
This function requires sorting TransSort::X2EvX1.
x2 | Predecessor state index | |
ev | Event index |
Exception |
|
Definition at line 1405 of file cfl_transset.h.
void faudes::TTransSet< Cmp >::DoAssign | ( | const TTransSet< Cmp > & | rSource | ) | [inline, protected, virtual] |
Assign my members.
rSource | Source to copy from |
Definition at line 1255 of file cfl_transset.h.
void faudes::TTransSet< Cmp >::DoWrite | ( | TokenWriter & | rTw, | |
const std::string & | rLabel = "" , |
|||
const Type * | pContext = 0 | |||
) | const [inline, protected, virtual] |
Write to TokenWriter, see Type::Write for public wrappers.
rTw | Reference to TokenWriter | |
rLabel | Label of section to write, defaults to name of set | |
pContext | Write context eg symboltables |
Exception |
|
Reimplemented from faudes::TBaseSet< Transition, Cmp >.
Definition at line 1427 of file cfl_transset.h.
TTransSet< Cmp >::Iterator faudes::TTransSet< Cmp >::End | ( | Idx | x1, | |
Idx | ev | |||
) | const [inline] |
Iterator to first Transition after spcified current state and event.
x1 | Predecessor state index | |
ev | Event index |
Exception |
|
Definition at line 1311 of file cfl_transset.h.
TTransSet< Cmp >::Iterator faudes::TTransSet< Cmp >::End | ( | Idx | x1 | ) | const [inline] |
Iterator to end or Transitions with specified current state.
x1 | Predecessor state index |
Exception |
|
Definition at line 1290 of file cfl_transset.h.
TTransSet< Cmp >::Iterator faudes::TTransSet< Cmp >::End | ( | void | ) | const [inline] |
Iterator to end of set.
Reimplemented from faudes::TBaseSet< Transition, Cmp >.
Definition at line 1267 of file cfl_transset.h.
TTransSet< Cmp >::Iterator faudes::TTransSet< Cmp >::EndByEv | ( | Idx | ev | ) | const [inline] |
Iterator to first Transition after specified by event.
This function requires sorting TransSort::EvX1X2 or TransSort::EvX2X1
ev | Predecessor state index |
Exception |
|
Definition at line 1332 of file cfl_transset.h.
TTransSet< Cmp >::Iterator faudes::TTransSet< Cmp >::EndByEvX1 | ( | Idx | ev, | |
Idx | x1 | |||
) | const [inline] |
Iterator to first Transition after specified ev and current state.
This function requires sorting TransSort::EvX1X2.
ev | Event index | |
x1 | Predecessor state index |
Exception |
|
Definition at line 1353 of file cfl_transset.h.
TTransSet< Cmp >::Iterator faudes::TTransSet< Cmp >::EndByEvX2 | ( | Idx | ev, | |
Idx | x2 | |||
) | const [inline] |
Iterator to first Transition after specified event and next state.
This function requires sorting TransSort::EvX2X1.
ev | Event index | |
x2 | Predecessor state index |
Exception |
|
Definition at line 1373 of file cfl_transset.h.
TTransSet< Cmp >::Iterator faudes::TTransSet< Cmp >::EndByX2 | ( | Idx | x2 | ) | const [inline] |
Iterator to first Transition after specified successor state x2.
This function requires sorting TransSort::X2EvX1 or TransSort::X2X1Ev
x2 | Predecessor state index |
Exception |
|
Definition at line 1394 of file cfl_transset.h.
TTransSet< Cmp >::Iterator faudes::TTransSet< Cmp >::EndByX2Ev | ( | Idx | x2, | |
Idx | ev | |||
) | const [inline] |
Iterator to first Transition after specified successor x2 and ev.
This function requires sorting TransSort::X2EvX1.
x2 | Predecessor state index | |
ev | Event index |
Exception |
|
Definition at line 1415 of file cfl_transset.h.
TTransSet< Cmp >::Iterator faudes::TTransSet< Cmp >::Erase | ( | const Iterator & | it | ) | [inline] |
Remove a Transition by iterator.
Reimplemented in faudes::TaTransSet< Attr >.
Definition at line 1480 of file cfl_transset.h.
bool faudes::TTransSet< Cmp >::Erase | ( | Idx | x1, | |
Idx | ev, | |||
Idx | x2 | |||
) | [inline] |
Remove a Transition by x1, ev, x2.
Reimplemented in faudes::TaTransSet< Attr >.
Definition at line 1474 of file cfl_transset.h.
bool faudes::TTransSet< Cmp >::Erase | ( | const Transition & | t | ) | [inline, virtual] |
Remove a Transition.
Reimplemented from faudes::TBaseSet< Transition, Cmp >.
Reimplemented in faudes::TaTransSet< Attr >.
Definition at line 1469 of file cfl_transset.h.
void faudes::TTransSet< Cmp >::EraseByEv | ( | Idx | ev | ) | [inline] |
Remove all transitions containing event ev.
This function iterates over all transitions to work with any sorting.
ev | Event index |
Reimplemented in faudes::TaTransSet< Attr >.
Definition at line 1536 of file cfl_transset.h.
void faudes::TTransSet< Cmp >::EraseByX1 | ( | Idx | x1 | ) | [inline] |
Remove all transitions containing predecessor state x1.
x1 | State index |
Exception |
|
Reimplemented in faudes::TaTransSet< Attr >.
Definition at line 1487 of file cfl_transset.h.
void faudes::TTransSet< Cmp >::EraseByX1Ev | ( | Idx | x1, | |
Idx | ev | |||
) | [inline] |
Remove all transitions containing predecessor state x1 and event ev.
x1 | State index | |
ev | Event index |
Exception |
|
Definition at line 1504 of file cfl_transset.h.
void faudes::TTransSet< Cmp >::EraseByX1OrX2 | ( | const StateSet & | rStates | ) | [inline] |
Remove all transitions containing a specified state.
This function iterates over all transitions to work with any sorting.
rStates | Set of states to remore |
Reimplemented in faudes::TaTransSet< Attr >.
Definition at line 1572 of file cfl_transset.h.
void faudes::TTransSet< Cmp >::EraseByX1OrX2 | ( | Idx | x | ) | [inline] |
Remove all transitions containing state x, This function iterates over all transitions to work with any sorting.
x | State index |
Reimplemented in faudes::TaTransSet< Attr >.
Definition at line 1554 of file cfl_transset.h.
void faudes::TTransSet< Cmp >::EraseByX2 | ( | Idx | x2 | ) | [inline] |
Remove all transitions containing successor state x2.
This function iterates over all transitions to work with any sorting.
x2 | State index |
Reimplemented in faudes::TaTransSet< Attr >.
Definition at line 1520 of file cfl_transset.h.
bool faudes::TTransSet< Cmp >::Exists | ( | Idx | x1, | |
Idx | ev, | |||
Idx | x2 | |||
) | const [inline] |
Test existence.
x1 | Predecessor state Idx | |
ev | Event Idx | |
x2 | Successor state Idx |
Definition at line 1629 of file cfl_transset.h.
bool faudes::TTransSet< Cmp >::Exists | ( | const Transition & | t | ) | const [inline] |
Test existence.
t | Transition |
Reimplemented from faudes::TBaseSet< Transition, Cmp >.
Definition at line 1624 of file cfl_transset.h.
bool faudes::TTransSet< Cmp >::ExistsByX1 | ( | Idx | x1 | ) | const [inline] |
Test existence.
x1 | Predecessor state Idx | |
ev | Event Idx |
Definition at line 1661 of file cfl_transset.h.
bool faudes::TTransSet< Cmp >::ExistsByX1Ev | ( | Idx | x1, | |
Idx | ev | |||
) | const [inline] |
Test existence.
x1 | Predecessor state Idx | |
ev | Event Idx |
Definition at line 1645 of file cfl_transset.h.
bool faudes::TTransSet< Cmp >::ExistsByX1OrX2 | ( | Idx | x | ) | const [inline] |
Tests if a transition with specified predecessor or successor state exists.
x | State Idx |
Definition at line 1634 of file cfl_transset.h.
TTransSet< Cmp >::Iterator faudes::TTransSet< Cmp >::Find | ( | const Transition & | t | ) | const [inline] |
Find specified transition.
t | Transition |
Reimplemented from faudes::TBaseSet< Transition, Cmp >.
Definition at line 1619 of file cfl_transset.h.
TTransSet< Cmp >::Iterator faudes::TTransSet< Cmp >::Find | ( | Idx | x1, | |
Idx | ev, | |||
Idx | x2 | |||
) | const [inline] |
Find transition given by x1, ev, x2.
x1 | Predecessor state | |
ev | Event | |
x2 | Successor state |
Definition at line 1613 of file cfl_transset.h.
void faudes::TTransSet< Cmp >::Inject | ( | const Transition & | rTransition | ) | [inline, virtual] |
Add a Transition.
rTransition | Reference to transition object |
Reimplemented from faudes::TBaseSet< Transition, Cmp >.
Definition at line 1463 of file cfl_transset.h.
TTransSet< Cmp >::Iterator faudes::TTransSet< Cmp >::Inject | ( | const Iterator & | pos, | |
const Transition & | rTransition | |||
) | [inline] |
Add a Transition.
pos | Insertion hint passed to STL | |
rTransition | Reference to transition object |
Definition at line 1458 of file cfl_transset.h.
bool faudes::TTransSet< Cmp >::Insert | ( | Idx | x1, | |
Idx | ev, | |||
Idx | x2 | |||
) | [inline] |
Add a Transition by indices.
x1 | Predecessor state | |
ev | Event | |
x2 | Successor state |
Reimplemented in faudes::TaTransSet< Attr >.
Definition at line 1452 of file cfl_transset.h.
bool faudes::TTransSet< Cmp >::Insert | ( | const Transition & | rTransition | ) | [inline, virtual] |
Add a Transition.
doxygen group
rTransition | Reference to transition object |
Reimplemented from faudes::TBaseSet< Transition, Cmp >.
Reimplemented in faudes::TaTransSet< Attr >.
Definition at line 1447 of file cfl_transset.h.
void faudes::TTransSet< Cmp >::ReSort | ( | TTransSet< OtherCmp > & | res | ) | const [inline] |
Get copy of trantision relation sorted by other compare operator, e.g.
doxygen group TSort::X2EvX1
Definition at line 1680 of file cfl_transset.h.
void faudes::TTransSet< Cmp >::RestrictEvents | ( | const EventSet & | rEventSet | ) | [inline] |
Restrict to transitions with events as specified.
Erases any transition with event not in the specified state set.
rEventSet | Set of events to keep. |
Reimplemented in faudes::TaTransSet< Attr >.
Definition at line 1599 of file cfl_transset.h.
void faudes::TTransSet< Cmp >::RestrictStates | ( | const StateSet & | rStateSet | ) | [inline] |
Restrict to transitions with states as specified.
Erases any transition with X1 or X2 not in the specified state set.
rStateSet | Set of states to keep. |
Reimplemented in faudes::TaTransSet< Attr >.
Definition at line 1585 of file cfl_transset.h.
StateSet faudes::TTransSet< Cmp >::States | ( | void | ) | const [inline] |
Get state set covered by transition set.
Definition at line 1689 of file cfl_transset.h.
std::string faudes::TTransSet< Cmp >::Str | ( | const Transition & | rTrans | ) | const [inline, virtual] |
Return pretty printable string representation.
Primary meant for debugging messages.
rTrans | Transition to print |
Reimplemented from faudes::TBaseSet< Transition, Cmp >.
Definition at line 872 of file cfl_transset.h.
StateSet faudes::TTransSet< Cmp >::SuccessorStates | ( | const StateSet & | rX1Set, | |
const EventSet & | rEvSet | |||
) | const [inline] |
Get set of successor states for specified current states and events.
rX1Set | Current states | |
rEvSet | Events |
Definition at line 1754 of file cfl_transset.h.
StateSet faudes::TTransSet< Cmp >::SuccessorStates | ( | Idx | x1, | |
Idx | ev | |||
) | const [inline] |
Get set of successor states for specified current state and event.
x1 | Current state | |
ev | Event |
Definition at line 1738 of file cfl_transset.h.
StateSet faudes::TTransSet< Cmp >::SuccessorStates | ( | const StateSet & | rX1Set | ) | const [inline] |
Get set of successor states for specified current states.
rX1Set | Current state |
Definition at line 1717 of file cfl_transset.h.
StateSet faudes::TTransSet< Cmp >::SuccessorStates | ( | Idx | x1 | ) | const [inline] |
Get set of successor states for specified current state.
x1 | Current state |
Definition at line 1700 of file cfl_transset.h.
libFAUDES 2.23h --- 2014.04.03 --- c++ api documentaion by doxygen