Detailed Description

Rti-wrapper for composition maps.

Parallel-composition and related functions provide an optional argument to record a mapping from original state-indicees to result state-indicees. In order to support this data type in the run-time interface, we provide a wrapper class that is derived from faudes Type. The curent implementation is minimal (no token io).

Definition at line 43 of file cfl_parallel.h.

#include <cfl_parallel.h>

Public Member Functions

 ProductCompositionMap (void)
 Rti wrapper class implementation. More...
 
 ProductCompositionMap (const ProductCompositionMap &rOther)
 
virtual ~ProductCompositionMap (void)
 
virtual void Clear (void)
 Clear configuration data. More...
 
const std::map< std::pair< Idx, Idx >, Idx > & StlMap (void) const
 
std::map< std::pair< Idx, Idx >, Idx > & StlMap (void)
 
void StlMap (const std::map< std::pair< Idx, Idx >, Idx > &rMap)
 
Idx CompState (Idx s1, Idx s2) const
 
Idx Arg1State (Idx s12) const
 
Idx Arg2State (Idx s12) const
 
Typeoperator= (const Type &rSrc)
 Assign configurationdata from other object. More...
 
bool operator== (const Type &rOther) const
 Test equality of configuration data. More...
 
bool operator!= (const Type &rOther) const
 Test equality of configuration data. 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...
 
Typeoperator= (const Type &rSrc)
 Assign configurationdata from other object. More...
 
virtual bool Equal (const Type &rOther) const
 Test equality of configuration data. More...
 
bool operator== (const Type &rOther) const
 Test equality of configuration data. More...
 
bool operator!= (const Type &rOther) const
 Test equality of configuration data. More...
 
virtual void Name (const std::string &rName)
 Set the objects's name. More...
 
virtual const std::string & Name (void) const
 Get objects's name. More...
 
virtual const std::string & TypeName (void) const
 Get objects's type name. 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...
 

Protected Member Functions

void DoAssign (const ProductCompositionMap &rSrc)
 
bool DoEqual (const ProductCompositionMap &rOther) const
 
- 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 void DoRead (TokenReader &rTr, const std::string &rLabel="", const Type *pContext=0)
 Read configuration data of this object from TokenReader. More...
 
virtual void DoWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 Write configuration data of this object to TokenWriter. More...
 
virtual void DoXWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 Write configuration data of this object to TokenWriter in XML format. More...
 
virtual void DoDWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 Write configuration data in debugging format to TokenWriter. More...
 
virtual void DoSWrite (TokenWriter &rTw) const
 Write statistical data as a comment to TokenWriter. More...
 
virtual const TypeDefinitionTypeDefinitionp (void) const
 Get objects's type definition. More...
 
virtual Token XBeginTag (const std::string &rLabel="", const std::string &rFallbackLabel="") const
 

Protected Attributes

std::map< std::pair< Idx, Idx >, IdxmCompositionMap
 
bool mCompiled
 
std::map< Idx, IdxmArg1Map
 
std::map< Idx, IdxmArg2Map
 

Constructor & Destructor Documentation

◆ ProductCompositionMap() [1/2]

faudes::ProductCompositionMap::ProductCompositionMap ( void  )

Rti wrapper class implementation.

Definition at line 708 of file cfl_parallel.cpp.

◆ ProductCompositionMap() [2/2]

faudes::ProductCompositionMap::ProductCompositionMap ( const ProductCompositionMap rOther)

Definition at line 713 of file cfl_parallel.cpp.

◆ ~ProductCompositionMap()

faudes::ProductCompositionMap::~ProductCompositionMap ( void  )
virtual

Definition at line 718 of file cfl_parallel.cpp.

Member Function Documentation

◆ Arg1State()

Idx faudes::ProductCompositionMap::Arg1State ( Idx  s12) const

Definition at line 768 of file cfl_parallel.cpp.

◆ Arg2State()

Idx faudes::ProductCompositionMap::Arg2State ( Idx  s12) const

Definition at line 785 of file cfl_parallel.cpp.

◆ Clear()

