36 #ifndef COLUMNDATAWRITER_HPP_
37 #define COLUMNDATAWRITER_HPP_
42 #include "AbstractDataWriter.hpp"
43 #include "DataWriterVariable.hpp"
44 #include "OutputFileHandler.hpp"
147 const std::string& rBaseName,
148 bool cleanDirectory=
true,
149 unsigned precision=8);
165 const std::string& rDimensionUnits);
177 const std::string& rDimensionUnits,
189 const std::string& rVariableUnits);
220 virtual void PutVariable(
int variableID,
double variableValue,
long dimensionPosition = -1);
225 virtual void Close();
233 #endif //COLUMNDATAWRITER_HPP_
void CheckVariableName(const std::string &rName)
std::string mFileExtension
out_stream mpCurrentOutputFile
bool mIsFixedDimensionSet
virtual void PutVariable(int variableID, double variableValue, long dimensionPosition=-1)
int DefineUnlimitedDimension(const std::string &rDimensionName, const std::string &rDimensionUnits)
virtual void AdvanceAlongUnlimitedDimension()
const unsigned mPrecision
void DoAdvanceAlongUnlimitedDimension()
std::vector< DataWriterVariable > mVariables
virtual void EndDefineMode()
static const int UNLIMITED_DIMENSION_VAR_ID
std::string GetOutputDirectory()
out_stream mpCurrentAncillaryFile
const unsigned mFieldWidth
DataWriterVariable * mpFixedDimensionVariable
virtual ~ColumnDataWriter()
ColumnDataWriter(const std::string &rDirectory, const std::string &rBaseName, bool cleanDirectory=true, unsigned precision=8)
void CreateFixedDimensionFile(const std::string &rFileName)
long mUnlimitedDimensionPosition
int DefineVariable(const std::string &rVariableName, const std::string &rVariableUnits)
int mAncillaryRowStartPosition
void SetCommentForInfoFile(std::string comment)
int DefineFixedDimension(const std::string &rDimensionName, const std::string &rDimensionUnits, long dimensionSize)
std::string mCommentForInfoFile
std::string mFixedDimensionName
std::string mFixedDimensionUnits
std::string mUnlimitedDimensionName
void CheckUnitsName(const std::string &rName)
std::string mUnlimitedDimensionUnits
static const int FIXED_DIMENSION_VAR_ID
void CreateInfoFile(const std::string &rFileName)
DataWriterVariable * mpUnlimitedDimensionVariable
bool mNeedAdvanceAlongUnlimitedDimension
OutputFileHandler mOutputFileHandler
bool mIsUnlimitedDimensionSet