Detailed Description

template<class Attr>
class faudes::TaIndexSet< Attr >

Set of indices with attributes.

A TaIndexSet<Attr> is a template derived from IndexSet, such that each set element has an Attribute of class Attr. The template parameter Attr must provide basic functions for file IO and must define a default value, see AttributeVoid and AttributeFlags for an examples. Attributes are maintained by an STL map to associate indices with attributes different from the default value. Thus, attributes with default value do not take up any memeory.

Parameters
mAttributeMapSTL map of type std::map<Idx,Attr> to hold attributes

The copy constructor copies attributes; the methods InsertSet(), EraseSet() and RestrictSet() maintain attributes; all other set operations derived from IndexSet
either return a IndexSet (no attributes) or set all attributes to the dafault value. To set or get an attribute of an index that does not exist in the set is considered as an error and triggers an exception (id 60) when the macro FAUDES_CHECKED is defined.

The format for token IO is demonstrated by the following example of a set with name "MySet" consisting of indices 17, 25, 40, where index 25 has a nontrivial attribute attached:

<Myset>
17
25 <AValue> "Some Value" </AValue>
40
</MySet>

Note that attributes may be either subsections or tokens of type different from integer and string. This is to allow reading a token stream to a class with incompatible (or no) attributes.

Definition at line 316 of file cfl_indexset.h.

#include <cfl_indexset.h>

Public Member Functions

 TaIndexSet (void)
 Constructor. More...
 
 TaIndexSet (const TaIndexSet &rOtherSet)
 Copy-constructor (from TaIndexSet, incl attributes) More...
 
 TaIndexSet (const IndexSet &rOtherSet)
 Copy-constructor (from IndexSet, sets attributes to default) More...
 
 TaIndexSet (const std::string &rFilename, const std::string &rLabel="")
 Construct from file. More...
 
virtual ~TaIndexSet (void)
 Virtual destructor. More...
 
virtual TaIndexSetAssign (const TBaseSet< Idx > &rSrc)
 Relaxed assignment method. More...
 
virtual TaIndexSetoperator= (const IndexSet &rSrc)
 Relaxed assignment operator. More...
 
Idx Insert (void)
 Insert new index to set using default attribute. More...
 
Idx Insert (const Attr &rAttr)
 Insert new index with attribute. More...
 
bool Insert (const Idx &rIndex)
 Insert element. More...
 
bool Insert (const Idx &rIndex, const Attr &attr)
 Insert element with attribute. More...
 
virtual void InsertSet (const IndexSet &rOtherSet)
 Inserts elements of rOtherSet. More...
 
virtual void InsertSet (const TBaseSet< Idx > &rOtherSet)
 Inserts elements of rOtherSet. More...
 
bool Erase (const Idx &rIndex)
 Erase Element (incl its attribute) More...
 
IndexSet::Iterator Erase (const Iterator &pos)
 Erase element by iterator (incl attribute) More...
 
void EraseSet (const IndexSet &rOtherSet)
 Erase elements given by other set. More...
 
virtual void EraseSet (const TBaseSet< Idx > &rOtherSet)
 Erase elements given by other set. More...
 
void RestrictSet (const IndexSet &rOtherSet)
 Restrict to specified subset. More...
 
virtual void RestrictSet (const TBaseSet< Idx > &rOtherSet)
 Restrict to specified subset. More...
 
const Attr * AttributeType (void) const
 resolve ambiguities from attribute interface ("using" wont do the job) More...
 
Attr * Attributep (const Idx &rElem)
 
const Attr & Attribute (const Idx &rElem) const
 
void Attribute (const Idx &rElem, const Attr &rAttr)
 
void Attribute (const Idx &rElem, const Type &rAttr)
 
void AttributeTry (const Idx &rElem, const Type &rAttr)
 Attribute access. More...
 
- Public Member Functions inherited from faudes::IndexSet
 IndexSet (void)
 Constructor. More...
 
 IndexSet (const IndexSet &rOtherSet)
 Copy-constructor. More...
 
 IndexSet (const TBaseSet< Idx > &rOtherSet)
 Copy-constructor. More...
 
 IndexSet (const std::string &rFilename, const std::string &rLabel="")
 Construct from file. More...
 
virtual ~IndexSet (void)
 Virtual destructor. More...
 
Idx MaxIndex (void) const
 Get maximum index used in this set (0 for emptyset) More...
 
