#include <cfl_transset.h>

Public Types

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

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
 
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)
 
const std::string & Name (void) const
 
void Name (const std::string &rName)
 
virtual void Clear (void)
 
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)
 
virtual void XElementTag (const std::string &rTag)
 
virtual const std::string & TypeName (void) const
 
virtual void TypeName (const std::string &rType)
 
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 const std::string & XElementTag (void) 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
 
virtual const TypeDefinitionTypeDefinitionp (void) const
 
- Protected Member Functions inherited from faudes::Type
void DoAssign (const Type &rSrc)
 
bool DoEqual (const Type &rOther) const
 
virtual void DoXWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 
virtual Token XBeginTag (const std::string &rLabel="", const std::string &rFallbackLabel="") const
 

Additional Inherited Members

- 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::string mMyName
 
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
 
std::string mXElementTagDef
 
- Static Protected Attributes inherited from faudes::TBaseSet< Transition, TransSort::X1EvX2 >
static std::set< Transition, TransSort::X1EvX2msEmptySet
 
static std::map< Transition, AttributeVoid * > msEmptyAttributes
 

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
Definition: cfl_transset.h:956

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.

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

◆ TTransSet() [2/3]

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

Copy-constructor

Definition at line 1244 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 1253 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 1827 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 1285 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 1307 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 1268 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 1327 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 1349 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 1369 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 1389 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 1411 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 1261 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 1454 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 1296 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 1317 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 1273 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 1338 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 1359 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 1379 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 1400 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 1421 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 1508 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 1496 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 1502 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 1569 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 1514 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 1534 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 1604 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 1586 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 1553 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 1662 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 1667 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 1699 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 1683 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 1672 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 1657 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 1651 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 1485 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 1490 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 1474 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 1479 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 1446 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 1431 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 1438 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 1718 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 1635 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 1619 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 1727 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 1839 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 1755 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 1792 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 1738 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 1776 of file cfl_transset.h.


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

libFAUDES 2.33c --- 2025.05.15 --- c++ api documentaion by doxygen