OGS
Dump.h
Go to the documentation of this file.
1// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2// SPDX-License-Identifier: BSD-3-Clause
3
4#pragma once
5
6#include <filesystem>
7#include <iosfwd>
8#include <string>
9#include <vector>
10
11#include "BaseLib/Error.h"
12
13namespace ChemistryLib
14{
15namespace PhreeqcIOData
16{
17extern std::string specifyFileName(std::string const& project_file_name,
18 std::string const& file_extension);
19
20struct Dump
21{
22 explicit Dump(std::string const& project_file_name)
23 : dump_file(specifyFileName(project_file_name, ".dmp"))
24 {
25 try
26 {
27 if (std::filesystem::remove(dump_file))
28 {
29 INFO("Deleted the redundant phreeqc dump file {:s}\n",
30 dump_file);
31 }
32 }
33 catch (std::filesystem::filesystem_error const& e)
34 {
35 ERR("filesystem error: {:s}\n", e.what());
36 }
37 }
38
39 void print(std::ostream& os, std::size_t const num_chemical_systems) const;
40
41 void readDumpFile(std::istream& in, std::size_t const num_chemical_systems);
42
43 std::string const dump_file;
44 std::vector<std::string> aqueous_solutions_prev;
45};
46} // namespace PhreeqcIOData
47} // namespace ChemistryLib
void INFO(fmt::format_string< Args... > fmt, Args &&... args)
Definition Logging.h:28
void ERR(fmt::format_string< Args... > fmt, Args &&... args)
Definition Logging.h:40
std::string specifyFileName(std::string const &project_file_name, std::string const &file_extension)
std::string const dump_file
Definition Dump.h:43
void readDumpFile(std::istream &in, std::size_t const num_chemical_systems)
Definition Dump.cpp:24
Dump(std::string const &project_file_name)
Definition Dump.h:22
void print(std::ostream &os, std::size_t const num_chemical_systems) const
Definition Dump.cpp:12
std::vector< std::string > aqueous_solutions_prev
Definition Dump.h:44