State, Event and Transition Set

Detailed Description

This module collects all basic container classes aka state- event- and transition-sets, e.g.,

  • TBaseSet base class for all libFaudes containers,
  • IndexSet set of plain indices,
  • TaIndexSet set of indices with attributes,
  • NameSet set of indices with symbolic names,
  • TaNameSet set of indices with attributes and symbolic names,
  • TTransSet set of transitions in a sepcific order.

All libFAUDES container classes share the same basic API similar to the one known from STL containers. In addition, they implement file IO via faudes token streams and/or XML. Most commonly used is the plain faudes::EventSet and the faudes::Alphabet. Plug-ins introduce specialized sets for their purposes.

Classes

class  faudes::TAttrMap< T, Attr, Cmp >
 
class  faudes::TBaseSet< T, Cmp >
 
class  faudes::vBaseVector
 
class  faudes::TBaseVector< T >
 
class  faudes::TaIndexSet< Attr >
 
class  faudes::IndexSet
 
class  faudes::SymbolSet
 
class  faudes::Transition
 
class  faudes::TransSort
 
class  faudes::TTransSet< Cmp >
 
class  faudes::TaTransSet< Attr >
 

Macros

#define THIS   TBaseSet<T,Cmp>
 
#define TEMP   template<class T, class Cmp>
 
#define BASE   Type
 

Typedefs

typedef TaNameSet< AttributeCFlagsfaudes::Alphabet
 
typedef IndexSet faudes::StateSet
 
typedef TBaseVector< StateSetfaudes::StateSetVector
 
template<class Attr >
using faudes::TaStateSet = TaIndexSet< Attr >
 
typedef NameSet faudes::EventSet
 
typedef TTransSet< TransSort::X1EvX2faudes::TransSet
 
typedef TTransSet< TransSort::X1EvX2faudes::TransSetX1EvX2
 
typedef TTransSet< TransSort::EvX1X2faudes::TransSetEvX1X2
 
typedef TTransSet< TransSort::EvX2X1faudes::TransSetEvX2X1
 
typedef TTransSet< TransSort::X2EvX1faudes::TransSetX2EvX1
 
typedef TTransSet< TransSort::X2X1Evfaudes::TransSetX2X1Ev
 
typedef TTransSet< TransSort::X1X2Evfaudes::TransSetX1X2Ev
 

Functions

template<class T , class Cmp >
void faudes::SetUnion (const TBaseSet< T, Cmp > &rSetA, const TBaseSet< T, Cmp > &rSetB, TBaseSet< T, Cmp > &rRes)
 
template<class T , class Cmp >
void faudes::SetIntersection (const TBaseSet< T, Cmp > &rSetA, const TBaseSet< T, Cmp > &rSetB, TBaseSet< T, Cmp > &rRes)
 
template<class T , class Cmp >
void faudes::SetDifference (const TBaseSet< T, Cmp > &rSetA, const TBaseSet< T, Cmp > &rSetB, TBaseSet< T, Cmp > &rRes)
 
template<class T , class Cmp >
bool faudes::SetEquality (const TBaseSet< T, Cmp > &rSetA, const TBaseSet< T, Cmp > &rSetB)
 
template<class T , class Cmp >
bool faudes::SetInclusion (const TBaseSet< T, Cmp > &rSetA, const TBaseSet< T, Cmp > &rSetB)
 
 faudes::TBaseSet< T, Cmp >::TBaseSet (void)
 
 faudes::TBaseSet< T, Cmp >::TBaseSet (const std::string &rFilename, const std::string &rLabel="BaseSet")
 
 faudes::TBaseSet< T, Cmp >::TBaseSet (const TBaseSet &rOtherSet)
 
virtual faudes::TBaseSet< T, Cmp >::~TBaseSet (void)
 
void faudes::TBaseSet< T, Cmp >::DoAssign (const TBaseSet &rSourceSet)
 
void faudes::TBaseSet< T, Cmp >::Detach (DetachMode flag=AttrIncl) const
 
void faudes::TBaseSet< T, Cmp >::Lock (void) const
 
void faudes::TBaseSet< T, Cmp >::RelinkClients (void)
 
void faudes::TBaseSet< T, Cmp >::AttachClient (TBaseSet *pRef) const
 
void faudes::TBaseSet< T, Cmp >::DetachClient (TBaseSet *pRef) const
 
void faudes::TBaseSet< T, Cmp >::AttachIterator (Iterator *pFit) const
 
void faudes::TBaseSet< T, Cmp >::DetachIterator (Iterator *pFit) const
 
void faudes::TBaseSet< T, Cmp >::DValid (const std::string &rMessage="") const
 
virtual std::string faudes::TBaseSet< T, Cmp >::Str (const T &rElem) const
 
Idx faudes::TBaseSet< T, Cmp >::Size (void) const
 
