Detailed Description

template<class Cmp = TransSort::X1EvX2>
class faudes::TTransSet< Cmp >

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
}
TBaseSet< Transition, Cmp >::Iterator Iterator
Definition: cfl_transset.h:273
void ReSort(TTransSet< OtherCmp > &res) const
TTransSet< TransSort::X1EvX2 > TransSet

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 242 of file cfl_transset.h.

#include <cfl_transset.h>

Public Types

typedef TBaseSet< Transition, Cmp >::Iterator Iterator
 
- Public Types inherited from faudes::TBaseSet< Transition, TransSort::X1EvX2 >
enum  DetachMode
 
typedef Iterator CIterator
 

Public Member Functions

Constructors & Destructor
 TTransSet (void)
 
 TTransSet (const TTransSet< Cmp > &rOtherSet)
 
template<class OtherCmp >
 TTransSet (const TTransSet< OtherCmp > &res)
 
virtual ~TTransSet ()
 
Accessing individual transitions
bool Insert (const Transition &rTransition)
 
bool Insert (Idx x1, Idx ev, Idx x2)
 
Iterator Inject (const Iterator &pos, const Transition &rTransition)
 
void Inject (const Transition &rTransition)
 
bool Erase (const Transition &t)
 
bool Erase (Idx x1, Idx ev, Idx x2)
 
Iterator Erase (const Iterator &it)
 
void EraseByX1 (Idx x1)
 
void EraseByX1Ev (Idx x1, Idx ev)
 
void EraseByX2 (Idx x2)
 
void EraseByEv (Idx ev)
 
void EraseByX1OrX2 (Idx x)
 
void EraseByX1OrX2 (const StateSet &rStates)
 
void RestrictStates (const StateSet &rStateSet)
 
void RestrictEvents (const EventSet &rEventSet)
 
Iterator Find (Idx x1, Idx ev, Idx x2) const
 
Iterator Find (const Transition &t) const
 
bool Exists (const Transition &t) const
 
bool Exists (Idx x1, Idx ev, Idx x2) const
 
bool ExistsByX1Ev (Idx x1, Idx ev) const
 
bool ExistsByX1 (Idx x1) const
 
bool ExistsByX1OrX2 (Idx x) const
 
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 End (void) const
 
Iterator Begin (Idx x1) const
 
Iterator End (Idx x1) const
 
Iterator Begin (Idx x1, Idx ev) const
 
Iterator End (Idx x1, Idx ev) const
 
Iterator BeginByEv (Idx ev) const
 
Iterator EndByEv (Idx ev) const
 
Iterator BeginByEvX1 (Idx ev, Idx x1) const
 
Iterator EndByEvX1 (Idx ev, Idx x1) const
 
Iterator BeginByEvX2 (Idx ev, Idx x2) const
 
Iterator EndByEvX2 (Idx ev, Idx x2) const
 
Iterator BeginByX2 (Idx x2) const
 
Iterator EndByX2 (Idx x2) const
 
Iterator BeginByX2Ev (Idx x2, Idx ev) const
 
Iterator EndByX2Ev (Idx x2, Idx ev) const
 
Set Operators

Reimplement boolean operators.

TTransSet< Cmp > operator+ (const TTransSet< Cmp > &rOtherSet) const
 
TTransSet< Cmp > operator- (const TTransSet< Cmp > &rOtherSet) const
 
TTransSet< Cmp > operator* (const TTransSet< Cmp > &rOtherSet) const
 
Misc
template<class OtherCmp >
void ReSort (TTransSet< OtherCmp > &res) const
 
StateSet States (void) const
 
StateSet SuccessorStates (Idx x1) const
 
StateSet SuccessorStates (const StateSet &rX1Set) const
 
StateSet SuccessorStates (Idx x1, Idx ev) const
 
StateSet SuccessorStates (const StateSet &rX1Set, const EventSet &rEvSet) const
 
StateSet PredecessorStates (Idx x2) const
 
StateSet PredecessorStates (const StateSet &rX2Set) const
 
StateSet PredecessorStates (Idx x2, Idx ev) const
 
StateSet PredecessorStates (const StateSet &rX2Set, const EventSet &rEvSet) const
 
EventSet ActiveEvents (Idx x1, SymbolTable *pSymTab=NULL) const
 
std::string Str (const Transition &rTrans) const
 
