|
|
| TTransSet (void) |
|
| TTransSet (const TTransSet< Cmp > &rOtherSet) |
|
template<class OtherCmp > |
| 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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
| 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 AttributeVoid * | AttributeType (void) const |
|
virtual bool | AttributeTest (const Type &rAttr) const |
|
virtual TBaseSet & | AssignWithoutAttributes (const TBaseSet &rSourceSet) |
|
virtual void | Attributes (const TBaseSet &rOtherSet) |
|
Idx | AttributesSize (void) const |
|
void | ClearAttributes (void) |
|
bool | EqualAttributes (const TBaseSet &rOtherSet) const |
|
virtual AttributeVoid * | Attributep (const Transition &rElem) |
|
virtual const AttributeVoid & | Attribute (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) |
|
Type & | operator= (const Type &rSrc) |
|
bool | operator== (const Type &rOther) const |
|
bool | operator!= (const Type &rOther) const |
|
| Type (void) |
|
| Type (const Type &rType) |
|
virtual | ~Type (void) |
|
virtual Type * | New (void) const |
|
virtual Type * | Copy (void) const |
|
virtual const Type * | Cast (const Type *pOther) const |
|
virtual Type & | Assign (const Type &rSrc) |
|
Type & | operator= (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) |
|
|
void | DoAssign (const TTransSet &rSource) |
|
virtual void | DoWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const |
|
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 AttributeVoid * | DoAttribute (const Transition &rElem) const |
|
AttributeVoid * | DoAttributeExplicit (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 TypeDefinition * | TypeDefinitionp (void) const |
|
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 |
|
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
TTransSet<TransSort::X2EvX1> transByX2;
for(; tit!=tit_end; ++tit) {
}
TBaseSet< Transition, Cmp >::Iterator Iterator
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.