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)
 
 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)
 
Typeoperator= (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 TypeNewCpy (void) const
 
virtual const TypeCast (const Type *pOther) const
 
virtual bool IsDefault (void) const
 
virtual TypeCopy (const Type &rSrc)
 
virtual TypeMove (Type &rSrc)
 
Typeoperator= (const Type &rSrc)
 
Typeoperator= (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 DoCopy (const ProductCompositionMap &rSrc)
 
bool DoEqual (const ProductCompositionMap &rOther) const
 
- Protected Member Functions inherited from faudes::Type
void DoCopy (const Type &rSrc)
 
void DoMove (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
 

Constructor & Destructor Documentation

◆ ProductCompositionMap() [1/2]

faudes::ProductCompositionMap::ProductCompositionMap ( void  )

Definition at line 812 of file cfl_parallel.cpp.

◆ ProductCompositionMap() [2/2]

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

Definition at line 817 of file cfl_parallel.cpp.

◆ ~ProductCompositionMap()

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

Definition at line 822 of file cfl_parallel.cpp.

Member Function Documentation

◆ Arg1State()

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

Definition at line 872 of file cfl_parallel.cpp.

◆ Arg2State()

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

Definition at line 889 of file cfl_parallel.cpp.

◆ Clear()

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

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

Reimplemented from faudes::Type.

Definition at line 826 of file cfl_parallel.cpp.

◆ CompState()

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

Definition at line 864 of file cfl_parallel.cpp.

◆ DoCopy()

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

Definition at line 834 of file cfl_parallel.cpp.

◆ DoEqual()

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

Definition at line 842 of file cfl_parallel.cpp.

◆ operator!=()

bool faudes::Type::operator!= ( const Type rOther) const

Test equality of configuration data. See operator==(const Type&).

This operator calls 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 434 of file cfl_types.cpp.

◆ operator=() [1/2]

Type & faudes::Type::operator= ( const Type rSrc)

Copy configuration data from other object. Derived classes should implement at least the signature with matching source and destination types via the DoCopy method. Additionally, one may implement variants with a base class as source, as mong as meaningul assigment is possible.

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 368 of file cfl_types.cpp.

◆ operator=() [2/2]

Type & faudes::Type::operator= ( Type &&  rSrc)

Copy configuration data from other object (destructive) Derived classes should implement at least the signature with matching source and destination types via the DoCopy method. Additionally, one may implement variants with a base class as source, as mong as meaningul assigment is possible.

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 383 of file cfl_types.cpp.

◆ operator==()

bool faudes::Type::operator== ( const Type rOther) const

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 operator calls 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 418 of file cfl_types.cpp.

◆ StlMap() [1/3]

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

Definition at line 858 of file cfl_parallel.cpp.

◆ StlMap() [2/3]

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

Definition at line 852 of file cfl_parallel.cpp.

◆ StlMap() [3/3]

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

Definition at line 847 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.34e --- 2026.03.16 --- c++ api documentaion by doxygen