faudes::TaTransSet< Attr > Class Template Reference

#include <cfl_transset.h>

Public Member Functions

Constructors & Destructor
 TaTransSet (void)
 
 TaTransSet (const TaTransSet &rOtherSet)
 
 TaTransSet (const TTransSet< TransSort::X1EvX2 > &rOtherSet)
 
virtual ~TaTransSet ()
 
virtual TaTransSetAssign (const TBaseSet< Transition, TransSort::X1EvX2 > &rSrc)
 
virtual TaTransSetoperator= (const TransSet &rSrc)
 
- Public Member Functions inherited from faudes::TTransSet< TransSort::X1EvX2 >
 TTransSet (void)
 
 TTransSet (const TTransSet< TransSort::X1EvX2 > &rOtherSet)
 
 TTransSet (const TTransSet< OtherCmp > &res)
 
virtual ~TTransSet ()
 
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
 
Iterator Begin (void) const
 
Iterator Begin (Idx x1) const
 
Iterator Begin (Idx x1, Idx ev) const
 
Iterator End (void) const
 
Iterator End (Idx x1) 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
 
TTransSet< TransSort::X1EvX2operator+ (const TTransSet< TransSort::X1EvX2 > &rOtherSet) const
 
TTransSet< TransSort::X1EvX2operator- (const TTransSet< TransSort::X1EvX2 > &rOtherSet) const
 
TTransSet< TransSort::X1EvX2operator* (const TTransSet< TransSort::X1EvX2 > &rOtherSet) const
 
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 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 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)
 
- Public Member Functions inherited from faudes::TAttrMap< Transition, Attr, TransSort::X1EvX2 >
 TAttrMap (TBaseSet< Transition, TransSort::X1EvX2 > *pBaseSetRef)
 
virtual ~TAttrMap (void)
 
void AssignWithAttributes (const TBaseSet< Transition, TransSort::X1EvX2 > &rSourceSet)
 
const Attr * AttributeType (void) const
 
Attr * Attributep (const Transition &rElem)
 
const Attr & Attribute (const Transition &rElem) const
 
void Attribute (const Transition &rElem, const Type &attr)
 
void Attribute (const Transition &rElem, const Attr &attr)
 
void AttributeTry (const Transition &rElem, const Type &attr)
 
bool Insert (const Transition &rElem)
 
bool Insert (const Transition &rElem, const Attr &attr)
 
void InsertSet (const TBaseSet< Transition, TransSort::X1EvX2 > &rOtherSet)
 
bool Erase (const Transition &rElem)
 
TBaseSet< Transition, TransSort::X1EvX2 >::Iterator Erase (const typename TBaseSet< Transition, TransSort::X1EvX2 >::Iterator &pos)
 
void EraseSet (const TBaseSet< Transition, TransSort::X1EvX2 > &rOtherSet)
 
void RestrictSet (const TBaseSet< Transition, TransSort::X1EvX2 > &rOtherSet)
 

Protected Member Functions

void DoAssign (const TaTransSet &rSource)
 
- Protected Member Functions inherited from faudes::TTransSet< TransSort::X1EvX2 >
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
 

Accessing individual transitions

typedef TTransSet< TransSort::X1EvX2 >::Iterator Iterator
 
bool Insert (Idx x1, Idx ev, Idx x2)
 
bool Insert (const Transition &rTransition)
 
bool Insert (const Transition &rTransition, const Attr &rAttr)
 
virtual void InsertSet (const TransSet &rOtherSet)
 
virtual void InsertSet (const TBaseSet< Transition, TransSort::X1EvX2 > &rOtherSet)
 
bool Erase (const Transition &t)
 
bool Erase (Idx x1, Idx ev, Idx x2)
 
Iterator Erase (const Iterator &it)
 
virtual void EraseSet (const TransSet &rOtherSet)
 
virtual void EraseSet (const TBaseSet< Transition, TransSort::X1EvX2 > &rOtherSet)
 
void RestrictSet (const TransSet &rOtherSet)
 
void RestrictSet (const TBaseSet< Transition, TransSort::X1EvX2 > &rOtherSet)
 
const Attr * AttributeType (void) const
 
Attr * Attributep (const Transition &rElem)
 
const Attr & Attribute (const Transition &rElem) const
 
void Attribute (const Transition &rElem, const Attr &rAttr)
 
void Attribute (const Transition &rElem, const Type &rAttr)
 
void AttributeTry (const Transition &rElem, const Type &rAttr)
 

Additional Inherited Members

- Public Types inherited from faudes::TTransSet< TransSort::X1EvX2 >
typedef TBaseSet< Transition, TransSort::X1EvX2 >::Iterator Iterator
 