bool faudes::TBaseSet< T, Cmp >::Empty (void) const
 
virtual void faudes::TBaseSet< T, Cmp >::DoWriteElement (TokenWriter &rTw, const T &rElem, const std::string &rLabel="", const Type *pContext=0) const
 
virtual void faudes::TBaseSet< T, Cmp >::DoXWriteElement (TokenWriter &rTw, const T &rElem, const std::string &rLabel="", const Type *pContext=0) const
 
virtual void faudes::TBaseSet< T, Cmp >::DoWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 
virtual void faudes::TBaseSet< T, Cmp >::DoXWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 
virtual void faudes::TBaseSet< T, Cmp >::DoDWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 
virtual void faudes::TBaseSet< T, Cmp >::DoSWrite (TokenWriter &rTw) const
 
virtual void faudes::TBaseSet< T, Cmp >::DoReadElement (TokenReader &rTr, T &rElem, const std::string &rLabel, const Type *pContext)
 
virtual void faudes::TBaseSet< T, Cmp >::DoRead (TokenReader &rTr, const std::string &rLabel="", const Type *pContext=0)
 
TBaseSet< T, Cmp >::Iterator faudes::TBaseSet< T, Cmp >::ThisIterator (const typename std::set< T, Cmp >::const_iterator &sit) const
 
Iterator faudes::TBaseSet< T, Cmp >::Begin (void) const
 
Iterator faudes::TBaseSet< T, Cmp >::End (void) const
 
virtual void faudes::TBaseSet< T, Cmp >::Clear (void)
 
virtual bool faudes::TBaseSet< T, Cmp >::IsDefault (void) const
 
virtual bool faudes::TBaseSet< T, Cmp >::Valid (const T &rElem) const
 
virtual bool faudes::TBaseSet< T, Cmp >::Insert (const T &rElem)
 
virtual Iterator faudes::TBaseSet< T, Cmp >::Inject (const Iterator &pos, const T &rElem)
 
virtual void faudes::TBaseSet< T, Cmp >::Inject (const T &rElem)
 
virtual void faudes::TBaseSet< T, Cmp >::InsertSet (const TBaseSet &rOtherSet)
 
virtual bool faudes::TBaseSet< T, Cmp >::Erase (const T &rElem)
 
virtual Iterator faudes::TBaseSet< T, Cmp >::Erase (const Iterator &pos)
 
virtual void faudes::TBaseSet< T, Cmp >::EraseSet (const TBaseSet &rOtherSet)
 
virtual void faudes::TBaseSet< T, Cmp >::RestrictSet (const TBaseSet &rOtherSet)
 
virtual bool faudes::TBaseSet< T, Cmp >::Disjoint (const TBaseSet &rOtherSet) const
 
Iterator faudes::TBaseSet< T, Cmp >::Find (const T &rElem) const
 
bool faudes::TBaseSet< T, Cmp >::Exists (const T &rElem) const
 
TBaseSet faudes::TBaseSet< T, Cmp >::operator+ (const TBaseSet &rOtherSet) const
 
TBaseSet faudes::TBaseSet< T, Cmp >::operator- (const TBaseSet &rOtherSet) const
 
TBaseSet faudes::TBaseSet< T, Cmp >::operator* (const TBaseSet &rOtherSet) const
 
bool faudes::TBaseSet< T, Cmp >::DoEqual (const TBaseSet &rOtherSet) const
 
bool faudes::TBaseSet< T, Cmp >::operator<= (const TBaseSet &rOtherSet) const
 
bool faudes::TBaseSet< T, Cmp >::operator>= (const TBaseSet &rOtherSet) const
 
bool faudes::TBaseSet< T, Cmp >::operator< (const TBaseSet &rOtherSet) const
 
virtual const AttributeVoidfaudes::TBaseSet< T, Cmp >::AttributeType (void) const
 
virtual bool faudes::TBaseSet< T, Cmp >::AttributeTest (const Type &rAttr) const
 
Idx faudes::TBaseSet< T, Cmp >::AttributesSize (void) const
 
void faudes::TBaseSet< T, Cmp >::ClearAttributes (void)
 
bool faudes::TBaseSet< T, Cmp >::EqualAttributes (const TBaseSet &rOtherSet) const
 
virtual TBaseSetfaudes::TBaseSet< T, Cmp >::AssignWithoutAttributes (const TBaseSet &rSourceSet)
 
virtual void faudes::TBaseSet< T, Cmp >::Attributes (const TBaseSet &rOtherSet)
 
virtual AttributeVoidfaudes::TBaseSet< T, Cmp >::Attributep (const T &rElem)
 
virtual const AttributeVoidfaudes::TBaseSet< T, Cmp >::Attribute (const T &rElem) const
 
