1 #ifndef rrRoadRunnerDataH
2 #define rrRoadRunnerDataH
5 #pragma warning(disable: 26812)
6 #pragma warning(disable: 26451)
8 #include "rr-libstruct/lsMatrix.h"
10 #pragma warning(disable: 26812)
11 #pragma warning(disable: 26451)
14 #include "rrExporter.h"
26 using std::stringstream;
41 const DoubleMatrix& data);
47 void allocate(
const size_t& cSize,
const size_t& rSize);
49 void allocateWeights();
51 bool hasWeights()
const;
53 const std::vector<std::string>& getColumnNames()
const;
54 std::string getColumnName(
const int col)
const;
55 std::string getColumnNamesAsString()
const;
56 void setColumnNames(
const std::vector<std::string>& colNames);
57 std::ptrdiff_t getColumnIndex(
const std::string& colName)
const;
58 void setTimeDataPrecision(
const int& prec);
59 void setDataPrecision(
const int& prec);
60 void reSize(
int rows,
int cols);
68 void setData(
const DoubleMatrix& theData);
70 bool loadSimpleFormat(
const std::string& fileName);
72 bool writeTo(
const std::string& fileName)
const;
74 bool readFrom(
const std::string& fileName);
76 static void writeOnlyData(std::ostream& ss,
const RoadRunnerData& data);
78 static void writeWeights(std::ostream& ss,
const RoadRunnerData& data);
82 bool structuredResult;
85 friend std::ostream& operator <<(std::ostream& ss,
const RoadRunnerData& data);
88 friend std::istream& operator >>(std::istream& ss,
RoadRunnerData& data);
90 double& operator()(
const unsigned& row,
const unsigned& col);
92 double operator()(
const unsigned& row,
const unsigned& col)
const;
94 double getDataElement(
int row,
int col);
96 void setDataElement(
int row,
int col,
double value);
100 double getWeight(
int row,
int col)
const;
102 void setWeight(
int row,
int col,
double val);
104 void setName(
const std::string& name);
106 std::string getName()
const;
108 std::pair<int, int> dimension()
const;
116 const DoubleMatrix& getData()
const;
118 const DoubleMatrix& getWeights()
const;
The RoadRunnerData class is used for simulation output, and provides a wrapper around 2D matrix data.
Definition: rrRoadRunnerData.h:35
int mDataPrecision
Integer setting the precision of 'data' double numbers when writing to file.
Definition: rrRoadRunnerData.h:146
DoubleMatrix mWeights
Container holding the data weights.
Definition: rrRoadRunnerData.h:136
std::string mName
String holding the 'name' of the object.
Definition: rrRoadRunnerData.h:152
int mTimePrecision
Integer setting the precision of 'time' double numbers when writing to file.
Definition: rrRoadRunnerData.h:141
DoubleMatrix mTheData
Container holding the actual data.
Definition: rrRoadRunnerData.h:131
std::vector< std::string > mColumnNames
Container holding column names.
Definition: rrRoadRunnerData.h:126
The main RoadRunner class.
Definition: rrRoadRunner.h:59
C_DECL_SPEC bool rrcCallConv getTimeStart(RRHandle handle, double *timeStart)
Get the value of the current time start.
C_DECL_SPEC bool rrcCallConv getTimeEnd(RRHandle handle, double *timeEnd)
Get the value of the current time end.