14#ifndef OSNLPARSERDATA_H
15#define OSNLPARSERDATA_H
OSnLParserData * osnlData
This file defines the OSnLNode class along with its derived classes.
void osnl_empty_vectors(OSnLParserData *osnlData)
A generic class from which we derive both OSnLNode and OSnLMNode.
The OSnLNodeNumber Class.
The OSnLNodeVariable Class.
The OSnLParserData Class.
std::string descriptionAttribute
bool varTypeAttributePresent
bool typeAttributePresent
std::string parser_errors
used to accumulate error message so the parser does not die on the first error encountered
OSnLMNodeMatrixObj * nlMNodeMatrixObj
a pointer to an OSnLMNode object that is a matrixObj reference
bool matrixidxattON
matrixidxattON is set to true if the idx attribute has been parsed for an OSnLNodeVariable,...
std::string unitAttribute
OSnLParserData()
the OSnLParserData class constructor
char * errorText
if the parser finds invalid text it is held here and we delete if the file was not valid
bool suppressFurtherErrorMessages
OSnLMNodeMatrixReference * nlMNodeMatrixRef
a pointer to an OSnLMNode object that is a simple matrix reference
bool categoryAttributePresent
generic attributes
OSnLNodeNumber * nlNodeNumberPoint
a pointer to an OSnLNode object that is a number
std::string objTypeAttribute
~OSnLParserData()
the OSnLParserData class destructor
OSnLMNodeMatrixCon * nlMNodeMatrixCon
a pointer to an OSnLMNode object that is a matrixCon reference
bool enumTypeAttributePresent
bool includeDiagonalAttributePresent
Attributes and other data items associated with parsing the OSnLMNodes.
bool numbervalueattON
numbervalueattON is set to true if the value attribute has been parsed for an OSnLNodeNumber object,...
bool shapeAttributePresent
bool descriptionAttributePresent
bool matrixreftypeattON
matrixreftypeattON is set to true if the type attribute has been parsed for an OSnLMNodeMatrixReferen...
std::vector< ExprNode * > allDiffVec
the OSnLNodeallDiff node can have any number of children, including other children with an indetermin...
std::vector< ExprNode * > maxVec
the OSnLNodeMax node can have any number of children, including other children with an indeterminate ...
bool solverAttributePresent
bool variableidxattON
variableidxattON is set to true if the idx attribute has been parsed for an OSnLNodeVariable,...
std::string varTypeAttribute
std::string enumTypeAttribute
int tempInt
some temporary items to facilitate code sharing
std::string nameAttribute
std::vector< ExprNode * > sumVec
the OSnLNodeSum node can have any number of children, including other children with an indeterminate ...
std::string lbValueAttribute
std::vector< ExprNode * > nlNodeVec
nlNodeVec holds a vector of pointers to OSnLNodes and OSnLMNodes In order to build the expression tre...
bool nameAttributePresent
bool numbertypeattON
numbertypeattON is set to true if the type attribute has been parsed for an OSnLNodeNumber object,...
bool includeDiagonalAttribute
std::string conTypeAttribute
bool objTypeAttributePresent
OSnLNodeVariable * nlNodeVariablePoint
a pointer to an OSnLNode object that is a variable
std::string typeAttribute
int tmpnlcount
tmpnlcount counts the number of nl nodes actually found.
bool ignoreDataAfterErrors
two booleans to govern the behavior after an error has been encountered
std::string valueAttribute
std::string categoryAttribute
OSnLMNodeMatrixVar * nlMNodeMatrixVar
a pointer to an OSnLMNode object that is a matrixVar reference
std::string ubValueAttribute
std::string solverAttribute
std::vector< ExprNode * > matrixProductVec
the OSnLMNodeProduct node can have any number of children, including other children with an indetermi...
bool unitAttributePresent
std::vector< ExprNode * > matrixSumVec
the OSnLMNodeMatrixSum node can have any number of children, including other children with an indeter...
bool conTypeAttributePresent
std::vector< ExprNode * > productVec
the OSnLNodeProduct node can have any number of children, including other children with an indetermin...
ExprNode * nlNodePoint
These entities are used for parsing <nonlinearExpressions>
int nlnodenumber
nlnodenumber is the number of nl nodes in the instance
std::vector< ExprNode * > minVec
the OSnLNodeMin node can have any number of children, including other children with an indeterminate ...
bool valueAttributePresent
bool lbValueAttributePresent
bool ubValueAttributePresent
bool numberidattON
numberidattON is set to true if the id attribute has been parsed for an OSnLNodeNumber object,...
bool variablecoefattON
variablecoefattON is set to true if the coeff attribute has been parsed for an OSnLNodeVariable,...