- Public Types inherited from faudes::TBaseSet< Transition, TransSort::X1EvX2 >
enum  DetachMode
 
- 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 Types inherited from faudes::TAttrMap< Transition, Attr, TransSort::X1EvX2 >
typedef TBaseSet< Transition, TransSort::X1EvX2 >::iterator iterator
 
typedef TBaseSet< Transition, TransSort::X1EvX2 >::const_iterator const_iterator
 
typedef TBaseSet< Transition, TransSort::X1EvX2 >::aiterator aiterator
 
typedef TBaseSet< Transition, TransSort::X1EvX2 >::const_aiterator 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
 
- Protected Attributes inherited from faudes::TAttrMap< Transition, Attr, TransSort::X1EvX2 >
TBaseSet< Transition, TransSort::X1EvX2 > * pBaseSet
 
- 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 Attr>
class faudes::TaTransSet< Attr >

Set of Transitions with attributes.

This container class is derived from TTransSet to provide attributes as an additional feature. The template parameter specifies the attribute class, which in turn must provide some basic funtionality. In contrast to the TTransSet, the TaTransSet is restricted to standard ordering.

Note that it is the context of a Generator that actually allows to interpret a TaTransSet as a set of transitions as opposed to a set of triples of indices with attributes. In particular, file IO of transitions is provided by the generator class (although TaTransSet provides output functions for debugging)

Definition at line 993 of file cfl_transset.h.

Member Typedef Documentation

◆ Iterator

template<class Attr >
typedef TTransSet<TransSort::X1EvX2>::Iterator faudes::TaTransSet< Attr >::Iterator

doxygen group Iterator on transition

Definition at line 1051 of file cfl_transset.h.

Constructor & Destructor Documentation

◆ TaTransSet() [1/3]

template<class Attr >
faudes::TaTransSet< Attr >::TaTransSet ( void  )

doxygen group Construct an empty TaTransSet object

Definition at line 1868 of file cfl_transset.h.

◆ TaTransSet() [2/3]

template<class Attr >
faudes::TaTransSet< Attr >::TaTransSet ( const TaTransSet< Attr > &  rOtherSet)

Copy-constructor (incl attributes)

Definition at line 1876 of file cfl_transset.h.

◆ TaTransSet() [3/3]

template<class Attr >
faudes::TaTransSet< Attr >::TaTransSet ( const TTransSet< TransSort::X1EvX2 > &  rOtherSet)

Copy-Constructor (set attributes to default)

Definition at line 1886 of file cfl_transset.h.

◆ ~TaTransSet()

template<class Attr >
virtual faudes::TaTransSet< Attr >::~TaTransSet ( )
inlinevirtual

Virtual destructor

Definition at line 1021 of file cfl_transset.h.

Member Function Documentation

◆ Assign()

template<class Attr >
TaTransSet< Attr > & faudes::TaTransSet< Attr >::Assign ( const TBaseSet< Transition, TransSort::X1EvX2 > &  rSrc)
virtual

Relaxed assignment method.

Runtime typecheck for TransSet, maintains attributes provided they can be casted.

Parameters
rSrcSource from which to assign
Returns
Ref to this set

Definition at line 1902 of file cfl_transset.h.

◆ Attribute() [1/3]

template<class Attr >
const Attr& faudes::TaTransSet< Attr >::Attribute ( const Transition rElem) const
inline

Definition at line 1195 of file cfl_transset.h.

◆ Attribute() [2/3]

template<class Attr >
void faudes::TaTransSet< Attr >::Attribute ( const Transition rElem,
const Attr &  rAttr 
)
inline

Definition at line 1196 of file cfl_transset.h.

◆ Attribute() [3/3]

template<class Attr >
void faudes::TaTransSet< Attr >::Attribute ( const Transition rElem,
const Type rAttr 
)
inline

Definition at line 1197 of file cfl_transset.h.

◆ Attributep()

template<class Attr >
Attr* faudes::TaTransSet< Attr >::Attributep ( const Transition rElem)
inline

Definition at line 1194 of file cfl_transset.h.

◆ AttributeTry()

template<class Attr >
void faudes::TaTransSet< Attr >::AttributeTry ( const Transition rElem,
const Type rAttr 
)
inlinevirtual

Attribute access. This virtual function provides an interface for derived classes with attributes eg TaIndexSet. It is meant to try to set the attribute as specified if the type can be casted. Otherwise it does nothing.

Parameters
rElemElement of which the attribute is to be set
rAttrAttribute value to set.

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

Definition at line 1198 of file cfl_transset.h.

◆ AttributeType()

template<class Attr >
const Attr* faudes::TaTransSet< Attr >::AttributeType ( void  ) const
inlinevirtual

resolve ambiguities from attribute interface ("using" wont do the job)

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