bool Valid (const Idx &rIndex) const
 Test whether index is not 0. More...
 
Idx Insert (void)
 Insert new index to set. More...
 
bool Insert (const Idx &rIndex)
 Insert specified index. More...
 
Idx Signature (void) const
 Compute an Idx type signature for a Set. More...
 
std::string Str (const Idx &rIndex) const
 Return pretty printable index. More...
 
- Public Member Functions inherited from faudes::TBaseSet< Idx >
 TBaseSet (void)
 Constructor. More...
 
 TBaseSet (const TBaseSet &rOtherSet)
 Copy-constructor. More...
 
 TBaseSet (const std::string &rFilename, const std::string &rLabel="BaseSet")
 Constructor from file. More...
 
virtual ~TBaseSet (void)
 Virtual destructor. More...
 
const std::string & Name (void) const
 Return name of TBaseSet. More...
 
void Name (const std::string &rName)
 Set name of TBaseSet. More...
 
virtual void Clear (void)
 Clear all set. More...
 
Idx Size (void) const
 Get Size of TBaseSet. More...
 
bool Empty (void) const
 Test whether if the TBaseSet is Empty. More...
 
virtual std::string Str (const Idx &rElem) const
 Return pretty printable element. More...
 
Iterator Begin (void) const
 Iterator to the begin of set. More...
 
Iterator End (void) const
 Iterator to the end of set. More...
 
virtual bool Valid (const Idx &rElem) const
 Test validty of candidate element. More...
 
virtual bool Erase (const Idx &rElem)
 Erase element by reference. More...
 
virtual Iterator Erase (const Iterator &pos)
 Erase element by iterator. More...
 
virtual void EraseSet (const TBaseSet &rOtherSet)
 Erase elements given by other set. More...
 
virtual void RestrictSet (const TBaseSet &rOtherSet)
 Restrict elements given by other set. More...
 
virtual bool Disjoint (const TBaseSet &rOtherSet) const
 Test for this set to be disjoint witg other set. More...
 
virtual bool Insert (const Idx &rElem)
 Insert specified element. More...
 
virtual Iterator Inject (const Iterator &pos, const Idx &rElem)
 Insert specified element. More...
 
virtual void Inject (const Idx &rElem)
 Insert specified element. More...
 
virtual void InsertSet (const TBaseSet &rOtherSet)
 Insert elements given by rOtherSet. More...
 
bool Exists (const Idx &rElem) const
 Test existence of element. More...
 
Iterator Find (const Idx &rElem) const
 Find element and return iterator. More...
 
TBaseSet operator+ (const TBaseSet &rOtherSet) const
 Set union operator. More...
 
TBaseSet operator- (const TBaseSet &rOtherSet) const
 Set difference operator. More...
 
TBaseSet operator* (const TBaseSet &rOtherSet) const
 Set intersection operator. More...
 
bool operator<= (const TBaseSet &rOtherSet) const
 Test for subset
More...
 
bool operator>= (const TBaseSet &rOtherSet) const
 Test for superset. More...
 
bool operator< (const TBaseSet &rOtherSet) const
 Order for sorting containers of TBaseSet. More...
 
void DValid (const std::string &rMessage="") const
 Some validation of deferred copy mechanism (provoke abort) More...
 
void Detach (DetachMode flag=AttrIncl) const
 
void Lock (void) const
 Detach and lock any further reallocation. More...
 
virtual bool AttributeTest (const Type &rAttr) const
 Attribute typeinfo. More...
 
virtual TBaseSetAssignWithoutAttributes (const TBaseSet &rSourceSet)
 Attribute access. More...
 
virtual void Attributes (const TBaseSet &rOtherSet)
 Attributes access. More...
 
Idx AttributesSize (void) const
 Attribute access. More...
 
void ClearAttributes (void)
 Attribute access. More...
 
bool EqualAttributes (const TBaseSet &rOtherSet) const
 Attribute access. More...
 
virtual AttributeVoidAttributep (const Idx &rElem)
 Attribute access. More...
 
virtual const AttributeVoidAttribute (const Idx &rElem) const
 Attribute access. More...
 
virtual void Attribute (const Idx &rElem, const Type &rAttr)
 Attribute access. More...
 
virtual void ClrAttribute (const Idx &rElem)
 Attribute access. More...
 
virtual void XElementTag (const std::string &rTag)
 Configure the element name tag. More...
 