virtual void faudes::TBaseSet< T, Cmp >::Attribute (const T &rElem, const Type &rAttr)
 
virtual void faudes::TBaseSet< T, Cmp >::ClrAttribute (const T &rElem)
 
const AttributeVoidfaudes::TBaseSet< T, Cmp >::DoAttribute (const T &rElem) const
 
AttributeVoidfaudes::TBaseSet< T, Cmp >::DoAttributeExplicit (const T &rElem)
 
void faudes::TBaseSet< T, Cmp >::DoAttribute (const T &rElem, const Type *pAttr)
 

Variables

static std::set< T, Cmp > faudes::TBaseSet< T, Cmp >::msEmptySet =std::set<T,Cmp>()
 
static std::map< T, AttributeVoid * > faudes::TBaseSet< T, Cmp >::msEmptyAttributes =std::map<T,AttributeVoid*>()
 

Macro Definition Documentation

◆ BASE

#define BASE   Type

Definition at line 1171 of file cfl_baseset.h.

◆ TEMP

#define TEMP   template<class T, class Cmp>

Definition at line 1170 of file cfl_baseset.h.

◆ THIS

#define THIS   TBaseSet<T,Cmp>

Definition at line 1169 of file cfl_baseset.h.

Typedef Documentation

◆ Alphabet

Convenience typedef for event sets with controllability attributes.

Definition at line 43 of file cfl_cgenerator.h.

◆ EventSet

Convenience typedef for plain event sets

Definition at line 534 of file cfl_nameset.h.

◆ StateSet

Definition at line 273 of file cfl_indexset.h.

◆ StateSetVector

Definition at line 281 of file cfl_indexset.h.

◆ TaStateSet

template<class Attr >
using faudes::TaStateSet = typedef TaIndexSet<Attr>

Convenience Macro (pre C++11) Convenience Typedef (C++11)

Definition at line 558 of file cfl_indexset.h.

◆ TransSet

Type definition for default sorted TTransSet

Definition at line 1010 of file cfl_transset.h.

◆ TransSetEvX1X2

Type definition for ev, x1, x2 sorted TTransSet

Definition at line 1016 of file cfl_transset.h.

◆ TransSetEvX2X1

Type definition for ev, x2, x1 sorted TTransSet

Definition at line 1019 of file cfl_transset.h.

◆ TransSetX1EvX2

Type definition for default sorted TTransSet

Definition at line 1013 of file cfl_transset.h.

◆ TransSetX1X2Ev

Type definition for x1, x2, ev sorted TTransSet

Definition at line 1028 of file cfl_transset.h.

◆ TransSetX2EvX1

Type definition for x2, ev, x1 sorted TTransSet

Definition at line 1022 of file cfl_transset.h.

◆ TransSetX2X1Ev

Type definition for x2, x1, ev sorted TTransSet

Definition at line 1025 of file cfl_transset.h.

Function Documentation

◆ AssignWithoutAttributes()

template<class T , class Cmp >
TBaseSet< T, Cmp > & faudes::TBaseSet< T, Cmp >::AssignWithoutAttributes ( const TBaseSet< T, Cmp > &  rSourceSet)
virtual

Attribute access. This virtual function provides an interface for derived classes with attributes eg TaIndexSet. The current implementation uses the DoAssign method and clears any attributes afterwards. Future implementations may be more efficient.

Parameters
rSourceSetSet to copy from

Definition at line 2302 of file cfl_baseset.h.

◆ AttachClient()

template<class T , class Cmp >
void faudes::TBaseSet< T, Cmp >::AttachClient ( TBaseSet< T, Cmp > *  pRef) const
inlineprotected

Record that we provide contents to some other BaseSet

Definition at line 1563 of file cfl_baseset.h.

◆ AttachIterator()

template<class T , class Cmp >
void faudes::TBaseSet< T, Cmp >::AttachIterator ( Iterator pFit) const
inlineprotected

Record that an iterator refers to this TBaseSet

Definition at line 1613 of file cfl_baseset.h.

◆ Attribute() [1/2]

template<class T , class Cmp >
const AttributeVoid & faudes::TBaseSet< T, Cmp >::Attribute ( const T &  rElem) const
virtual

Attribute access. This virtual function provides an interface for derived classes with attributes eg TaIndexSet. The TBaseSet has no attributes and thus returns a void attribute. Derived classes that provide attributes are meant to return the attribute specified by rElem.

Parameters
rElemElement of which the attribute is requested
Returns
Attribute of specified element

Definition at line 2355 of file cfl_baseset.h.

◆ Attribute() [2/2]

template<class T , class Cmp >
void faudes::TBaseSet< T, Cmp >::Attribute ( const T &  rElem,
const Type rAttr 
)
virtual