- Public Member Functions inherited from faudes::TBaseSet< Transition, TransSort::X1EvX2 >
 TBaseSet (void)
 
 TBaseSet (const TBaseSet &rOtherSet)
 
 TBaseSet (const std::string &rFilename, const std::string &rLabel="BaseSet")
 
virtual ~TBaseSet (void)
 
virtual void Clear (void)
 
virtual bool IsDefault (void) const
 
Idx Size (void) const
 
bool Empty (void) const
 
virtual std::string Str (const Transition &rElem) const
 
Iterator Begin (void) const
 
Iterator End (void) const
 
virtual bool Valid (const Transition &rElem) const
 
virtual bool Erase (const Transition &rElem)
 
virtual void EraseSet (const TBaseSet &rOtherSet)
 
virtual void RestrictSet (const TBaseSet &rOtherSet)
 
virtual bool Disjoint (const TBaseSet &rOtherSet) const
 
virtual bool Insert (const Transition &rElem)
 
virtual Iterator Inject (const Iterator &pos, const Transition &rElem)
 
virtual void Inject (const Transition &rElem)
 
virtual void InsertSet (const TBaseSet &rOtherSet)
 
bool Exists (const Transition &rElem) const
 
Iterator Find (const Transition &rElem) const
 
TBaseSet operator+ (const TBaseSet &rOtherSet) const
 
TBaseSet operator- (const TBaseSet &rOtherSet) const
 
TBaseSet operator* (const TBaseSet &rOtherSet) const
 
bool operator<= (const TBaseSet &rOtherSet) const
 
bool operator>= (const TBaseSet &rOtherSet) const
 
bool operator< (const TBaseSet &rOtherSet) const
 
void DValid (const std::string &rMessage="") const
 
void Detach (DetachMode flag=AttrIncl) const
 
void Lock (void) const
 
virtual const AttributeVoidAttributeType (void) const
 
virtual bool AttributeTest (const Type &rAttr) const
 
virtual TBaseSetAssignWithoutAttributes (const TBaseSet &rSourceSet)
 
virtual void Attributes (const TBaseSet &rOtherSet)
 
Idx AttributesSize (void) const
 
void ClearAttributes (void)
 
bool EqualAttributes (const TBaseSet &rOtherSet) const
 
virtual AttributeVoidAttributep (const Transition &rElem)
 
virtual const AttributeVoidAttribute (const Transition &rElem) const
 
virtual void Attribute (const Transition &rElem, const Type &rAttr)
 
virtual void AttributeTry (const Transition &rElem, const Type &rAttr)
 
virtual void ClrAttribute (const Transition &rElem)
 
- Public Member Functions inherited from faudes::ExtType
 ExtType (void)
 
 ExtType (const ExtType &rType)
 
virtual ~ExtType (void)
 
const std::string & Name (void) const
 
void Name (const std::string &rName)
 
virtual const std::string & TypeName (void) const
 
virtual void TypeName (const std::string &rType)
 
virtual const std::string & ElementTag (void) const
 
virtual void ElementTag (const std::string &rTag)
 
virtual const std::string & ElementType (void) const
 
virtual const TypeDefinitionTypeDefinitionp (void) const
 
Typeoperator= (const Type &rSrc)
 
bool operator== (const Type &rOther) const
 
bool operator!= (const Type &rOther) const
 
- Public Member Functions inherited from faudes::AttrType
 AttrType (void)
 
 AttrType (const AttrType &rSrc)
 
virtual ~AttrType (void)
 
Typeoperator= (const Type &rSrc)
 
bool operator== (const Type &rOther) const
 
bool operator!= (const Type &rOther) const
 
- Public Member Functions inherited from faudes::Type
 Type (void)
 
 Type (const Type &rType)
 
virtual ~Type (void)
 
virtual TypeNew (void) const
 
virtual TypeCopy (void) const
 
virtual const TypeCast (const Type *pOther) const
 
virtual TypeAssign (const Type &rSrc)
 
Typeoperator= (const Type &rSrc)
 
virtual bool Equal (const Type &rOther) const
 
bool operator== (const Type &rOther) const
 
bool operator!= (const Type &rOther) const
 
void Write (const Type *pContext=0) const
 
void Write (const std::string &pFileName, const std::string &rLabel="", const Type *pContext=0, std::ios::openmode openmode=std::ios::out|std::ios::trunc) const
 
void Write (const std::string &pFileName, std::ios::openmode openmode) const
 