virtual const std::string & TypeName (void) const
 Get objects's type name. More...
 
virtual void TypeName (const std::string &rType)
 Overwrite faudes-type name. More...
 
- Public Member Functions inherited from faudes::Type
 Type (void)
 Constructor. More...
 
 Type (const Type &rType)
 Copy constructor. More...
 
virtual ~Type (void)
 Destructor. More...
 
virtual TypeNew (void) const
 Construct on heap. More...
 
virtual TypeCopy (void) const
 Construct on heap. More...
 
virtual const TypeCast (const Type *pOther) const
 Cast other object to this type. More...
 
virtual TypeAssign (const Type &rSrc)
 Assign configuration data from other object. More...
 
virtual Typeoperator= (const Type &rSrc)
 Assign configurationdata from other object. More...
 
virtual bool Equal (const Type &rOther) const
 Test equality of configuration data. More...
 
virtual bool operator== (const Type &rOther) const
 Test equality of configuration data. More...
 
virtual bool operator!= (const Type &rOther) const
 Test equality of configuration data. More...
 
void Write (const Type *pContext=0) const
 Write configuration data to console. More...
 
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
 Write configuration data to a file. More...
 
void Write (const std::string &pFileName, std::ios::openmode openmode) const
 Write configuration data to a file. More...
 
