35 const unsigned NEVER =
static_cast<const unsigned int>(-1);
110 const std::string&
getName()
const;
196 void read(std::istream& is);
201 void write(std::ostream& os)
const;
233 bool open(std::fstream::openmode openMode);
const unsigned NEVER
Definition: File.h:35
std::string to_string_padded(unsigned int value)
Pads the number This function tries to pad the number to 4 digits, which is used when you create mult...
Definition: File.cc:44
FileType
With FileType options, one is able to choose if data is to be read/written from/into no or single or ...
Definition: File.h:41
@ MULTIPLE_FILES
each time-step will be written into/read from separate files numbered consecutively: name_....
@ MULTIPLE_FILES_PADDED
each time-step will be written into/read from separate files numbered consecutively,...
@ NO_FILE
file will not be created/read
@ ONE_FILE
all data will be written into/ read from a single file called name_
std::istream & operator>>(std::istream &is, FileType &fileType)
Reads the FileType from an input stream 'is'.
Definition: File.cc:78
std::ostream & operator<<(std::ostream &os, FileType fileType)
Writes the FileType as a human-readable string into the output stream 'os'.
Definition: File.cc:56
double Mdouble
Definition: GeneralDefine.h:34
unsigned int saveCount_
Allows one to define the number of time steps to be skipped to make a snap shot. E....
Definition: File.h:276
std::fstream & getFstream()
Allows to access the member variable File::fstream_.
Definition: File.cc:153
void setOpenMode(std::fstream::openmode openMode)
Allows the user to Sets File::openMode_.
Definition: File.cc:247
unsigned int getLastSavedTimeStep() const
Gets File::nextSavedTimeStep_.
Definition: File.cc:293
const std::string & getName() const
Allows to access the file name, e.g., "problem.data".
Definition: File.cc:165
void read(std::istream &is)
read function, which accepts an input stream std::istream.
Definition: File.cc:417
void setlogarithmicSaveCount(const Mdouble logarithmicSaveCountBase)
the function to set the user input base of logarithmic saving count
Definition: File.cc:283
std::fstream::openmode getOpenMode() const
Allows the user to know the file mode i.e. gets File::openMode_.
Definition: File.cc:239
FileType fileType_
fileType_ indicates the type of the files. Whether it is No file, one file or multiple file as descri...
Definition: File.h:260
void decreaseCounter()
Definition: File.h:150
void setName(const std::string &name)
Sets the file name, e.g. "Name.data".
Definition: File.cc:198
void setSaveCount(unsigned int saveCount)
Sets File::saveCount_.
Definition: File.cc:273
bool saveCurrentTimeStep(unsigned int ntimeSteps)
determined if this time step has to be written; if so, opens the output file
Definition: File.cc:312
const std::string getFullName() const
Also allows to access the file name, however with additional information which is the file counter,...
Definition: File.cc:170
std::fstream fstream_
Stream object used to read/write data files.
Definition: File.h:254
void writeFirstAndLastTimeStep()
Sets File::saveCount_ to the highest possible value such that only the first and last time step is wr...
Definition: File.cc:264
void increaseCounter()
Definition: File.h:148
unsigned int counter_
counts the number of already opened files, i.e. counter=1 means .0000 exists
Definition: File.h:265
void write(std::ostream &os) const
print function, which accepts an std::stringstream as input.
Definition: File.cc:442
unsigned int lastSavedTimeStep_
the time step at which the next write or read operation has to happen.
Definition: File.h:287
void close()
Closes the file by calling fstream_.close()
Definition: File.cc:407
void setLastSavedTimeStep(unsigned int lastSavedTimeStep)
Sets File::nextSavedTimeStep_.
Definition: File.cc:302
std::fstream::openmode openMode_
A variable to indicate how the file should be opened i.e. in, out, ... see http://en....
Definition: File.h:270
Mdouble logarithmicSaveCountBase_
the switch allow user to set saveCount in logarithmic timescale with equal distance ,...
Definition: File.h:282
void setCounter(unsigned int counter)
Allows the user to set the file counter according to his need. Sets File::counter_.
Definition: File.cc:231
bool openWriteNoAppend(unsigned)
Definition: File.cc:398
std::string name_
name of the file.
Definition: File.h:249
bool open()
Checks if the file stream fstream_ has any issues while opening. Alongside, it also increments the ne...
Definition: File.cc:347
friend std::istream & operator>>(std::istream &is, File &o)
Operator overloading used to read data from the input stream into member variables of an object of cl...
Definition: File.cc:473
void setFileType(FileType fileType)
Sets the type of file needed to write into or read from. File::fileType_.
Definition: File.cc:215
virtual ~File()
destructor
unsigned int getCounter() const
In case of multiple files, File::getCounter() returns the the number (FILE::Counter_) of the next fil...
Definition: File.cc:223
bool openWrite(unsigned)
First sets openmode to write (and append in some cases), then calls open().
Definition: File.cc:381
File()
constructor
Definition: File.cc:101
bool saveCurrentTimeStepNoFileTypeCheck(unsigned int ntimeSteps)
Definition: File.cc:317
FileType getFileType() const
Gets the file type e.g. NOFILE, ONEFILE and MULTIPLE FILES. File::fileType_.
Definition: File.cc:207
friend std::ostream & operator<<(std::ostream &os, const File &o)
Operator overloading used to write data obtained from an object of class File into an output stream....
Definition: File.cc:462
unsigned int getSaveCount() const
Gets File::saveCount_.
Definition: File.cc:255
std::string name
Definition: MercuryProb.h:48