Attribute access. This virtual function provides an interface for derived classes with attributes eg TaIndexSet. The TBaseSet itself has void attributes and thus formally accepts any nontrivial attribute, however, ignoring any value. Derived classes that provide attributes are meant to set the attribute as specified. Only if the required cast to the actual attribute type fails an exception is thrown.

Parameters
rElemElement of which the attribute is to be set
rAttrAttribute value to set.
Exceptions
Exception
  • Element does not exist (60)
  • Cannot cast attribute type (63)

Definition at line 2362 of file cfl_baseset.h.

◆ Attributep()

template<class T , class Cmp >
AttributeVoid * faudes::TBaseSet< T, Cmp >::Attributep ( const T &  rElem)
virtual

Attribute access. This virtual function provides an interface for derived classes with attributes eg TaIndexSet. The TBaseSet has no attributes and thus throws an exception. Derived classes that provide attributes are meant to return a pointer to the attribute specified by rElem.

Parameters
rElemElement of which the attribute is requested
Returns
Attribute of specified element
Exceptions
Exception
  • No attributes provided (id 63)

Definition at line 2344 of file cfl_baseset.h.

◆ Attributes()

template<class T , class Cmp >
void faudes::TBaseSet< T, Cmp >::Attributes ( const TBaseSet< T, Cmp > &  rOtherSet)
virtual

Attributes access. This virtual function provides an interface for derived classes with attributes eg TaIndexSet. It copies attributes from the specified set, provided that they can be casted appropriately. Elements of this set which are not in rOtherSet maintain their attribute.

Parameters
rOtherSetOther BaseSet
Exceptions
Exception
  • Cannot cast attribute type (63)

Definition at line 2311 of file cfl_baseset.h.

◆ AttributesSize()

template<class T , class Cmp >
Idx faudes::TBaseSet< T, Cmp >::AttributesSize ( void  ) const

Attribute access. This virtual function provides an interface for derived classes with attributes eg TaIndexSet. Provide the number of explicit attributes. The TBaseSet itself has no attributes and thus this function returns 0.

Definition at line 2247 of file cfl_baseset.h.

◆ AttributeTest()

template<class T , class Cmp >
bool faudes::TBaseSet< T, Cmp >::AttributeTest ( const Type rAttr) const
virtual

Attribute typeinfo. This virtual function provides an interface for derived classes with attributes eg TaIndexSet. It tests whether this set accepts the specified attribute type ie whether it can be casted. The test is performned by the Cast function of the attribute type returned by AttributeType().

Parameters
rAttrAttribute type to test.
Returns
True, if attribute type is accepted.

Definition at line 2242 of file cfl_baseset.h.

◆ AttributeType()

template<class T , class Cmp >
const AttributeVoid * faudes::TBaseSet< T, Cmp >::AttributeType ( void  ) const
virtual

Attribute typeinfo. This virtual function provides an interface for derived container classes with attributes eg TaIndexSet. When not re-implemented, it returns an attribute with type AttributeVoid to indicate the absence of nontrivial attributes

Reimplemented in faudes::TaTransSet< Attr >, faudes::TaNameSet< Attr >, faudes::TaNameSet< faudes::AttributeFailureEvents >, faudes::TaNameSet< AttributeSimCondition >, faudes::TaNameSet< faudes::AttributeSignalEvent >, faudes::TaNameSet< faudes::AttributeSimplenetEvent >, faudes::TaNameSet< EventAttr >, faudes::TaNameSet< SimEventAttribute >, faudes::TaIndexSet< Attr >, faudes::TaIndexSet< StateAttr >, and faudes::TaIndexSet< faudes::DiagLabelSet >.

Definition at line 2236 of file cfl_baseset.h.

◆ Begin()

template<class T , class Cmp >
TBaseSet< T, Cmp >::Iterator faudes::TBaseSet< T, Cmp >::Begin ( void  ) const
inline

Iterator to the begin of set

Returns
Iterator

Definition at line 1951 of file cfl_baseset.h.

◆ Clear()

template<class T , class Cmp >
void faudes::TBaseSet< T, Cmp >::Clear ( void  )
virtual

Clear all set to default aka empty

Reimplemented from faudes::Type.

Definition at line 1962 of file cfl_baseset.h.

◆ ClearAttributes()

template<class T , class Cmp >
void faudes::TBaseSet< T, Cmp >::ClearAttributes ( void  )

Attribute access. This virtual function provides an interface for derived classes with attributes eg TaIndexSet. The TBaseSet itself has no attributes and thus this function does nothing.

Definition at line 2252 of file cfl_baseset.h.

◆ ClrAttribute()

template<class T , class Cmp >
void faudes::TBaseSet< T, Cmp >::ClrAttribute ( const T &  rElem)
virtual

Attribute access. Cleras an explicit attribute associated with the specified element if sucht attribute exists. The TBaseSet itself has no attributes and thus this function will do nothing.