void Write (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 Write configuration data to TokenWriter. More...
 
virtual void XWrite (const std::string &pFileName, const std::string &rLabel="", const Type *pContext=0) const
 Write configuration data to an XML file. More...
 
void XWrite (const Type *pContext=0) const
 Write configuration data in XML format to concole Note: this write function uses the virtual function DoXWrite(), to be reimplemented by derived classes. More...
 
void XWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 Write configuration data in XML format to TokenWriter. More...
 
std::string ToString (const std::string &rLabel="", const Type *pContext=0) const
 Write configuration data to a string. More...
 
std::string ToText (const std::string &rLabel="", const Type *pContext=0) const
 Write configuration data to a formated string. More...
 
void DWrite (const Type *pContext=0) const
 Write configuration data to console, debugging format. More...
 
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
 Write configuration data to a file, debugging format. More...
 
void DWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 Write configuration data in debug format to TokenWriter. More...
 
void SWrite (TokenWriter &rTw) const
 Write statistics comment to TokenWriter. More...
 
void SWrite (void) const
 Write statistics comment to console. More...
 
std::string ToSText (void) const
 Write statistics to a string. More...
 
void Read (const std::string &rFileName, const std::string &rLabel="", const Type *pContext=0)
 Read configuration data from file with label specified. More...
 
void FromString (const std::string &rString, const std::string &rLabel="", const Type *pContext=0)
 Read configuration data from a string. More...
 
void Read (TokenReader &rTr, const std::string &rLabel="", const Type *pContext=0)
 Read configuration data from TokenReader with label sepcified. More...
 
- Public Member Functions inherited from faudes::TAttrMap< Idx, Attr >
 TAttrMap (TBaseSet< Idx, std::less< Idx > > *pBaseSetRef)
 Constructor. More...
 
virtual ~TAttrMap (void)
 Virtual destructor. More...
 
void AssignWithAttributes (const TBaseSet< Idx, std::less< Idx > > &rSourceSet)
 Copy from a TBaseSet to the associated TBaseSet, with attributes, provided that they can be casted accordingly. More...
 
const Attr * AttributeType (void) const
 Attribute typeinfo. More...
 
Attr * Attributep (const Idx &rElem)
 Get attribute reference by element. More...
 
const Attr & Attribute (const Idx &rElem) const
 Get attribute by element. More...
 
void Attribute (const Idx &rElem, const Type &attr)
 Set attribute. More...
 
void Attribute (const Idx &rElem, const Attr &attr)
 Set attribute. More...
 
void AttributeTry (const Idx &rElem, const Type &attr)
 Set attribute. More...
 
bool Insert (const Idx &rElem)
 Insert element. More...
 
bool Insert (const Idx &rElem, const Attr &attr)
 Insert element with attribute. More...
 
void InsertSet (const TBaseSet< Idx, std::less< Idx > > &rOtherSet)
 Inserts elements from rOtherSet. More...
 
bool Erase (const Idx &rElem)
 Erase Element (incl its attribute) More...
 
TBaseSet< Idx, std::less< Idx > >::Iterator Erase (const typename TBaseSet< Idx, std::less< Idx > >::Iterator &pos)
 Erase element by iterator (incl attribute) More...
 
void EraseSet (const TBaseSet< Idx, std::less< Idx > > &rOtherSet)
 Erase elements given by other set. More...
 
void RestrictSet (const TBaseSet< Idx, std::less< Idx > > &rOtherSet)
 Restrict to specified subset. More...
 

Protected Member Functions

void DoAssign (const TaIndexSet &rSource)
 Assign my members. More...
 
- Protected Member Functions inherited from faudes::IndexSet
void DoAssign (const IndexSet &rSource)
 Assign my members. More...
 
virtual void DoWrite (TokenWriter &tw, const std::string &rLabel="", const Type *pContext=0) const
 Write to TokenWriter, see Type::Write for public wrappers. More...
 
virtual void DoXWrite (TokenWriter &tw, const std::string &rLabel="", const Type *pContext=0) const
 Write to TokenWriter, see Type::Write for public wrappers. More...
 
virtual void DoRead (TokenReader &rTr, const std::string &rLabel="", const Type *pContext=0)
 Read from TokenReader, see Type::Read for public wrappers. More...
 
- Protected Member Functions inherited from faudes::TBaseSet< Idx >
virtual const std::string & XElementTag (void) const
 Get name of elements (used for XML IO) More...
 
virtual void DoDWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 Token output, debugging see Type::DWrite for public wrappers. More...
 
virtual void DoSWrite (TokenWriter &rTw) const
 Token output, see Type::SWrite for public wrappers. More...
 
void DoAssign (const TBaseSet &rSourceSet)
 assign my members More...
 
bool DoEqual (const TBaseSet &rOtherSet) const
 test equality More...
 
void DoAttribute (const Idx &rElem, const Type *pAttr)
 set attribute in map (assume elem exists in set, NULL <=> set to default) More...
 
const AttributeVoidDoAttribute (const Idx &rElem) const
 get attribute from map (return null if elem does not exist in map) More...
 
AttributeVoidDoAttributeExplicit (const Idx &rElem)
 get attribute from map (insert explicit default if elem does not exist in map) More...
 
TBaseSet< Idx, std::less< Idx > >::Iterator ThisIterator (const typename std::set< Idx, std::less< Idx > >::const_iterator &sit) const
 Convert STL iterator to API iterator. More...
 
void RelinkClients (void)
 Ensure that we do not host contents to anyone else. More...
 
void AttachClient (TBaseSet *pRef) const
 Record that we provide contents to some other BaseSet. More...
 
void DetachClient (TBaseSet *pRef) const
 Record that we stop providing data for some TBaseSet. More...
 
void AttachIterator (Iterator *pFit) const
 Record that an iterator refers to this TBaseSet. More...
 
void DetachIterator (Iterator *pFit) const
 Record that an iterator stops to refer to this TBaseSet. More...
 
virtual const TypeDefinitionTypeDefinitionp (void) const
 Reimplment from type to use chache. More...
 
- Protected Member Functions inherited from faudes::Type
void DoAssign (const Type &rSrc)
 Assign configuration data from other object. More...
 
bool DoEqual (const Type &rOther) const
 Test equality of configuration data. More...
 
virtual Token XBeginTag (const std::string &rLabel="", const std::string &rFallbackLabel="") const
 

Friends

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

Additional Inherited Members

- Public Types inherited from faudes::TBaseSet< Idx >
enum  DetachMode
 Detach from extern storage (incl allocation and true copy) More...
 
- Protected Types inherited from faudes::TBaseSet< Idx >
typedef std::set< Idx, std::less< Idx > >::iterator iterator
 STL iterator, non-const version. More...
 
typedef std::set< Idx, std::less< Idx > >::const_iterator const_iterator
 STL iterator, const version. More...
 
typedef std::map< Idx, AttributeVoid * >::iterator aiterator
 STL attribute iterator, non-const version. More...
 
typedef std::map< Idx, AttributeVoid * >::const_iterator const_aiterator
 STL attribute iterator, const version. More...
 
- Protected Types inherited from faudes::TAttrMap< Idx, Attr >
typedef TBaseSet< Idx, std::less< Idx > >::iterator iterator
 use TBaseSet STL iterators More...
 
typedef TBaseSet< Idx, std::less< Idx > >::const_iterator const_iterator
 use TBaseSet STL iterators More...
 
typedef TBaseSet< Idx, std::less< Idx > >::aiterator aiterator
 use TBaseSet STL iterators More...
 
typedef TBaseSet< Idx, std::less< Idx > >::const_aiterator const_aiterator
 use TBaseSet STL iterators More...
 
- Protected Attributes inherited from faudes::TBaseSet< Idx >
std::string mMyName
 Name of this BaseSet. More...
 
std::set< Idx, std::less< Idx > > * pSet
 Pointer on STL set to operate on. More...
 
std::set< Idx, std::less< Idx > > * mpSet
 STL set, if this object hosts data (else NULL) More...
 
std::map< Idx, AttributeVoid * > * pAttributes
 Pointer to attribute map to operate on. More...
 
std::map< Idx, AttributeVoid * > * mpAttributes
 Attribute map, if this object hosts data (else NULL). More...
 
TBaseSet< Idx, std::less< Idx > > * pHostSet
 Pointer on BaseSet that hosts our data (THIS if we host) More...
 
std::list< TBaseSet< Idx, std::less< Idx > > * >::iterator mClientRecord
 Iterator to the client list that hosts our data (maintained by host) More...
 
std::list< TBaseSet< Idx, std::less< Idx > > * > * mpClients
 BaseSets, that use data hosted by us (NULL if we dont host data, emptyset if we host to ourself excl.) More...
 
bool mDetached
 Indicate "hosts data to myself only". More...
 
bool mLocked
 Indicate "dont re-allocate the STL set ever again". More...
 
std::set< Iterator * > mIterators
 Iterators that refer to this TBaseSet. More...
 
- Protected Attributes inherited from faudes::TAttrMap< Idx, Attr >
TBaseSet< Idx, std::less< Idx > > * pBaseSet
 reference to associated TBaseSet More...
 
- Static Protected Attributes inherited from faudes::TBaseSet< Idx >
static std::set< Idx, std::less< Idx > > msEmptySet
 static empty STL set for default constructor More...
 
static std::map< Idx, AttributeVoid * > msEmptyAttributes
 static empty STL map for default constructor More...
 

Constructor & Destructor Documentation

◆ TaIndexSet() [1/4]

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

Constructor.

Definition at line 574 of file cfl_indexset.h.

◆ TaIndexSet() [2/4]

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

Copy-constructor (from TaIndexSet, incl attributes)

Definition at line 583 of file cfl_indexset.h.

◆ TaIndexSet() [3/4]

template<class Attr >
faudes::TaIndexSet< Attr >::TaIndexSet ( const IndexSet rOtherSet)

Copy-constructor (from IndexSet, sets attributes to default)

Definition at line 594 of file cfl_indexset.h.

◆ TaIndexSet() [4/4]

template<class Attr >
faudes::TaIndexSet< Attr >::TaIndexSet ( const std::string &  rFilename,
const std::string &  rLabel = "" 
)

Construct from file.

This constructor uses the Read(TokenReader&, const std::string&) function to read.

Parameters
rFilenameName of file
rLabelSection for the set in file
Exceptions
Exception
  • IO errors (id 1)
  • token mismatch (id 50, 51, 52)

Definition at line 606 of file cfl_indexset.h.

◆ ~TaIndexSet()

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

Virtual destructor.

Definition at line 362 of file cfl_indexset.h.

Member Function Documentation

◆ Assign()

template<class Attr >
TaIndexSet< Attr > & faudes::TaIndexSet< Attr >::Assign ( const TBaseSet< Idx > &  rSrc)
virtual

Relaxed assignment method.

Maintain attributes provided they can be casted.

Parameters
rSrcSource from which to assign
Returns
Ref to this set

Definition at line 625 of file cfl_indexset.h.

◆ Attribute() [1/3]

template<class Attr >
const Attr& faudes::TaIndexSet< Attr >::Attribute ( const Idx rElem) const
inline

Definition at line 528 of file cfl_indexset.h.

◆ Attribute() [2/3]

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

Definition at line 529 of file cfl_indexset.h.

◆ Attribute() [3/3]

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

Definition at line 530 of file cfl_indexset.h.

◆ Attributep()

template<class Attr >
Attr* faudes::TaIndexSet< Attr >::Attributep ( const Idx rElem)
inline

Definition at line 527 of file cfl_indexset.h.

◆ AttributeTry()

template<class Attr >
void faudes::TaIndexSet< Attr >::AttributeTry ( const Idx 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< Idx >.

Definition at line 531 of file cfl_indexset.h.

◆ AttributeType()

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

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

Reimplemented from faudes::TBaseSet< Idx >.

Definition at line 526 of file cfl_indexset.h.

◆ DoAssign()

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

Assign my members.

This method maintains attributes.

Parameters
rSourceSource to copy from
Returns
Ref to this set

Definition at line 617 of file cfl_indexset.h.

◆ Erase() [1/2]

template<class Attr >
bool faudes::TaIndexSet< Attr >::Erase ( const Idx rIndex)

Erase Element (incl its attribute)

Parameters
rIndexIndex to specify element
Returns
True if element used to exist

Definition at line 704 of file cfl_indexset.h.

◆ Erase() [2/2]

template<class Attr >
IndexSet::Iterator faudes::TaIndexSet< Attr >::Erase ( const Iterator &  pos)

Erase element by iterator (incl attribute)

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

Definition at line 710 of file cfl_indexset.h.

◆ EraseSet() [1/2]

template<class Attr >
void faudes::TaIndexSet< Attr >::EraseSet ( const IndexSet rOtherSet)

Erase elements given by other 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 717 of file cfl_indexset.h.

◆ EraseSet() [2/2]

template<class Attr >
void faudes::TaIndexSet< Attr >::EraseSet ( const TBaseSet< Idx > &  rOtherSet)
virtual

Erase elements given by other set.

This variant uses a runtime cast to access attributes.

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

Definition at line 724 of file cfl_indexset.h.

◆ Insert() [1/4]

template<class Attr >
Idx faudes::TaIndexSet< Attr >::Insert ( const Attr &  rAttr)

Insert new index with attribute.

If the index allready exists, the attribute is overwritten by rAttr.

Parameters
rAttrSpecify attribute of new element
Returns
new index

Definition at line 663 of file cfl_indexset.h.

◆ Insert() [2/4]

template<class Attr >
bool faudes::TaIndexSet< Attr >::Insert ( const Idx rIndex)

Insert element.

If the element exists, the attribute is maintained. If the element does not exist, it is inserted with default attribute.

Parameters
rIndexIndex to specify element
Returns
True if element was new to set

Definition at line 656 of file cfl_indexset.h.

◆ Insert() [3/4]

template<class Attr >
bool faudes::TaIndexSet< Attr >::Insert ( const Idx rIndex,
const Attr &  attr 
)

Insert element with attribute.

Parameters
rIndexIndex to specify element
attrSpecify attribute of (new) element
Returns
True if element was new to set

Definition at line 674 of file cfl_indexset.h.

◆ Insert() [4/4]

template<class Attr >
Idx faudes::TaIndexSet< Attr >::Insert ( void  )

Insert new index to set using default attribute.

Returns
New index

Definition at line 647 of file cfl_indexset.h.

◆ InsertSet() [1/2]

template<class Attr >
void faudes::TaIndexSet< Attr >::InsertSet ( const IndexSet 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 682 of file cfl_indexset.h.

◆ InsertSet() [2/2]

template<class Attr >
void faudes::TaIndexSet< Attr >::InsertSet ( const TBaseSet< Idx > &  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 689 of file cfl_indexset.h.

◆ operator=()

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

Relaxed assignment operator.

Maintain attributes provided they can be casted.

Parameters
rSrcSource from which to assign
Returns
Ref to this set

Definition at line 380 of file cfl_indexset.h.

◆ RestrictSet() [1/2]

template<class Attr >
void faudes::TaIndexSet< Attr >::RestrictSet ( const IndexSet 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 739 of file cfl_indexset.h.

◆ RestrictSet() [2/2]

template<class Attr >
void faudes::TaIndexSet< Attr >::RestrictSet ( const TBaseSet< Idx > &  rOtherSet)
virtual

Restrict to specified subset.

This variant uses a runtime cast to access attributes.

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

Definition at line 746 of file cfl_indexset.h.

Friends And Related Function Documentation

◆ IndexSet

template<class Attr >
friend class IndexSet ( void  )
friend

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

This is used for the pragmatic implemention conversion constructors.

Definition at line 326 of file cfl_indexset.h.


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

libFAUDES 2.32b --- 2024.03.01 --- c++ api documentaion by doxygen