faudes::TaTransSet< Attr > Class Template Reference
[State, Event and Transition Set]

#include <transset.h>

Inheritance diagram for faudes::TaTransSet< Attr >:

faudes::TTransSet< Cmp > faudes::TBaseSet< Transition, Cmp > List of all members.

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. As with TaBaseSet, 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 792 of file transset.h.

Public Member Functions

Constructors & Destructor
 TaTransSet (void)
 Construct an empty TaTransSet object.
 TaTransSet (const TaTransSet &rOtherSet)
 Copy-constructor (incl attributes).
 TaTransSet (const TTransSet< TransSort::X1EvX2 > &rOtherSet)
 Copy-Constructor (set attributes to default).
virtual ~TaTransSet ()
 Virtual destructor.
Basic maintenance
void Clear (void)
 Clear all transitions incl attributes.
void ClearAttributes (void)
 clear all attributes
Idx AttributesSize (void) const
 Get number of explicit (non-default) attributes.
Accessing individual transitions
bool Insert (Idx x1, Idx ev, Idx x2)
 Add a Transition by indices.
bool Insert (const Transition &rTransition)
 Add a Transition directly.
bool Insert (const Transition &rTransition, const Attr &rAttr)
 Add a Transition with attribute.
bool Erase (const Transition &t)
 Remove a Transition.
bool Erase (Idx x1, Idx ev, Idx x2)
 Remove a Transition.
Iterator Erase (const Iterator &it)
 Remove a Transition by iterator.
void EraseByX1 (Idx x1)
 Remove all transitions containing predecessor state x1.
void EraseByX2 (Idx x2)
 Remove all transitions containing successor state x2.
void EraseByEv (Idx ev)
 Remove all transitions containing event ev.
void EraseByX1OrX2 (Idx x)
 Remove all transitions containing state x.
Attr * Attributep (const Transition &rTrans)
 Get attribute reference by transition.
const Attr & Attribute (const Transition &rTrans) const
 Get const reference to attribute by transition.
void Attribute (const Transition &rTrans, const Attr &attr)
 Set attribute.
void ClrAttribute (const Transition &rTrans)
 Clear attribute to default.
Misc
template<class OtherAttr>
void CopyWithoutAttributes (TaTransSet< OtherAttr > &res) const
 Copy to any other TaTransSet.

Protected Attributes

std::map< Transition, Attr > mAttributeMap
 Stored attributes.

Static Protected Attributes

static Attr mDefAttribute
 Statics per template parameter.

Friends

class TaTransSet
 We implement "protected privacy for template classes" by friendship.


Constructor & Destructor Documentation

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

Construct an empty TaTransSet object.

Definition at line 1442 of file transset.h.

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

Copy-constructor (incl attributes).

Definition at line 1447 of file transset.h.

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

Copy-Constructor (set attributes to default).

Definition at line 1454 of file transset.h.

template<class Attr>
virtual faudes::TaTransSet< Attr >::~TaTransSet  )  [inline, virtual]
 

Virtual destructor.

Definition at line 819 of file transset.h.


Member Function Documentation

template<class Attr>
void faudes::TaTransSet< Attr >::Attribute const Transition rTrans,
const Attr &  attr
 

Set attribute.

Sets the attribute of the sepcified element to the given value.

Parameters:
rTrans Transition to specify element
attr Attribute value

Definition at line 1639 of file transset.h.

template<class Attr>
const Attr & faudes::TaTransSet< Attr >::Attribute const Transition rTrans  )  const
 

Get const reference to attribute by transition.

Parameters:
rTrans Transition
Returns:
Transition attribute

Definition at line 1622 of file transset.h.

template<class Attr>
Attr * faudes::TaTransSet< Attr >::Attributep const Transition rTrans  ) 
 

Get attribute reference by transition.

Note that in order to produce a non-const reference this method will insert an explicit default attribute if necessary. If a const reference is sufficient, you should use Attribute(Idx) const instead.

Parameters:
rTrans Transition
Returns:
Transition attribute

Definition at line 1603 of file transset.h.

template<class Attr>
Idx faudes::TaTransSet< Attr >::AttributesSize void   )  const
 

Get number of explicit (non-default) attributes.

Returns:
Number of entries in mAttributeMap

Definition at line 1468 of file transset.h.

