00001 /* $Id: OSrLParserData.h 4562 2013-01-02 12:31:12Z 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 int numberOfEnumerations; 00157 00161 int numberOfObj; 00162 00164 int numberOf; 00165 00167 int kounter; 00168 00170 int iOther; 00171 00173 int ivar; 00174 00176 int idx; 00177 00179 double tempVal; 00180 00182 int tempInt; 00183 00185 std::string tempStr; 00186 00188 std::string name; 00189 00191 std::ostringstream outStr; 00192 00196 int numberOfOtherVariableResults; 00197 00201 int numberOfOtherObjectiveResults; 00202 00206 int numberOfOtherConstraintResults; 00207 00209 unsigned int solutionIdx; 00210 00212 int mult; 00213 00215 int incr; 00216 00223 bool numberAttributePresent; 00224 bool incrPresent; 00225 bool multPresent; 00226 bool idxAttributePresent; 00227 bool categoryAttributePresent; 00228 bool descriptionAttributePresent; 00229 bool nameAttributePresent; 00230 bool numberOfVarAttributePresent; 00231 bool numberOfVarIdxAttributePresent; 00232 bool numberOfObjAttributePresent; 00233 bool numberOfObjIdxAttributePresent; 00234 bool numberOfConAttributePresent; 00235 bool numberOfConIdxAttributePresent; 00236 bool numberOfEnumerationsAttributePresent; 00237 bool typeAttributePresent; 00238 bool varTypeAttributePresent; 00239 bool objTypeAttributePresent; 00240 bool conTypeAttributePresent; 00241 bool enumTypeAttributePresent; 00242 bool unitAttributePresent; 00243 bool valueAttributePresent; 00244 bool weightedObjAttributePresent; 00245 00251 std::string categoryAttribute; 00252 std::string descriptionAttribute; 00253 std::string nameAttribute; 00254 std::string typeAttribute; 00255 std::string varTypeAttribute; 00256 std::string objTypeAttribute; 00257 std::string conTypeAttribute; 00258 std::string enumTypeAttribute; 00259 std::string unitAttribute; 00260 std::string valueAttribute; 00261 00262 00263 bool nVarPresent; 00264 bool nObjPresent; 00265 bool nConPresent; 00266 00270 bool generalStatusPresent; 00271 bool generalMessagePresent; 00272 bool generalServiceURIPresent; 00273 bool generalServiceNamePresent; 00274 bool generalInstanceNamePresent; 00275 bool generalJobIDPresent; 00276 bool generalSolverInvokedPresent; 00277 bool generalTimeStampPresent; 00278 bool otherGeneralResultsPresent; 00279 00283 bool systemInformationPresent; 00284 bool systemAvailableDiskSpacePresent; 00285 bool systemAvailableMemoryPresent; 00286 bool systemAvailableCPUSpeedPresent; 00287 bool systemAvailableCPUNumberPresent; 00288 bool otherSystemResultsPresent; 00289 00293 bool serviceCurrentStatePresent; 00294 bool serviceCurrentJobCountPresent; 00295 bool serviceTotalJobsSoFarPresent; 00296 bool timeServiceStartedPresent; 00297 bool serviceUtilizationPresent; 00298 bool otherServiceResultsPresent; 00299 00303 bool jobStatusPresent; 00304 bool jobSubmitTimePresent; 00305 bool scheduledStartTimePresent; 00306 bool actualStartTimePresent; 00307 bool jobEndTimePresent; 00308 bool jobTimingInformationPresent; 00309 bool jobUsedDiskSpacePresent; 00310 bool jobUsedMemoryPresent; 00311 bool jobUsedCPUSpeedPresent; 00312 bool jobUsedCPUNumberPresent; 00313 bool otherJobResultsPresent; 00314 00315 bool numberOfItemsPresent; 00316 int numberOfItems; 00317 00318 00321 struct IndexValuePair *primalValPair; 00322 std::vector<IndexValuePair*> primalVals; 00323 00324 00327 struct IndexValuePair *objValPair; 00328 std::vector<IndexValuePair*> objVals; 00329 00330 00333 struct IndexValuePair *dualValPair; 00334 std::vector<IndexValuePair*> dualVals; 00335 00336 00338 struct OtherVariableResultStruct *otherVarStruct; 00339 00341 std::vector<OtherVariableResultStruct*> otherVarVec; 00342 00346 char *errorText; 00347 }; 00348 00349 #endif /*OSRLPARSERDATA_H_*/