Parameters
rElemElement of which the attribute is to be cleared

Definition at line 2382 of file cfl_baseset.h.

◆ Detach()

template<class T , class Cmp >
void faudes::TBaseSet< T, Cmp >::Detach ( DetachMode  flag = AttrIncl) const

Definition at line 1352 of file cfl_baseset.h.

◆ DetachClient()

template<class T , class Cmp >
void faudes::TBaseSet< T, Cmp >::DetachClient ( TBaseSet< T, Cmp > *  pRef) const
inlineprotected

Record that we stop providing data for some TBaseSet

Definition at line 1571 of file cfl_baseset.h.

◆ DetachIterator()

template<class T , class Cmp >
void faudes::TBaseSet< T, Cmp >::DetachIterator ( Iterator pFit) const
inlineprotected

Record that an iterator stops to refer to this TBaseSet

Definition at line 1620 of file cfl_baseset.h.

◆ Disjoint()

template<class T , class Cmp >
bool faudes::TBaseSet< T, Cmp >::Disjoint ( const TBaseSet< T, Cmp > &  rOtherSet) const
virtual

Test for this set to be disjoint witg other set

Parameters
rOtherSetSet of elements to keep

Definition at line 2154 of file cfl_baseset.h.

◆ DoAssign()

template<class T , class Cmp >
void faudes::TBaseSet< T, Cmp >::DoAssign ( const TBaseSet< T, Cmp > &  rSourceSet)
protected

assign my members

Definition at line 1281 of file cfl_baseset.h.

◆ DoAttribute() [1/2]

template<class T , class Cmp >
const AttributeVoid * faudes::TBaseSet< T, Cmp >::DoAttribute ( const T &  rElem) const
protected

get attribute from map (return null if elem does not exist in map)

Definition at line 2389 of file cfl_baseset.h.

◆ DoAttribute() [2/2]

template<class T , class Cmp >
void faudes::TBaseSet< T, Cmp >::DoAttribute ( const T &  rElem,
const Type pAttr 
)
protected

set attribute in map (assume elem exists in set, NULL <=> set to default)

Definition at line 2417 of file cfl_baseset.h.

◆ DoAttributeExplicit()

template<class T , class Cmp >
AttributeVoid * faudes::TBaseSet< T, Cmp >::DoAttributeExplicit ( const T &  rElem)
protected

get attribute from map (insert explicit default if elem does not exist in map)

Definition at line 2397 of file cfl_baseset.h.

◆ DoDWrite()

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

Token output, debugging see Type::DWrite for public wrappers. Reimplement this function in derived classes for specific specific template parameters.

Parameters
rTwReference to TokenWriter
rLabelLabel of section to write, defaults to name of set
pContextWrite context to provide contextual information

Reimplemented from faudes::Type.

Reimplemented in faudes::NameSet.

Definition at line 1852 of file cfl_baseset.h.

◆ DoEqual()

template<class T , class Cmp >
bool faudes::TBaseSet< T, Cmp >::DoEqual ( const TBaseSet< T, Cmp > &  rOtherSet) const
protected

test equality

Definition at line 2209 of file cfl_baseset.h.

◆ DoRead()

template<class T , class Cmp >
void faudes::TBaseSet< T, Cmp >::DoRead ( TokenReader rTr,
const std::string &  rLabel = "",
const Type pContext = 0 
)
protectedvirtual

Token input, see Type::Read for public wrappers. Reimplement this function in derived classes for specific specific template parameters. By convention, the default label "" should be translated to some meaningful default, eg "IndexSet" for a set of indices". The pContext pointer can de type-checked and interpreted, ie as a symboltable to provide symbolic names. It is also passed on to attributes.

Parameters
rTrReference to TokenReader
rLabelLabel of section to read, defaults to name of set
pContextRead context to provide contextual information

Reimplemented from faudes::Type.

Reimplemented in faudes::NameSet, faudes::SymbolSet, and faudes::IndexSet.

Definition at line 1900 of file cfl_baseset.h.

◆ DoReadElement()

template<class T , class Cmp >
void faudes::TBaseSet< T, Cmp >::DoReadElement ( TokenReader rTr,
T &  rElem,
const std::string &  rLabel,
const Type pContext 
)
protectedvirtual

Token input for individual elemets. Reimplement this function in derived classes for specific specific template parameters. The pContext pointer can de type-checked and interpreted, ie as a symboltable to provide symbolic names. It is also passed on to attributes.

Parameters
rTrReference to TokenReader
rElemElement tor read to
rLabelLabel of section to read, defaults to name of set
pContextRead context to provide contextual information

Definition at line 1886 of file cfl_baseset.h.

◆ DoSWrite()