void faudes::ProductCompositionMap::Clear ( void  )
virtual

Clear configuration data.

Derived classes should re-implement this method to ensure some consistent configuration data.

Reimplemented from faudes::Type.

Definition at line 722 of file cfl_parallel.cpp.

◆ CompState()

Idx faudes::ProductCompositionMap::CompState ( Idx  s1,
Idx  s2 
) const

Definition at line 760 of file cfl_parallel.cpp.

◆ DoAssign()

void faudes::ProductCompositionMap::DoAssign ( const ProductCompositionMap rSrc)
protected

Definition at line 730 of file cfl_parallel.cpp.

◆ DoEqual()

bool faudes::ProductCompositionMap::DoEqual ( const ProductCompositionMap rOther) const
protected

Definition at line 738 of file cfl_parallel.cpp.

◆ operator!=()

bool faudes::Type::operator!=

Test equality of configuration data.

See operator==(const Type&).

This method calls the virtual method DoEqual(). Re-implementation can be done via the convenience macros FAUDES_TYPE_DECLARATION and FAUDES_TYPE_IMPLEMENTATION.

Parameters
rOtherOther objevt to compare with.
Returns
True on mismatch.

Definition at line 391 of file cfl_types.cpp.

◆ operator=()

Type & faudes::Type::operator=

Assign configurationdata from other object.

Derived classes should implement the operator form for the assignment for each source type which allows for a non-trivial assignment. This includes the particular case were the source and destination types match exactly. In the latter case the DoAssign method should be invoked. In contrast to the Assign function, the operator form must not be reimplemented for missmatched source types: the operator form only accepts sensible source types. This allows for compiletime typeckecking. However, the downside is that when the type is not known at compiletime, configuration is not properly assigned.

Re-implementation can be done via the convenience macros FAUDES_TYPE_DECLARATION and FAUDES_TYPE_IMPLEMENTATION.

Parameters
rSrcSource to copy from
Returns
Reference to this object.

Definition at line 340 of file cfl_types.cpp.

◆ operator==()

bool faudes::Type::operator==

Test equality of configuration data.

The operator form of the equality test is only defined for matching types, no cast will be performed. Thus, the test will be optimistic if the type is not known at compiletime. The object name or id is not considered in the test.

This methoc calls the virtual method DoEqual(). Re-implementation can be done via the convenience macros FAUDES_TYPE_DECLARATION and FAUDES_TYPE_IMPLEMENTATION.

Parameters
rOtherOther object to compare with.
Returns
True on match.

Definition at line 375 of file cfl_types.cpp.

◆ StlMap() [1/3]

void faudes::ProductCompositionMap::StlMap ( const std::map< std::pair< Idx, Idx >, Idx > &  rMap)

Definition at line 754 of file cfl_parallel.cpp.

◆ StlMap() [2/3]

std::map< std::pair< Idx, Idx >, Idx > & faudes::ProductCompositionMap::StlMap ( void  )

Definition at line 748 of file cfl_parallel.cpp.

◆ StlMap() [3/3]

const std::map< std::pair< Idx, Idx >, Idx > & faudes::ProductCompositionMap::StlMap ( void  ) const

Definition at line 743 of file cfl_parallel.cpp.

Member Data Documentation

◆ mArg1Map

std::map<Idx,Idx> faudes::ProductCompositionMap::mArg1Map
mutableprotected

Definition at line 72 of file cfl_parallel.h.

◆ mArg2Map

std::map<Idx,Idx> faudes::ProductCompositionMap::mArg2Map
mutableprotected

Definition at line 73 of file cfl_parallel.h.

◆ mCompiled

bool faudes::ProductCompositionMap::mCompiled
mutableprotected

Definition at line 71 of file cfl_parallel.h.

◆ mCompositionMap

std::map< std::pair<Idx,Idx> , Idx > faudes::ProductCompositionMap::mCompositionMap
protected

Definition at line 69 of file cfl_parallel.h.


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

libFAUDES 2.32f --- 2024.12.22 --- c++ api documentaion by doxygen