AMDiS  2.10
The Adaptive Multi-Dimensional Simulation Toolbox
FileWriterBase.hpp
1 #pragma once
2 
3 #include <limits>
4 #include <string>
5 
6 namespace AMDiS
7 {
8  // forward declaration
9  class AdaptInfo;
10 
13  {
14  public:
16  virtual ~FileWriterInterface() = default;
17 
19  virtual void write(AdaptInfo& adaptInfo, bool force) = 0;
20  };
21 
23 
38  : public FileWriterInterface
39  {
40  public:
42  FileWriterBase(std::string const& base);
43 
45  bool doWrite(AdaptInfo& adaptInfo) const;
46 
47  public:
48  std::string const& filename() const
49  {
50  return filename_;
51  }
52 
53  std::string const& dir() const
54  {
55  return dir_;
56  }
57 
58  std::string const& name() const
59  {
60  return name_;
61  }
62 
63  protected:
65  std::string filename_ = "solution";
66 
68  std::string dir_ = ".";
69 
71  std::string name_ = "solution";
72 
74  int tsModulo_ = 0;
75 
77  double timeModulo_ = 0.0;
78 
79  private:
80  // time counter for the interval output
81  mutable double lastWriteTime_ = std::numeric_limits<double>::lowest();
82  };
83 
84 } // end namespace AMDiS
Definition: AdaptBase.hpp:6
virtual void write(AdaptInfo &adaptInfo, bool force)=0
Pure virtual method to be implemented by derived classes.
Base class for filewriters.
Definition: FileWriterBase.hpp:37
Holds adapt parameters and infos about the problem.
Definition: AdaptInfo.hpp:25
virtual ~FileWriterInterface()=default
Virtual destructor.
Interface class for filewriters.
Definition: FileWriterBase.hpp:12