My Project
OSnLParserData.h
Go to the documentation of this file.
1/* $Id: OSnLParserData.h 4806 2014-06-07 11:37:46Z Gassmann $ */
14#ifndef OSNLPARSERDATA_H
15#define OSNLPARSERDATA_H
16
17#include "OSnLNode.h"
18#include <vector>
19
20
30{
31public:
32
35 std::string categoryAttribute;
37 std::string typeAttribute;
39 std::string varTypeAttribute;
41 std::string objTypeAttribute;
43 std::string conTypeAttribute;
45 std::string enumTypeAttribute;
47 std::string nameAttribute;
49 std::string valueAttribute;
51 std::string lbValueAttribute;
53 std::string ubValueAttribute;
57 std::string solverAttribute;
59 std::string unitAttribute;
63
68 int iOther;
70 double tempVal;
71 std::string tempStr;
72
75
78
79
84
87
90
93
96
99
102
105
110
116
122
128
134
140
146 std::vector<ExprNode*> nlNodeVec;
147
152 std::vector<ExprNode*> sumVec;
153
158 std::vector<ExprNode*> allDiffVec;
159
164 std::vector<ExprNode*> productVec;
165
170 std::vector<ExprNode*> maxVec;
171
176 std::vector<ExprNode*> minVec;
177
182 std::vector<ExprNode*> matrixSumVec;
183
188 std::vector<ExprNode*> matrixProductVec;
189
195
201
205
210
214 std::string parser_errors;
215
219};//OSnLParserData
220
221
223{
224
225}//end osnl_empty_vectors
226
227
228
229#endif /*OSNLPARSERDATA_H_*/
230
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.
Definition OSnLNode.h:57
The OSnLNodeNumber Class.
Definition OSnLNode.h:1263
The OSnLNodeVariable Class.
Definition OSnLNode.h:1479
The OSnLParserData Class.
std::string descriptionAttribute
bool varTypeAttributePresent
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
std::string tempStr
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 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 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...
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 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,...