void Write (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 
virtual void XWrite (const std::string &pFileName, const std::string &rLabel="", const Type *pContext=0) const
 
void XWrite (const Type *pContext=0) const
 
void XWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 
std::string ToString (const std::string &rLabel="", const Type *pContext=0) const
 
std::string ToText (const std::string &rLabel="", const Type *pContext=0) const
 
void DWrite (const Type *pContext=0) const
 
void DWrite (const std::string &pFileName, const std::string &rLabel="", const Type *pContext=0, std::ios::openmode openmode=std::ios::out|std::ios::trunc) const
 
void DWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 
void SWrite (TokenWriter &rTw) const
 
void SWrite (void) const
 
std::string ToSText (void) const
 
void Read (const std::string &rFileName, const std::string &rLabel="", const Type *pContext=0)
 
void FromString (const std::string &rString, const std::string &rLabel="", const Type *pContext=0)
 
void Read (TokenReader &rTr, const std::string &rLabel="", const Type *pContext=0)
 

Protected Member Functions

void DoAssign (const TTransSet &rSource)
 
virtual void DoWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 
- Protected Member Functions inherited from faudes::TBaseSet< Transition, TransSort::X1EvX2 >
virtual void DoWriteElement (TokenWriter &rTw, const Transition &rElem, const std::string &rLabel="", const Type *pContext=0) const
 
virtual void DoXWriteElement (TokenWriter &rTw, const Transition &rElem, const std::string &rLabel="", const Type *pContext=0) const
 
virtual void DoReadElement (TokenReader &rTr, Transition &rElem, const std::string &rLabel, const Type *pContext)
 
virtual void DoXWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 
virtual void DoDWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 
virtual void DoSWrite (TokenWriter &rTw) const
 
virtual void DoRead (TokenReader &rTr, const std::string &rLabel="", const Type *pContext=0)
 
void DoAssign (const TBaseSet &rSourceSet)
 
bool DoEqual (const TBaseSet &rOtherSet) const
 
void DoAttribute (const Transition &rElem, const Type *pAttr)
 
const AttributeVoidDoAttribute (const Transition &rElem) const
 
AttributeVoidDoAttributeExplicit (const Transition &rElem)
 
TBaseSet< Transition, TransSort::X1EvX2 >::Iterator ThisIterator (const typename std::set< Transition, TransSort::X1EvX2 >::const_iterator &sit) const
 
void RelinkClients (void)
 
void AttachClient (TBaseSet *pRef) const
 
void DetachClient (TBaseSet *pRef) const
 
void AttachIterator (Iterator *pFit) const
 
void DetachIterator (Iterator *pFit) const
 
- Protected Member Functions inherited from faudes::AttrType
void DoAssign (const AttrType &rSrc)
 
bool DoEqual (const AttrType &rOther) const
 
- Protected Member Functions inherited from faudes::Type
void DoAssign (const Type &rSrc)
 
bool DoEqual (const Type &rOther) const
 
virtual Token XBeginTag (const std::string &rLabel="", const std::string &rFallbackLabel="") const
 

Additional Inherited Members

- Static Public Member Functions inherited from faudes::AttrType
static void Skip (TokenReader &rTr)
 
- Protected Types inherited from faudes::TBaseSet< Transition, TransSort::X1EvX2 >
typedef std::set< Transition, TransSort::X1EvX2 >::iterator iterator
 
typedef std::set< Transition, TransSort::X1EvX2 >::const_iterator const_iterator
 
typedef std::map< Transition, AttributeVoid * >::iterator aiterator
 
typedef std::map< Transition, AttributeVoid * >::const_iterator const_aiterator
 
- Protected Attributes inherited from faudes::TBaseSet< Transition, TransSort::X1EvX2 >
std::set< Transition, TransSort::X1EvX2 > * pSet
 
std::set< Transition, TransSort::X1EvX2 > * mpSet
 
std::map< Transition, AttributeVoid * > * pAttributes
 
std::map< Transition, AttributeVoid * > * mpAttributes
 
TBaseSet< Transition, TransSort::X1EvX2 > * pHostSet
 
std::list< TBaseSet< Transition, TransSort::X1EvX2 > * >::iterator mClientRecord
 
std::list< TBaseSet< Transition, TransSort::X1EvX2 > * > * mpClients
 
bool mDetached
 
bool mLocked
 
std::set< Iterator * > mIterators
 
- Protected Attributes inherited from faudes::ExtType
std::string mElementType
 
std::string mElementTagDef
 
std::string mObjectName
 
- Static Protected Attributes inherited from faudes::TBaseSet< Transition, TransSort::X1EvX2 >
static std::set< Transition, TransSort::X1EvX2msEmptySet
 
static std::map< Transition, AttributeVoid * > msEmptyAttributes
 

Member Typedef Documentation

◆ Iterator

template<class Cmp = TransSort::X1EvX2>
typedef TBaseSet<Transition, Cmp>::Iterator faudes::TTransSet< Cmp >::Iterator

Iterator on transition

Definition at line 280 of file cfl_transset.h.

Constructor & Destructor Documentation

◆ TTransSet() [1/3]

template<class Cmp >
faudes::TTransSet< Cmp >::TTransSet ( void  )

doxygen group Construct an empty TTransSet object

Definition at line 1291 of file cfl_transset.h.

◆ TTransSet() [2/3]

template<class Cmp >
faudes::TTransSet< Cmp >::TTransSet ( const TTransSet< Cmp > &  rOtherSet)

Copy-constructor

Definition at line 1298 of file cfl_transset.h.

◆ TTransSet() [3/3]

template<class Cmp >
template<class OtherCmp >
faudes::TTransSet< Cmp >::TTransSet ( const TTransSet< OtherCmp > &  res)

Re-Sort Copy-constructor

Definition at line 1307 of file cfl_transset.h.

◆ ~TTransSet()

template<class Cmp = TransSort::X1EvX2>
virtual faudes::TTransSet< Cmp >::~TTransSet ( )
inlinevirtual

Virtual destructor

Definition at line 273 of file cfl_transset.h.

Member Function Documentation

◆ ActiveEvents()

template<class Cmp >
EventSet faudes::TTransSet< Cmp >::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. 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.

Parameters
x1Current state
pSymTabSymbolTable to refer to
Returns
Set of events.

Definition at line 1972 of file cfl_transset.h.

◆ Begin() [1/3]

template<class Cmp >
TTransSet< Cmp >::Iterator faudes::TTransSet< Cmp >::Begin ( Idx  x1) const

Iterator to first Transition specified by current state.

Parameters
x1Predecessor state index
Returns
TTransSet<Cmp>::Iterator
Exceptions
Exception
  • Sorting mismatch (id 68)

Definition at line 1339 of file cfl_transset.h.

◆ Begin() [2/3]

template<class Cmp >
TTransSet< Cmp >::Iterator faudes::TTransSet< Cmp >::Begin ( Idx  x1,
Idx  ev 
) const

Iterator to first Transitions specified by current state and event.

Parameters
x1Predecessor state index
evEvent index
Returns
TTransSet<Cmp>::Iterator
Exceptions
Exception
  • Sorting mismatch (id 68)

Definition at line 1361 of file cfl_transset.h.

◆ Begin() [3/3]

template<class Cmp >
TTransSet< Cmp >::Iterator faudes::TTransSet< Cmp >::Begin ( void  ) const

doxygen group: iterators Iterator to begin of set

Returns
TTransSet<Cmp>::Iterator

Definition at line 1322 of file cfl_transset.h.

◆ BeginByEv()

template<class Cmp >
TTransSet< Cmp >::Iterator faudes::TTransSet< Cmp >::BeginByEv ( Idx  ev) const

Iterator to first Transition specified by event. This function requires sorting TransSort::EvX1X2 or TransSort::EvX2X1.

Parameters
evEvent index
Returns
TTransSet<Cmp>::iterator
Exceptions
Exception
  • sorting mismatch (id 68)

Definition at line 1381 of file cfl_transset.h.

◆ BeginByEvX1()

template<class Cmp >
TTransSet< Cmp >::Iterator faudes::TTransSet< Cmp >::BeginByEvX1 ( Idx  ev,
Idx  x1 
) const

Iterator to first Transition specified by event and current state. This function requires sorting TransSort::EvX1X2.

Parameters
evEvent index
x1Predecessor state index
Returns
TTransSet<Cmp>::iterator
Exceptions
Exception
  • sorting mismatch (id 68)

Definition at line 1403 of file cfl_transset.h.

◆ BeginByEvX2()

template<class Cmp >
TTransSet< Cmp >::Iterator faudes::TTransSet< Cmp >::BeginByEvX2 ( Idx  ev,
Idx  x2 
) const

Iterator to first Transition specified by event and next state. This function requires sorting TransSort::EvX2X1.

Parameters
evEvent index
x2Predecessor state index
Returns
TTransSet<Cmp>::Iterator
Exceptions
Exception
  • sorting mismatch (id 68)

Definition at line 1423 of file cfl_transset.h.

◆ BeginByX2()

template<class Cmp >
TTransSet< Cmp >::Iterator faudes::TTransSet< Cmp >::BeginByX2 ( Idx  x2) const

Iterator to first Transition specified by successor state x2. This function requires sorting TransSort::X2EvX1 or TransSort::X2X1Ev.

Parameters
x2Predecessor state index
Returns
TTransSet<Cmp>::iterator
Exceptions
Exception
  • sorting mismatch (id 68)

Definition at line 1443 of file cfl_transset.h.

◆ BeginByX2Ev()

template<class Cmp >
TTransSet< Cmp >::Iterator faudes::TTransSet< Cmp >::BeginByX2Ev ( Idx  x2,
Idx  ev 
) const

Iterator to first Transition specified by successor x2 and ev. This function requires sorting TransSort::X2EvX1.

Parameters
x2Predecessor state index
evEvent index
Returns
TTransSet<Cmp>::Iterator
Exceptions
Exception
  • sorting mismatch (id 68)

Definition at line 1465 of file cfl_transset.h.

◆ DoAssign()

template<class Cmp >
void faudes::TTransSet< Cmp >::DoAssign ( const TTransSet< Cmp > &  rSource)
protected

Assign my members.

Parameters
rSourceSource to copy from

Definition at line 1315 of file cfl_transset.h.

◆ DoWrite()

template<class Cmp >
void faudes::TTransSet< Cmp >::DoWrite ( TokenWriter rTw,
const std::string &  rLabel = "",
const Type pContext = 0 
) const
protectedvirtual

Write to TokenWriter, see Type::Write for public wrappers.

Parameters
rTwReference to TokenWriter
rLabelLabel of section to write, defaults to name of set
pContextWrite context eg symboltables
Exceptions
Exception
  • IO errors (id 2)

Reimplemented from faudes::TBaseSet< Transition, TransSort::X1EvX2 >.

Definition at line 1508 of file cfl_transset.h.

◆ End() [1/3]

template<class Cmp >
TTransSet< Cmp >::Iterator faudes::TTransSet< Cmp >::End ( Idx  x1) const

Iterator to end or Transitions with specified current state.

Parameters
x1Predecessor state index
Returns
TTransSet<Cmp>::Iterator
Exceptions
Exception
  • Sorting mismatch (id 68)

Definition at line 1350 of file cfl_transset.h.

◆ End() [2/3]

template<class Cmp >
TTransSet< Cmp >::Iterator faudes::TTransSet< Cmp >::End ( Idx  x1,
Idx  ev 
) const

Iterator to first Transition after spcified current state and event.

Parameters
x1Predecessor state index
evEvent index
Returns
TTransSet<Cmp>::Iterator
Exceptions
Exception
  • sorting mismatch (id 68)

Definition at line 1371 of file cfl_transset.h.

◆ End() [3/3]

template<class Cmp >
TTransSet< Cmp >::Iterator faudes::TTransSet< Cmp >::End ( void  ) const

Iterator to end of set

Returns
TTransSet<Cmp>::Iterator

Definition at line 1327 of file cfl_transset.h.

◆ EndByEv()

template<class Cmp >
TTransSet< Cmp >::Iterator faudes::TTransSet< Cmp >::EndByEv ( Idx  ev) const

Iterator to first Transition after specified by event. This function requires sorting TransSort::EvX1X2 or TransSort::EvX2X1

Parameters
evPredecessor state index
Returns
TTransSet<Cmp>::Iterator
Exceptions
Exception
  • sorting mismatch (id 68)

Definition at line 1392 of file cfl_transset.h.

◆ EndByEvX1()

template<class Cmp >
TTransSet< Cmp >::Iterator faudes::TTransSet< Cmp >::EndByEvX1 ( Idx  ev,
Idx  x1 
) const

Iterator to first Transition after specified ev and current state. This function requires sorting TransSort::EvX1X2.

Parameters
evEvent index
x1Predecessor state index
Returns
TTransSet<Cmp>::Iterator
Exceptions
Exception
  • sorting mismatch (id 68)

Definition at line 1413 of file cfl_transset.h.

◆ EndByEvX2()

template<class Cmp >
TTransSet< Cmp >::Iterator faudes::TTransSet< Cmp >::EndByEvX2 ( Idx  ev,
Idx  x2 
) const

Iterator to first Transition after specified event and next state. This function requires sorting TransSort::EvX2X1.

Parameters
evEvent index
x2Predecessor state index
Returns
TTransSet<Cmp>::Iterator
Exceptions
Exception
  • sorting mismatch (id 68)

Definition at line 1433 of file cfl_transset.h.

◆ EndByX2()

template<class Cmp >
TTransSet< Cmp >::Iterator faudes::TTransSet< Cmp >::EndByX2 ( Idx  x2) const

Iterator to first Transition after specified successor state x2. This function requires sorting TransSort::X2EvX1 or TransSort::X2X1Ev

Parameters
x2Predecessor state index
Returns
TTransSet<Cmp>::Iterator
Exceptions
Exception
  • sorting mismatch (id 68)

Definition at line 1454 of file cfl_transset.h.

◆ EndByX2Ev()

template<class Cmp >
TTransSet< Cmp >::Iterator faudes::TTransSet< Cmp >::EndByX2Ev ( Idx  x2,
Idx  ev 
) const

Iterator to first Transition after specified successor x2 and ev. This function requires sorting TransSort::X2EvX1.

Parameters
x2Predecessor state index
evEvent index
Returns
TTransSet<Cmp>::Iterator
Exceptions
Exception
  • sorting mismatch (id 68)

Definition at line 1475 of file cfl_transset.h.

◆ Erase() [1/3]

template<class Cmp >
TTransSet< Cmp >::Iterator faudes::TTransSet< Cmp >::Erase ( const Iterator it)
virtual

Remove a Transition by iterator

Returns
Iterator to next transition

Reimplemented from faudes::TBaseSet< Transition, TransSort::X1EvX2 >.

Definition at line 1562 of file cfl_transset.h.

◆ Erase() [2/3]

template<class Cmp >
bool faudes::TTransSet< Cmp >::Erase ( const Transition t)

Remove a Transition

Returns
True if transition did exist

Definition at line 1550 of file cfl_transset.h.

◆ Erase() [3/3]

template<class Cmp >
bool faudes::TTransSet< Cmp >::Erase ( Idx  x1,
Idx  ev,
Idx  x2 
)

Remove a Transition by x1, ev, x2

Returns
True if transition did exist

Definition at line 1556 of file cfl_transset.h.

◆ EraseByEv()

template<class Cmp >
void faudes::TTransSet< Cmp >::EraseByEv ( Idx  ev)

Remove all transitions containing event ev. This function iterates over all transitions to work with any sorting.

Parameters
evEvent index

Definition at line 1623 of file cfl_transset.h.

◆ EraseByX1()

template<class Cmp >
void faudes::TTransSet< Cmp >::EraseByX1 ( Idx  x1)

Remove all transitions containing predecessor state x1.

Parameters
x1State index
Exceptions
Exception
  • sorting mismatch (id 68)

Definition at line 1568 of file cfl_transset.h.

◆ EraseByX1Ev()

template<class Cmp >
void faudes::TTransSet< Cmp >::EraseByX1Ev ( Idx  x1,
Idx  ev 
)

Remove all transitions containing predecessor state x1 and event ev.

Parameters
x1State index
evEvent index
Exceptions
Exception
  • sorting mismatch (id 68)

Definition at line 1588 of file cfl_transset.h.

◆ EraseByX1OrX2() [1/2]

template<class Cmp >
void faudes::TTransSet< Cmp >::EraseByX1OrX2 ( const StateSet rStates)

Remove all transitions containing a specified state. This function iterates over all transitions to work with any sorting.

Parameters
rStatesSet of states to remore

Definition at line 1658 of file cfl_transset.h.

◆ EraseByX1OrX2() [2/2]

template<class Cmp >
void faudes::TTransSet< Cmp >::EraseByX1OrX2 ( Idx  x)

Remove all transitions containing state x, This function iterates over all transitions to work with any sorting.

Parameters
xState index

Definition at line 1640 of file cfl_transset.h.

◆ EraseByX2()

template<class Cmp >
void faudes::TTransSet< Cmp >::EraseByX2 ( Idx  x2)

Remove all transitions containing successor state x2. This function iterates over all transitions to work with any sorting.

Parameters
x2State index

Definition at line 1607 of file cfl_transset.h.

◆ Exists() [1/2]

template<class Cmp >
bool faudes::TTransSet< Cmp >::Exists ( const Transition t) const

Test existence

Parameters
tTransition
Returns
bool

Definition at line 1716 of file cfl_transset.h.

◆ Exists() [2/2]

template<class Cmp >
bool faudes::TTransSet< Cmp >::Exists ( Idx  x1,
Idx  ev,
Idx  x2 
) const

Test existence

Parameters
x1Predecessor state Idx
evEvent Idx
x2Successor state Idx
Returns
bool

Definition at line 1721 of file cfl_transset.h.

◆ ExistsByX1()

template<class Cmp >
bool faudes::TTransSet< Cmp >::ExistsByX1 ( Idx  x1) const

Test existence

Parameters
x1Predecessor state Idx
Returns
bool

Definition at line 1753 of file cfl_transset.h.

◆ ExistsByX1Ev()

template<class Cmp >
bool faudes::TTransSet< Cmp >::ExistsByX1Ev ( Idx  x1,
Idx  ev 
) const

Test existence

Parameters
x1Predecessor state Idx
evEvent Idx
Returns
bool

Definition at line 1737 of file cfl_transset.h.

◆ ExistsByX1OrX2()

template<class Cmp >
bool faudes::TTransSet< Cmp >::ExistsByX1OrX2 ( Idx  x) const

Tests if a transition with specified predecessor or successor state exists.

Parameters
xState Idx
Returns
bool

Definition at line 1726 of file cfl_transset.h.

◆ Find() [1/2]

template<class Cmp >
TTransSet< Cmp >::Iterator faudes::TTransSet< Cmp >::Find ( const Transition t) const

Find specified transition

Parameters
tTransition
Returns
Iterator to transition or End() if not exists

Definition at line 1711 of file cfl_transset.h.

◆ Find() [2/2]

template<class Cmp >
TTransSet< Cmp >::Iterator faudes::TTransSet< Cmp >::Find ( Idx  x1,
Idx  ev,
Idx  x2 
) const

Find transition given by x1, ev, x2

Parameters
x1Predecessor state
evEvent
x2Successor state
Returns
Iterator to transition or End() if not exists

Definition at line 1705 of file cfl_transset.h.

◆ Inject() [1/2]

template<class Cmp >
TTransSet< Cmp >::Iterator faudes::TTransSet< Cmp >::Inject ( const Iterator pos,
const Transition rTransition 
)

Add a Transition.

Parameters
posInsertion hint passed to STL
rTransitionReference to transition object
Returns
Insertion position

Definition at line 1539 of file cfl_transset.h.

◆ Inject() [2/2]

template<class Cmp >
void faudes::TTransSet< Cmp >::Inject ( const Transition rTransition)

Add a Transition.

Parameters
rTransitionReference to transition object
Returns
Insertion position

Definition at line 1544 of file cfl_transset.h.

◆ Insert() [1/2]

template<class Cmp >
bool faudes::TTransSet< Cmp >::Insert ( const Transition rTransition)

doxygen group Add a Transition.

Parameters
rTransitionReference to transition object
Returns
True if the transition was new to the set

Definition at line 1528 of file cfl_transset.h.

◆ Insert() [2/2]

template<class Cmp >
bool faudes::TTransSet< Cmp >::Insert ( Idx  x1,
Idx  ev,
Idx  x2 
)

Add a Transition by indices

Parameters
x1Predecessor state
evEvent
x2Successor state
Returns
True if the transition was new to the set

Definition at line 1533 of file cfl_transset.h.

◆ operator*()

template<class Cmp >
TTransSet< Cmp > faudes::TTransSet< Cmp >::operator* ( const TTransSet< Cmp > &  rOtherSet) const

Set intersection operator

Returns
Set Intersection

Definition at line 1500 of file cfl_transset.h.

◆ operator+()

template<class Cmp >
TTransSet< Cmp > faudes::TTransSet< Cmp >::operator+ ( const TTransSet< Cmp > &  rOtherSet) const

doxygen group: operators Set union operator

Returns
Union Set

Definition at line 1485 of file cfl_transset.h.

◆ operator-()

template<class Cmp >
TTransSet< Cmp > faudes::TTransSet< Cmp >::operator- ( const TTransSet< Cmp > &  rOtherSet) const

Set difference operator

Returns
Set Difference NameSet

Definition at line 1492 of file cfl_transset.h.

◆ PredecessorStates() [1/4]

template<class Cmp >
StateSet faudes::TTransSet< Cmp >::PredecessorStates ( const StateSet rX2Set) const

Get set of predecessor states for specified target states This function requires sorting TransSort::X2EvX1 or TransSort::X2X1Ev

Parameters
rX2SetSarget states
Returns
Set of state indices

Definition at line 1899 of file cfl_transset.h.

◆ PredecessorStates() [2/4]

template<class Cmp >
StateSet faudes::TTransSet< Cmp >::PredecessorStates ( const StateSet rX2Set,
const EventSet rEvSet 
) const

Get set of predecessor states for specified target states and events This function requires sorting TransSort::X2EvX1 or TransSort::X2X1Ev

Parameters
rX2SetTarget states
rEvSetEvents
Returns
Set of state indices

Definition at line 1936 of file cfl_transset.h.

◆ PredecessorStates() [3/4]

template<class Cmp >
StateSet faudes::TTransSet< Cmp >::PredecessorStates ( Idx  x2) const

Get set of predecessor states for specified target state This function requires sorting TransSort::X2EvX1 or TransSort::X2X1Ev

Parameters
x2Target state
Returns
Set of state indices

Definition at line 1881 of file cfl_transset.h.

◆ PredecessorStates() [4/4]

template<class Cmp >
StateSet faudes::TTransSet< Cmp >::PredecessorStates ( Idx  x2,
Idx  ev 
) const

Get set of predecessor states for specified targetstate and event This function requires sorting TransSort::X2EvX1 or TransSort::X2X1Ev

Parameters
x2Target state
evEvent
Returns
Set of state indices

Definition at line 1920 of file cfl_transset.h.

◆ ReSort()

template<class Cmp >
template<class OtherCmp >
void faudes::TTransSet< Cmp >::ReSort ( TTransSet< OtherCmp > &  res) const

doxygen group Get copy of trantision relation sorted by other compare operator, e.g. TSort::X2EvX1

Returns
Transition relation

Definition at line 1772 of file cfl_transset.h.

◆ RestrictEvents()

template<class Cmp >
void faudes::TTransSet< Cmp >::RestrictEvents ( const EventSet rEventSet)

Restrict to transitions with events as specified. Erases any transition with event not in the specified state set.

Parameters
rEventSetSet of events to keep.

Definition at line 1689 of file cfl_transset.h.

◆ RestrictStates()

template<class Cmp >
void faudes::TTransSet< Cmp >::RestrictStates ( const StateSet rStateSet)

Restrict to transitions with states as specified. Erases any transition with X1 or X2 not in the specified state set.

Parameters
rStateSetSet of states to keep.

Definition at line 1673 of file cfl_transset.h.

◆ States()

template<class Cmp >
StateSet faudes::TTransSet< Cmp >::States ( void  ) const

Get state set covered by transition set

Returns
Set of state indices used by some transition

Definition at line 1781 of file cfl_transset.h.

◆ Str()

template<class Cmp >
std::string faudes::TTransSet< Cmp >::Str ( const Transition rTrans) const

Return pretty printable string representation. Primary meant for debugging messages.

Parameters
rTransTransition to print
Returns
String

Definition at line 1984 of file cfl_transset.h.

◆ SuccessorStates() [1/4]

template<class Cmp >
StateSet faudes::TTransSet< Cmp >::SuccessorStates ( const StateSet rX1Set) const

Get set of successor states for specified current states

Parameters
rX1SetCurrent state
Returns
Set of state indices

Definition at line 1809 of file cfl_transset.h.

◆ SuccessorStates() [2/4]

template<class Cmp >
StateSet faudes::TTransSet< Cmp >::SuccessorStates ( const StateSet rX1Set,
const EventSet rEvSet 
) const

Get set of successor states for specified current states and events

Parameters
rX1SetCurrent states
rEvSetEvents
Returns
Set of state indices

Definition at line 1846 of file cfl_transset.h.

◆ SuccessorStates() [3/4]

template<class Cmp >
StateSet faudes::TTransSet< Cmp >::SuccessorStates ( Idx  x1) const

Get set of successor states for specified current state

Parameters
x1Current state
Returns
Set of state indices

Definition at line 1792 of file cfl_transset.h.

◆ SuccessorStates() [4/4]

template<class Cmp >
StateSet faudes::TTransSet< Cmp >::SuccessorStates ( Idx  x1,
Idx  ev 
) const

Get set of successor states for specified current state and event

Parameters
x1Current state
evEvent
Returns
Set of state indices

Definition at line 1830 of file cfl_transset.h.


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

libFAUDES 2.33h --- 2025.06.18 --- c++ api documentaion by doxygen