10#ifndef COLVARPROXY_IO_H
11#define COLVARPROXY_IO_H
60 virtual int rename_file(
char const *filename,
char const *newfilename);
64 std::string
const &newfilename)
66 return rename_file(filename.c_str(), newfilename.c_str());
112 std::istream &
input_stream(std::string
const &input_name,
113 std::string
const description =
"file/channel",
114 bool error_on_fail =
true);
121 std::string
const &content,
122 std::string
const description =
"string");
142 virtual std::ostream &
output_stream(std::string
const &output_name,
143 std::string
const description);
Methods for data input/output.
Definition: colvarproxy_io.h:20
std::ostream * output_stream_error_
Object whose reference is returned when write errors occur.
Definition: colvarproxy_io.h:184
virtual int close_output_stream(std::string const &output_name)
Closes the given output file/channel.
Definition: colvarproxy_io.cpp:410
std::istream * input_stream_error_
Object whose reference is returned when read errors occur.
Definition: colvarproxy_io.h:178
std::istream & input_stream_from_string(std::string const &input_name, std::string const &content, std::string const description="string")
Definition: colvarproxy_io.cpp:234
virtual int backup_file(char const *filename)
Rename the given file, before overwriting it.
Definition: colvarproxy_io.cpp:67
std::string output_prefix_str
Default prefix to be used for all output files (final configuration)
Definition: colvarproxy_io.h:166
std::istream & input_stream(std::string const &input_name, std::string const description="file/channel", bool error_on_fail=true)
Definition: colvarproxy_io.cpp:200
std::map< std::string, std::ostream * > output_streams_
Currently open output files/channels.
Definition: colvarproxy_io.h:181
virtual int get_frame(long int &)
Save the current frame number in the argument given.
Definition: colvarproxy_io.cpp:55
int rename_file(std::string const &filename, std::string const &newfilename)
Rename the given file.
Definition: colvarproxy_io.h:63
std::string input_prefix_str
Prefix of the input state file to be read next.
Definition: colvarproxy_io.h:163
colvarproxy_io()
Constructor.
Definition: colvarproxy_io.cpp:30
virtual int set_restart_output_prefix(std::string const &prefix)
Set default restart state file prefix.
Definition: colvarproxy_io.cpp:179
int backup_file(std::string const &filename)
Rename the given file, before overwriting it.
Definition: colvarproxy_io.h:45
int default_restart_frequency() const
Default restart frequency (as set by the simulation engine)
Definition: colvarproxy_io.h:97
std::string const & restart_output_prefix() const
Prefix of the restart (checkpoint) file to be written next.
Definition: colvarproxy_io.h:88
int restart_frequency_engine
How often the simulation engine will write its own restart.
Definition: colvarproxy_io.h:172
virtual int set_frame(long int)
Set the current frame number (as well as colvarmodule::it)
Definition: colvarproxy_io.cpp:61
bool input_stream_exists(std::string const &input_name)
Check if the file/channel is open (without opening it if not)
Definition: colvarproxy_io.cpp:268
virtual std::ostream & output_stream(std::string const &output_name, std::string const description)
Definition: colvarproxy_io.cpp:343
int remove_file(std::string const &filename)
Remove the given file (on Windows only, rename to filename.old)
Definition: colvarproxy_io.h:54
virtual bool output_stream_exists(std::string const &output_name)
Check if the file/channel is open (without opening it if not)
Definition: colvarproxy_io.cpp:372
virtual int flush_output_stream(std::string const &output_name)
Flushes the given output file/channel.
Definition: colvarproxy_io.cpp:378
virtual int flush_output_streams()
Flushes all output files/channels.
Definition: colvarproxy_io.cpp:394
std::string restart_output_prefix_str
Prefix of the restart (checkpoint) file to be written next.
Definition: colvarproxy_io.h:169
std::list< std::string > list_input_stream_names() const
List all input streams that were opened at some point.
Definition: colvarproxy_io.cpp:330
virtual int remove_file(char const *filename)
Remove the given file (on Windows only, rename to filename.old)
Definition: colvarproxy_io.cpp:99
virtual int set_default_restart_frequency(int freq)
Communicate/set the restart frequency of the simulation engine.
Definition: colvarproxy_io.cpp:191
virtual int rename_file(char const *filename, char const *newfilename)
Rename the given file.
Definition: colvarproxy_io.cpp:132
virtual int close_output_streams()
Close all open files/channels to prevent data loss.
Definition: colvarproxy_io.cpp:427
int delete_input_stream(std::string const &input_name)
Same as close_input_stream(), but also removes the corresponding entry from memory.
Definition: colvarproxy_io.cpp:297
std::string const & output_prefix() const
Default prefix to be used for all output files (final configuration)
Definition: colvarproxy_io.h:79
virtual bool io_available()
Ensure that we're on the main thread (derived class will do actual check)
Definition: colvarproxy_io.cpp:49
int close_input_stream(std::string const &input_name)
Closes the given input stream.
Definition: colvarproxy_io.cpp:274
virtual int set_output_prefix(std::string const &prefix)
Set default output prefix.
Definition: colvarproxy_io.cpp:167
virtual int set_input_prefix(std::string const &prefix)
Initialize input_prefix (NOTE: it will be erased after state file is read)
Definition: colvarproxy_io.cpp:155
int close_input_streams()
Closes all input streams.
Definition: colvarproxy_io.cpp:317
std::string const & input_prefix() const
Prefix of the input state file to be read next.
Definition: colvarproxy_io.h:70
virtual ~colvarproxy_io()
Destructor.
Definition: colvarproxy_io.cpp:40
std::map< std::string, std::istream * > input_streams_
Container of input files/channels indexed by path name.
Definition: colvarproxy_io.h:175