Manages io from interdependent multiple sources.
The sources might depend on each other, e.g., a grid and multiple solvers as well as moving geometry.
Public Member Functions | |
| string | file_name () const |
| File name of the session. | |
| string | file_path () const |
| File path to the session files. | |
| string const & | dir_path () const |
| Path to the working directory. | |
| session (create_t, string const &path, mpi::comm comm) | |
| Create a new session. | |
| session (restart_t, string const &path, mpi::comm comm) | |
| Restart from an already existing session. | |
| bool | has (string const &file_group_name) const |
| Has the session the file group. | |
| file_group | operator[] (string const &file_group_name) |
| Get the file group. | |
| auto | size () const |
| Number of file groups. | |
| void | push_group (string const &file_group_name, string const &file_group_type, string const &dependency=string{}) |
| Appends a file group to the io::session. | |
| void | write (file &f) |
Static Public Member Functions | |
| static string | extension () |
| File extension of a session file. | |
| static bool | is_file (string const &name) |
| Is a session file. | |
| static bool | remove (string path, mpi::comm const &c) |
Removes the session file for a session with name or path path. | |
| void hm3::io::session::write | ( | file & | f | ) |
Write binary data
Push the modifications into the session and write the session to a file TODO: this should be guarded by a mutex
References hm3::io::file::dependency_group_name(), hm3::io::file::dependency_index(), hm3::io::file::group_name(), and hm3::io::file::index().
Referenced by hm3::io::client::write().