template<class T , class Cmp >
void faudes::TBaseSet< T, Cmp >::DoSWrite ( TokenWriter rTw) const
protectedvirtual

Token output, see Type::SWrite for public wrappers. Statistics include size, name and attributey type. The latter is retrieved from the RTI, if initialized. Dereived sets may reimplement this method.

Parameters
rTwReference to TokenWriter

Reimplemented from faudes::Type.

Definition at line 1870 of file cfl_baseset.h.

◆ DoWrite()

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

Token output, see Type::WWrite for public wrappers. The default implementation iterates over the individual elements and writes them by DoWriteElement. Reimplement this function in derived classes for a taylored output format.

By convention, the default label "" should be translated to a) the name of the set or b) some meaningful default, eg "IndexSet" for a set of indices.

The pContext pointer can de type-checked and interpreted, ie as a symboltable to provide symbolic names. It is also passed on to attributes.

Parameters
rTwReference to TokenWriter
rLabelLabel of section to write, defaults to name of set
pContextWrite context to provide contextual information

Reimplemented from faudes::Type.

Reimplemented in faudes::SymbolSet, faudes::NameSet, faudes::IndexSet, faudes::TTransSet< Cmp >, faudes::TTransSet< TransSort::X1EvX2 >, and faudes::TTransSet< TransSort::X2EvX1 >.

Definition at line 1820 of file cfl_baseset.h.

◆ DoWriteElement()

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

Token output for an individual element of the set. The default implementation casts the element to faudes::Type and uses the API thereof. This is meant for "small sets of large elements". For a more tailored ourput on "large sets of small elements", you most likely want to re-implement DoWrite.

Parameters
rTwReference to TokenWriter
rElemThe element to write
rLabelLabel of section to write, defaults to ElemenTag
pContextWrite context to provide contextual information

Definition at line 1792 of file cfl_baseset.h.

◆ DoXWrite()

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

Token output, strict XML version Reimplement this function in derived classes for specific specific template parameters.

Parameters
rTwReference to TokenWriter
rLabelLabel of section to write, defaults to name of set
pContextWrite context to provide contextual information

Reimplemented from faudes::Type.

Reimplemented in faudes::NameSet, and faudes::IndexSet.

Definition at line 1837 of file cfl_baseset.h.

◆ DoXWriteElement()

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

Token output for an individual element of the set, strict XML variant. See also DoWriteElement

Parameters
rTwReference to TokenWriter
rElemThe element to write
rLabelLabel of section to write, defaults to ElemenTag
pContextWrite context to provide contextual information

Definition at line 1806 of file cfl_baseset.h.

◆ DValid()

template<class T , class Cmp >
void faudes::TBaseSet< T, Cmp >::DValid ( const std::string &  rMessage = "") const

Some validation of deferred copy mechanism (provoke abort)

Definition at line 1627 of file cfl_baseset.h.

◆ Empty()

template<class T , class Cmp >
bool faudes::TBaseSet< T, Cmp >::Empty ( void  ) const

Test whether if the TBaseSet is Empty

Returns
True if empty

Definition at line 1787 of file cfl_baseset.h.

◆ End()

template<class T , class Cmp >
TBaseSet< T, Cmp >::Iterator faudes::TBaseSet< T, Cmp >::End ( void  ) const
inline

Iterator to the end of set

Returns
Iterator

Definition at line 1956 of file cfl_baseset.h.

◆ EqualAttributes()

template<class T , class Cmp >
bool faudes::TBaseSet< T, Cmp >::EqualAttributes ( const TBaseSet< T, Cmp > &  rOtherSet) const

Attribute access. Test whether attributes match with other set, and return true if attributes match for shared elements. It uses the equality test of individual attributes and, hence, requires the attribute type match too.

Parameters
rOtherSetOther set to compare with.
Returns
True on match.

Definition at line 2261 of file cfl_baseset.h.

◆ Erase() [1/2]

template<class T , class Cmp >
TBaseSet< T, Cmp >::Iterator faudes::TBaseSet< T, Cmp >::Erase ( const Iterator pos)
virtual

Erase element by iterator

Parameters
posIterator to specify element
Returns
Iterator to next element (or End if no such)

Reimplemented in faudes::TTransSet< Cmp >, faudes::TTransSet< TransSort::X1EvX2 >, and faudes::TTransSet< TransSort::X2EvX1 >.

Definition at line 2091 of file cfl_baseset.h.

◆ Erase() [2/2]

template<class T , class Cmp >
bool faudes::TBaseSet< T, Cmp >::Erase ( const T &  rElem)
virtual

Erase element by reference

Parameters
rElemElement to erase
Returns
True if element used to exist

Definition at line 2084 of file cfl_baseset.h.

◆ EraseSet()