template<class Attr>
void faudes::TaTransSet< Attr >::Clear void   )  [virtual]
 

Clear all transitions incl attributes.

Reimplemented from faudes::TBaseSet< Transition, Cmp >.

Definition at line 1473 of file transset.h.

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

clear all attributes

Definition at line 1654 of file transset.h.

template<class Attr>
void faudes::TaTransSet< Attr >::ClrAttribute const Transition rTrans  ) 
 

Clear attribute to default.

Parameters:
rTrans Transition

template<class Attr>
template<class OtherAttr>
void faudes::TaTransSet< Attr >::CopyWithoutAttributes TaTransSet< OtherAttr > &  res  )  const
 

Copy to any other TaTransSet.

This function ignores input attributes and sets the result attributes to the default value.

Returns:
TTransSet with no attributes

Definition at line 1462 of file transset.h.

template<class Attr>
TaTransSet< Attr >::Iterator faudes::TaTransSet< Attr >::Erase const Iterator it  )  [virtual]
 

Remove a Transition by iterator.

Returns:
Iterator to next transition

Reimplemented from faudes::TBaseSet< Transition, Cmp >.

Definition at line 1519 of file transset.h.

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

Remove a Transition.

Returns:
True if transition did exist

Reimplemented from faudes::TTransSet< Cmp >.

Definition at line 1511 of file transset.h.

template<class Attr>
bool faudes::TaTransSet< Attr >::Erase const Transition t  )  [virtual]
 

Remove a Transition.

Returns:
True if transition did exist

Reimplemented from faudes::TTransSet< Cmp >.

Definition at line 1504 of file transset.h.

template<class Attr>
void faudes::TaTransSet< Attr >::EraseByEv Idx  ev  ) 
 

Remove all transitions containing event ev.

Parameters:
ev Event index

Reimplemented from faudes::TTransSet< Cmp >.

Definition at line 1567 of file transset.h.

template<class Attr>
void faudes::TaTransSet< Attr >::EraseByX1 Idx  x1  ) 
 

Remove all transitions containing predecessor state x1.

Parameters:
x1 State index

Reimplemented from faudes::TTransSet< Cmp >.

Definition at line 1535 of file transset.h.

template<class Attr>
void faudes::TaTransSet< Attr >::EraseByX1OrX2 Idx  x  ) 
 

Remove all transitions containing state x.

Parameters:
x State index

Reimplemented from faudes::TTransSet< Cmp >.

Definition at line 1586 of file transset.h.

template<class Attr>
void faudes::TaTransSet< Attr >::EraseByX2 Idx  x2  ) 
 

Remove all transitions containing successor state x2.

Parameters:
x2 State index

Reimplemented from faudes::TTransSet< Cmp >.

Definition at line 1550 of file transset.h.

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

Add a Transition with attribute.

Parameters:
rTransition Reference to transition object
rAttr Reference to attribute
Returns:
True if the transition was new to the set

Definition at line 1495 of file transset.h.

template<class Attr>
bool faudes::TaTransSet< Attr >::Insert const Transition rTransition  )  [virtual]
 

Add a Transition directly.

If the transition already exists, the attribute is maintained. Otherwise, the transition is inserted with default attribute.

Parameters:
rTransition Reference to transition object
Returns:
True if the transition was new to the set

Reimplemented from faudes::TTransSet< Cmp >.

Definition at line 1480 of file transset.h.

template<class Attr>
bool faudes::TaTransSet< Attr >::Insert Idx  x1,
Idx  ev,
Idx  x2
 

Add a Transition by indices.

Parameters:
x1 Predecessor state
ev Event
x2 Successor state
Returns:
True if the transition was new to the set

Reimplemented from faudes::TTransSet< Cmp >.

Definition at line 1487 of file transset.h.


Friends And Related Function Documentation

template<class Attr>
friend class TaTransSet [friend]
 

We implement "protected privacy for template classes" by friendship.

This is used for the pragmatic implemention conversion constructors.

Definition at line 799 of file transset.h.


Member Data Documentation

template<class Attr>
std::map<Transition,Attr> faudes::TaTransSet< Attr >::mAttributeMap [protected]
 

Stored attributes.

Definition at line 1009 of file transset.h.


The documentation for this class was generated from the following file:
Generated on Fri May 9 11:26:48 2008 for libFAUDES 2.09b by  doxygen 1.4.4