libSBML C++ API  5.20.4
DistribASTPlugin Class Reference
Inheritance diagram for DistribASTPlugin:
[legend]

Detailed Description

distrib Extension of AST.

Public Member Functions

virtual int allowedInFunctionDefinition (ASTNodeType_t type) const
 Check if the node type is known to be allowed inside function definitions. More...
 
virtual DistribASTPluginclone () const
 Creates and returns a deep copy of this DistribASTPlugin object. More...
 
 DistribASTPlugin ()
 Creates a new DistribASTPlugin object. More...
 
 DistribASTPlugin (const DistribASTPlugin &orig)
 
 DistribASTPlugin (const std::string &uri)
 
virtual double evaluateASTNode (const ASTNode *node, const Model *m=NULL) const
 
virtual UnitDefinitiongetUnitDefinitionFromPackage (UnitFormulaFormatter *uff, const ASTNode *node, bool inKL, int reactNo) const
 
virtual bool hasCorrectNamespace (SBMLNamespaces *namespaces) const
 
DistribASTPluginoperator= (const DistribASTPlugin &orig)
 Assignment operator for DistribASTPlugin. More...
 
virtual ~DistribASTPlugin ()
 Destructor for DistribASTPlugin. More...
 

Constructor & Destructor Documentation

◆ DistribASTPlugin() [1/3]

DistribASTPlugin::DistribASTPlugin ( )

Creates a new DistribASTPlugin object.

◆ DistribASTPlugin() [2/3]

DistribASTPlugin::DistribASTPlugin ( const DistribASTPlugin orig)

◆ ~DistribASTPlugin()

DistribASTPlugin::~DistribASTPlugin ( )
virtual

Destructor for DistribASTPlugin.

◆ DistribASTPlugin() [3/3]

DistribASTPlugin::DistribASTPlugin ( const std::string &  uri)

Member Function Documentation

◆ allowedInFunctionDefinition()

int DistribASTPlugin::allowedInFunctionDefinition ( ASTNodeType_t  type) const
virtual

Check if the node type is known to be allowed inside function definitions.

Function definitions must be able to be evaluated without resort to outside information. Therefore, some ASTNodes (like AST_TIME and AST_FUNCTION_RATE_OF) are disallowed from appearing there. This function checks whether this is true for a given type: a return value of '-1' means the plugin has no knowledge of that type; a return value of '1' means the plugin knows that the type is indeed allowed, and a return value of '0' means that the plugin knows that the type is not allowed.

◆ clone()

DistribASTPlugin * DistribASTPlugin::clone ( ) const
virtual

Creates and returns a deep copy of this DistribASTPlugin object.

Returns
the (deep) copy of this DistribASTPlugin object.

◆ evaluateASTNode()

double DistribASTPlugin::evaluateASTNode ( const ASTNode node,
const Model m = NULL 
) const
virtual

◆ getUnitDefinitionFromPackage()

UnitDefinition * DistribASTPlugin::getUnitDefinitionFromPackage ( UnitFormulaFormatter *  uff,
const ASTNode node,
bool  inKL,
int  reactNo 
) const
virtual

◆ hasCorrectNamespace()

bool DistribASTPlugin::hasCorrectNamespace ( SBMLNamespaces namespaces) const
virtual

◆ operator=()

DistribASTPlugin & DistribASTPlugin::operator= ( const DistribASTPlugin orig)

Assignment operator for DistribASTPlugin.

Parameters
origthe object whose values are used as the basis of the assignment.