#include <cfl_parallel.h>

Public Member Functions

 ProductCompositionMap (void)
 
 ProductCompositionMap (const ProductCompositionMap &rOther)
 
virtual ~ProductCompositionMap (void)
 
virtual void Clear (void)
 
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)
 
bool operator== (const Type &rOther) const
 
bool operator!= (const Type &rOther) const
 
- Public Member Functions inherited from faudes::Type
 Type (void)
 
 Type (const Type &rType)
 
virtual ~Type (void)
 
virtual TypeNew (void) const
 
virtual TypeCopy (void) const
 
virtual const TypeCast (const Type *pOther) const
 
virtual TypeAssign (const Type &rSrc)
 
Typeoperator= (const Type &rSrc)
 
virtual bool Equal (const Type &rOther) const
 
bool operator== (const Type &rOther) const
 
bool operator!= (const Type &rOther) const
 
virtual void Name (const std::string &rName)
 
virtual const std::string & Name (void) const
 
virtual const std::string & TypeName (void) 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)
 

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)
 
bool DoEqual (const Type &rOther) const
 
virtual void DoRead (TokenReader &rTr, const std::string &rLabel="", const Type *pContext=0)
 
virtual void DoWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 
virtual void DoXWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 
virtual void DoDWrite (TokenWriter &rTw, const std::string &rLabel="", const Type *pContext=0) const
 
virtual void DoSWrite (TokenWriter &rTw) const
 
virtual const TypeDefinitionTypeDefinitionp (void) const
 
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
 

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.

Constructor & Destructor Documentation

◆ ProductCompositionMap() [1/2]

faudes::ProductCompositionMap::ProductCompositionMap ( void  )

Rti wrapper class implementation

Definition at line 760 of file cfl_parallel.cpp.

◆ ProductCompositionMap() [2/2]

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

Definition at line 765 of file cfl_parallel.cpp.

◆ ~ProductCompositionMap()

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

Definition at line 770 of file cfl_parallel.cpp.

Member Function Documentation

◆ Arg1State()

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

Definition at line 820 of file cfl_parallel.cpp.

◆ Arg2State()

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

Definition at line 837 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 774 of file cfl_parallel.cpp.

◆ CompState()

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

Definition at line 812 of file cfl_parallel.cpp.

◆ DoAssign()

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

Definition at line 782 of file cfl_parallel.cpp.

◆ DoEqual()

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

Definition at line 790 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 806 of file cfl_parallel.cpp.

◆ StlMap() [2/3]

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

Definition at line 800 of file cfl_parallel.cpp.

◆ StlMap() [3/3]

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

Definition at line 795 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.33a --- 2025.05.02 --- c++ api documentaion by doxygen