WARPXM v1.10.0
|
Base class for sub-solvers in WARPXM compute kernel system. More...
#include <wmsubsolver.h>
Base class for sub-solvers in WARPXM compute kernel system.
A subsolver is an object which encodes algorithms to transform input variables into output variables. It is like a subroutine in a programming langauge.
Public Types | |
typedef std::vector< std::string > | subsolver_crypt_args_t |
Arguments to subsolver calls that appear in the crypt set sequence E.g. | |
Public Member Functions | |
virtual | ~WmSubSolver () |
Destroy subsolver. | |
virtual void | setup (const WxCryptSet &wxc) |
Setup subsolver object using supplied cryptset. | |
const WmSolverBase & | getParent () const |
Get parent solver object. | |
wxm::variable::variable_t & | getVariableByName (const std::string &variableName) const |
Retrieves a variable registered with the parent solver that matches the specified name. | |
const WmDomain & | getDomain () const |
Get the domain for the system. | |
Public Member Functions inherited from WxObject | |
virtual | ~WxObject () |
Dtor: destroy object. | |
void | setIo (WxIoBase &io) |
Set the I/O pointer for use in object. | |
void | setMsg (WxMsgBase &msg) |
Set the msg pointer for use in object. | |
WxIoBase & | getIo () |
Return reference to I/O object. | |
const WxIoBase & | getIo () const |
Return constant reference to I/O object. | |
WxMsgBase & | getMsg () |
Return reference to msg object. | |
const WxMsgBase & | getMsg () const |
Return const reference to msg object. | |
virtual void | setup (const WxCryptSet &wxc) |
Setup object using supplied crypset. | |
virtual void | init () |
Initialize the object. | |
virtual void | finishBuild () |
Finish building the object. | |
virtual void | load (WxIoBase &io, const WxIoNodeType &grpNode) |
Load object from file. | |
virtual void | dump (WxIoBase &io, WxIoNodeType &grpNode) const |
Dump object to file. | |
virtual std::string | name () const |
Get name of object. | |
void | setName (const std::string &nm) |
Set object's name. | |
Protected Member Functions | |
WmSubSolver (const WmConstOpaquePtr &parent_solver) | |
Create new subsolver. | |
virtual void | typeCheck ()=0 |
Check that the provided variables meet the expected variable types for this subsolver. | |
Protected Member Functions inherited from WxObject | |
WxObject () | |
Create object, that will be initialized subsequently. | |
WxObject (const std::string &name) | |
Create object with given name bypassing object setup phase Protected because there is no reason to have a WxObject directly, as it is meant to be a parent class. | |
typedef std::vector<std::string> WmSubSolver::subsolver_crypt_args_t |
Arguments to subsolver calls that appear in the crypt set sequence E.g.
subsolver_name(argument)
|
virtual |
Destroy subsolver.
|
protected |
Create new subsolver.
parent_solver | type opaque wrapper to parent solver |
const WmDomain & WmSubSolver::getDomain | ( | ) | const |
Get the domain for the system.
const WmSolverBase & WmSubSolver::getParent | ( | ) | const |
Get parent solver object.
wxm::variable::variable_t & WmSubSolver::getVariableByName | ( | const std::string & | variableName | ) | const |
Retrieves a variable registered with the parent solver that matches the specified name.
variableName | uniquely identifies existing registered WmVariable instance |
|
virtual |
Setup subsolver object using supplied cryptset.
wxc | Cryptset to use for setting |
Reimplemented from WxObject.
|
protectedpure virtual |
Check that the provided variables meet the expected variable types for this subsolver.
This is a pure virtual function to ensure that derived sub solvers implement it.