00001 /* $Id: OSrLParserData.h 5035 2015-07-01 16:52:07Z Gassmann $ */ 00014 #ifndef OSRLPARSERDATA_H 00015 #define OSRLPARSERDATA_H 00016 00017 #include "OSnLNode.h" 00018 #include "OSGeneral.h" 00019 00020 #include <vector> 00021 #include <sstream> 00022 00023 00024 00029 struct OtherVariableResultStruct 00030 { 00034 std::string name; 00035 00039 std::string description; 00040 00044 std::string value; 00045 00049 int numberOfVar; 00050 00057 std::string *otherVarText; 00058 00059 00066 int *otherVarIndex; 00067 00068 }; 00069 00070 00083 class OSrLParserData 00084 { 00085 public: 00086 00088 OSrLParserData( ); 00089 00090 //** the OSrLParserData class destructor */ 00091 ~OSrLParserData() ; 00092 00093 00095 std::string statusType; 00096 00098 std::string statusDescription; 00099 00102 double timeValue; 00103 std::string timeType; 00104 std::string timeCategory; 00105 std::string timeUnit; 00106 std::string timeDescription; 00107 00110 int numberOfTimes; 00111 00113 std::string tmpOtherValue; 00114 std::string tmpOtherName; 00115 std::string tmpOtherDescription; 00116 00118 std::string itemContent; 00119 00122 void* scanner; 00123 00125 unsigned int numberOfSolutions; 00126 00128 int numberOfVariables; 00129 00131 int numberOfConstraints; 00132 00134 int numberOfObjectives; 00135 00139 int numberOfIdx; 00140 00144 int numberOfVar; 00145 00149 int numberOfVarIdx; 00150 00154 int numberOfCon; 00155 00156 00160 int numberOfObj; 00161 00163 int numberOf; 00164 00166 int kounter; 00167 00169 int iOther; 00170 00172 int ivar; 00173 00175 int idx; 00176 00178 double tempVal; 00179 00181 int tempInt; 00182 00184 std::string tempStr; 00185 00187 std::string name; 00188 00190 std::ostringstream outStr; 00191 00195 int numberOfOtherVariableResults; 00196 00200 int numberOfOtherObjectiveResults; 00201 00205 int numberOfOtherConstraintResults; 00206 00210 int numberOfOtherMatrixProgrammingResults; 00211 00215 int numberOfOtherMatrixVariableResults; 00216 00218 unsigned int solutionIdx; 00219 00221 int mult; 00222 00224 int incr; 00225 00232 bool numberAttributePresent; 00233 bool incrPresent; 00234 bool multPresent; 00235 bool idxAttributePresent; 00236 bool categoryAttributePresent; 00237 bool descriptionAttributePresent; 00238 bool nameAttributePresent; 00239 bool numberOfVarAttributePresent; 00240 bool numberOfVarIdxAttributePresent; 00241 bool numberOfObjAttributePresent; 00242 bool numberOfObjIdxAttributePresent; 00243 bool numberOfConAttributePresent; 00244 bool numberOfConIdxAttributePresent; 00245 bool typeAttributePresent; 00246 bool varTypeAttributePresent; 00247 bool objTypeAttributePresent; 00248 bool conTypeAttributePresent; 00249 bool unitAttributePresent; 00250 bool valueAttributePresent; 00251 bool solverAttributePresent; 00252 bool weightedObjAttributePresent; 00253 00259 std::string categoryAttribute; 00260 std::string descriptionAttribute; 00261 std::string nameAttribute; 00262 std::string typeAttribute; 00263 std::string varTypeAttribute; 00264 std::string objTypeAttribute; 00265 std::string conTypeAttribute; 00266 std::string unitAttribute; 00267 std::string valueAttribute; 00268 std::string solverAttribute; 00269 00270 00271 bool nVarPresent; 00272 bool nObjPresent; 00273 bool nConPresent; 00274 00278 bool generalStatusPresent; 00279 bool generalMessagePresent; 00280 bool generalServiceURIPresent; 00281 bool generalServiceNamePresent; 00282 bool generalInstanceNamePresent; 00283 bool generalJobIDPresent; 00284 bool generalSolverInvokedPresent; 00285 bool generalTimeStampPresent; 00286 bool otherGeneralResultsPresent; 00287 00291 bool systemInformationPresent; 00292 bool systemAvailableDiskSpacePresent; 00293 bool systemAvailableMemoryPresent; 00294 bool systemAvailableCPUSpeedPresent; 00295 bool systemAvailableCPUNumberPresent; 00296 bool otherSystemResultsPresent; 00297 00301 bool serviceCurrentStatePresent; 00302 bool serviceCurrentJobCountPresent; 00303 bool serviceTotalJobsSoFarPresent; 00304 bool timeServiceStartedPresent; 00305 bool serviceUtilizationPresent; 00306 bool otherServiceResultsPresent; 00307 00311 bool jobStatusPresent; 00312 bool jobSubmitTimePresent; 00313 bool scheduledStartTimePresent; 00314 bool actualStartTimePresent; 00315 bool jobEndTimePresent; 00316 bool jobTimingInformationPresent; 00317 bool jobUsedDiskSpacePresent; 00318 bool jobUsedMemoryPresent; 00319 bool jobUsedCPUSpeedPresent; 00320 bool jobUsedCPUNumberPresent; 00321 bool otherJobResultsPresent; 00322 00323 bool numberOfItemsPresent; 00324 int numberOfItems; 00325 00326 00329 struct IndexValuePair *primalValPair; 00330 std::vector<IndexValuePair*> primalVals; 00331 00332 00335 struct IndexValuePair *objValPair; 00336 std::vector<IndexValuePair*> objVals; 00337 00338 00341 struct IndexValuePair *dualValPair; 00342 std::vector<IndexValuePair*> dualVals; 00343 00344 00346 struct OtherVariableResultStruct *otherVarStruct; 00347 00349 std::vector<OtherVariableResultStruct*> otherVarVec; 00350 00354 char *errorText; 00355 00359 std::string parser_errors; 00360 00362 bool ignoreDataAfterErrors; 00363 bool suppressFurtherErrorMessages; 00364 }; 00365 00366 #endif /*OSRLPARSERDATA_H_*/
1.6.1