template<class T , class Cmp >
void faudes::TBaseSet< T, Cmp >::EraseSet ( const TBaseSet< T, Cmp > &  rOtherSet)
virtual

Erase elements given by other set

Parameters
rOtherSetSet of elements to erase

Definition at line 2107 of file cfl_baseset.h.

◆ Exists()

template<class T , class Cmp >
bool faudes::TBaseSet< T, Cmp >::Exists ( const T &  rElem) const

Test existence of element

Parameters
rElemElement to test
Returns
True if element exists in set

Definition at line 2180 of file cfl_baseset.h.

◆ Find()

template<class T , class Cmp >
TBaseSet< T, Cmp >::Iterator faudes::TBaseSet< T, Cmp >::Find ( const T &  rElem) const

Find element and return iterator.

Parameters
rElemElement to find
Returns
Iterator to element or End() if nonexistent

Definition at line 2175 of file cfl_baseset.h.

◆ Inject() [1/2]

template<class T , class Cmp >
TBaseSet< T, Cmp >::Iterator faudes::TBaseSet< T, Cmp >::Inject ( const Iterator pos,
const T &  rElem 
)
virtual

Insert specified element

Parameters
posInsertion hint passed to STL
rElemElement to insert
Returns
Insertion position

Definition at line 2038 of file cfl_baseset.h.

◆ Inject() [2/2]

template<class T , class Cmp >
void faudes::TBaseSet< T, Cmp >::Inject ( const T &  rElem)
virtual

Insert specified element

Parameters
rElemElement to insert

Definition at line 2046 of file cfl_baseset.h.

◆ Insert()

template<class T , class Cmp >
bool faudes::TBaseSet< T, Cmp >::Insert ( const T &  rElem)
virtual

Insert specified element

Parameters
rElemElement to insert
Returns
True if index was new to set

Definition at line 2025 of file cfl_baseset.h.

◆ InsertSet()

template<class T , class Cmp >
void faudes::TBaseSet< T, Cmp >::InsertSet ( const TBaseSet< T, Cmp > &  rOtherSet)
virtual

Insert elements given by rOtherSet

Parameters
rOtherSetSet of elements to insert

Definition at line 2052 of file cfl_baseset.h.

◆ IsDefault()

template<class T , class Cmp >
bool faudes::TBaseSet< T, Cmp >::IsDefault ( void  ) const
virtual

Test fo default aka empty

Reimplemented from faudes::AttrType.

Definition at line 2014 of file cfl_baseset.h.

◆ Lock()

template<class T , class Cmp >
void faudes::TBaseSet< T, Cmp >::Lock ( void  ) const

Detach and lock any further reallocation

Definition at line 1483 of file cfl_baseset.h.

◆ operator*()

template<class T , class Cmp >
TBaseSet< T, Cmp > faudes::TBaseSet< T, Cmp >::operator* ( const TBaseSet< T, Cmp > &  rOtherSet) const

Set intersection operator

Returns
Intersection Set

Definition at line 2201 of file cfl_baseset.h.

◆ operator+()

template<class T , class Cmp >
TBaseSet< T, Cmp > faudes::TBaseSet< T, Cmp >::operator+ ( const TBaseSet< T, Cmp > &  rOtherSet) const

Set union operator

Returns
Union Set

Definition at line 2186 of file cfl_baseset.h.

◆ operator-()

template<class T , class Cmp >
TBaseSet< T, Cmp > faudes::TBaseSet< T, Cmp >::operator- ( const TBaseSet< T, Cmp > &  rOtherSet) const

Set difference operator

Returns
Difference Set

Definition at line 2193 of file cfl_baseset.h.

◆ operator<()

template<class T , class Cmp >
bool faudes::TBaseSet< T, Cmp >::operator< ( const TBaseSet< T, Cmp > &  rOtherSet) const

Order for sorting containers of TBaseSet

Definition at line 2230 of file cfl_baseset.h.

◆ operator<=()

template<class T , class Cmp >
bool faudes::TBaseSet< T, Cmp >::operator<= ( const TBaseSet< T, Cmp > &  rOtherSet) const

Test for subset

Definition at line 2218 of file cfl_baseset.h.

◆ operator>=()

template<class T , class Cmp >
bool faudes::TBaseSet< T, Cmp >::operator>= ( const TBaseSet< T, Cmp > &  rOtherSet) const

Test for superset

Definition at line 2224 of file cfl_baseset.h.

◆ RelinkClients()

template<class T , class Cmp >
void faudes::TBaseSet< T, Cmp >::RelinkClients ( void  )
inlineprotected

Ensure that we do not host contents to anyone else

Definition at line 1514 of file cfl_baseset.h.

◆ RestrictSet()

template<class T , class Cmp >
void faudes::TBaseSet< T, Cmp >::RestrictSet ( const TBaseSet< T, Cmp > &  rOtherSet)
virtual