Definition at line 1193 of file cfl_transset.h.

◆ DoAssign()

template<class Attr >
void faudes::TaTransSet< Attr >::DoAssign ( const TaTransSet< Attr > &  rSource)
protected

Assign my members. Maintain attributes.

Parameters
rSourceSource to copy from

Definition at line 1896 of file cfl_transset.h.

◆ Erase() [1/3]

template<class Attr >
TaTransSet< Attr >::Iterator faudes::TaTransSet< Attr >::Erase ( const Iterator it)

Remove a Transition by iterator

Returns
Iterator to next transition

Definition at line 1975 of file cfl_transset.h.

◆ Erase() [2/3]

template<class Attr >
bool faudes::TaTransSet< Attr >::Erase ( const Transition t)

Remove a Transition

Returns
True if transition did exist

Definition at line 1963 of file cfl_transset.h.

◆ Erase() [3/3]

template<class Attr >
bool faudes::TaTransSet< Attr >::Erase ( Idx  x1,
Idx  ev,
Idx  x2 
)

Remove a Transition

Returns
True if transition did exist

Definition at line 1968 of file cfl_transset.h.

◆ EraseSet() [1/2]

template<class Attr >
void faudes::TaTransSet< Attr >::EraseSet ( const TBaseSet< Transition, TransSort::X1EvX2 > &  rOtherSet)
virtual

Inserts elements of rOtherSet.

This variant uses a runtime cast to access attributes.

Parameters
rOtherSetOther IndexSet
Exceptions
Exception
  • cast failed (id 67)

Definition at line 1993 of file cfl_transset.h.

◆ EraseSet() [2/2]

template<class Attr >
void faudes::TaTransSet< Attr >::EraseSet ( const TransSet rOtherSet)
virtual

Inserts elements of rOtherSet.

Attributes of this set are maintained.

Parameters
rOtherSetOther IndexSet

Definition at line 1987 of file cfl_transset.h.

◆ Insert() [1/3]

template<class Attr >
bool faudes::TaTransSet< Attr >::Insert ( const Transition rTransition)

Add a Transition directly. If the transition already exists, the attribute is maintained. Otherwise, the transition is inserted with default attribute.

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

Definition at line 1923 of file cfl_transset.h.

◆ Insert() [2/3]

template<class Attr >
bool faudes::TaTransSet< Attr >::Insert ( const Transition rTransition,
const Attr &  rAttr 
)

Add a Transition with attribute.

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

Definition at line 1936 of file cfl_transset.h.

◆ Insert() [3/3]

template<class Attr >
bool faudes::TaTransSet< Attr >::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 1929 of file cfl_transset.h.

◆ InsertSet() [1/2]

template<class Attr >
void faudes::TaTransSet< Attr >::InsertSet ( const TBaseSet< Transition, TransSort::X1EvX2 > &  rOtherSet)
virtual

Inserts elements of rOtherSet.

This variant uses a runtime cast to access attributes.

Parameters
rOtherSetOther IndexSet
Exceptions
Exception
  • cast failed (id 67)

Definition at line 1948 of file cfl_transset.h.

◆ InsertSet() [2/2]

template<class Attr >
void faudes::TaTransSet< Attr >::InsertSet ( const TransSet rOtherSet)
virtual

Inserts elements of rOtherSet.

Attributes of this set are maintained, newly inserted elements attain the attribute from rOtherSet if it can be casted appropriately.

Parameters
rOtherSetOther IndexSet

Definition at line 1942 of file cfl_transset.h.

◆ operator=()

template<class Attr >
virtual TaTransSet& faudes::TaTransSet< Attr >::operator= ( const TransSet rSrc)
inlinevirtual

Relaxed assignment operator.

Parameters
rSrcSource from which to assign
Returns
Ref to this set

Definition at line 1041 of file cfl_transset.h.

◆ RestrictSet() [1/2]

template<class Attr >
void faudes::TaTransSet< Attr >::RestrictSet ( const TBaseSet< Transition, TransSort::X1EvX2 > &  rOtherSet)

Restrict to specified subset.

This variant uses a runtime cast to access attributes.

Parameters
rOtherSetElements to erase

Definition at line 2014 of file cfl_transset.h.

◆ RestrictSet() [2/2]

template<class Attr >
void faudes::TaTransSet< Attr >::RestrictSet ( const TransSet rOtherSet)

Restrict to specified subset.

Erases any elements no in the specified set. This function ignores the attributes of the other set and maintains the attributes of the remaining elements in this set.

Parameters
rOtherSetElements to erase

Definition at line 2007 of file cfl_transset.h.


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

libFAUDES 2.33b --- 2025.05.07 --- c++ api documentaion by doxygen