Restrict elements given by other set

Parameters
rOtherSetSet of elements to keep

Definition at line 2129 of file cfl_baseset.h.

◆ SetDifference()

template<class T , class Cmp >
void faudes::SetDifference ( const TBaseSet< T, Cmp > &  rSetA,
const TBaseSet< T, Cmp > &  rSetB,
TBaseSet< T, Cmp > &  rRes 
)

Definition at line 1096 of file cfl_baseset.h.

◆ SetEquality()

template<class T , class Cmp >
bool faudes::SetEquality ( const TBaseSet< T, Cmp > &  rSetA,
const TBaseSet< T, Cmp > &  rSetB 
)

Definition at line 1130 of file cfl_baseset.h.

◆ SetInclusion()

template<class T , class Cmp >
bool faudes::SetInclusion ( const TBaseSet< T, Cmp > &  rSetA,
const TBaseSet< T, Cmp > &  rSetB 
)

Definition at line 1146 of file cfl_baseset.h.

◆ SetIntersection()

template<class T , class Cmp >
void faudes::SetIntersection ( const TBaseSet< T, Cmp > &  rSetA,
const TBaseSet< T, Cmp > &  rSetB,
TBaseSet< T, Cmp > &  rRes 
)

Definition at line 1067 of file cfl_baseset.h.

◆ SetUnion()

template<class T , class Cmp >
void faudes::SetUnion ( const TBaseSet< T, Cmp > &  rSetA,
const TBaseSet< T, Cmp > &  rSetB,
TBaseSet< T, Cmp > &  rRes 
)

Definition at line 1037 of file cfl_baseset.h.

◆ Size()

template<class T , class Cmp >
Idx faudes::TBaseSet< T, Cmp >::Size ( void  ) const

Get Size of TBaseSet

Returns
Number of indices in TBaseSet

Definition at line 1782 of file cfl_baseset.h.

◆ Str()

template<class T , class Cmp >
std::string faudes::TBaseSet< T, Cmp >::Str ( const T &  rElem) const
virtual

Return pretty printable element. Reimplement this method for derived classes.

Parameters
rElemElement to print
Returns
String

Definition at line 1775 of file cfl_baseset.h.

◆ TBaseSet() [1/3]

template<class T , class Cmp >
faudes::TBaseSet< T, Cmp >::TBaseSet ( const std::string &  rFilename,
const std::string &  rLabel = "BaseSet" 
)

Constructor from file. This constructor indicates the intended interface for derived classes. The base set itself cannot read from token streams.

Parameters
rFilenameName of File
rLabelSection for the set in the file;

Definition at line 1212 of file cfl_baseset.h.

◆ TBaseSet() [2/3]

template<class T , class Cmp >
faudes::TBaseSet< T, Cmp >::TBaseSet ( const TBaseSet< T, Cmp > &  rOtherSet)

Copy-constructor.

Parameters
rOtherSetSource to copy from

Definition at line 1233 of file cfl_baseset.h.

◆ TBaseSet() [3/3]

template<class T , class Cmp >
faudes::TBaseSet< T, Cmp >::TBaseSet ( void  )

Constructor.

Definition at line 1193 of file cfl_baseset.h.

◆ ThisIterator()

template<class T , class Cmp >
TBaseSet< T, Cmp >::Iterator faudes::TBaseSet< T, Cmp >::ThisIterator ( const typename std::set< T, Cmp >::const_iterator sit) const
protected

Convert STL iterator to API iterator

Definition at line 1946 of file cfl_baseset.h.

◆ Valid()

template<class T , class Cmp >
bool faudes::TBaseSet< T, Cmp >::Valid ( const T &  rElem) const
inlinevirtual

Test validty of candidate element.

Reimplement this function for particular type T of elements, eg for an index set with T=Idx indicate 0 an invalid index.

Parameters
rElemCandidate to test
Returns
True if element is valid

Definition at line 2019 of file cfl_baseset.h.

◆ ~TBaseSet()

template<class T , class Cmp >
faudes::TBaseSet< T, Cmp >::~TBaseSet ( void  )
virtual

Virtual destructor

Definition at line 1257 of file cfl_baseset.h.

Variable Documentation

◆ msEmptyAttributes

template<class T , class Cmp >
std::map< T, AttributeVoid * > faudes::TBaseSet< T, Cmp >::msEmptyAttributes =std::map<T,AttributeVoid*>()
staticprotected

static empty STL map for default constructor

Definition at line 1015 of file cfl_baseset.h.

◆ msEmptySet

template<class T , class Cmp >
std::set< T, Cmp > faudes::TBaseSet< T, Cmp >::msEmptySet =std::set<T,Cmp>()
staticprotected

static empty STL set for default constructor

Definition at line 1012 of file cfl_baseset.h.

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