aboutsummaryrefslogtreecommitdiff
path: root/src/file.hh
blob: 89971141802efb26d2f5751dd7bca42c519eb79a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
#ifndef FORMALINE_FILE_HH
#define FORMALINE_FILE_HH



#include <fstream>
#include <string>

#include "storage.hh"



namespace Formaline
{
  
  class file : public storage
  {
    std::ofstream fil;
    std::string const path;
    file * const parent;
    
  public:
    
    file (char const * id,
          enum state st,
          char const * p = "",
          file * const par = 0);
    
    virtual
    ~ file ();
    
    virtual file *
    open_group (char const * name);
    
    virtual void
    store (char const * key,
           bool value);
    
    virtual void
    store (char const * key,
           CCTK_INT value);
    
    virtual void
    store (char const * key,
           CCTK_REAL value);
    
    virtual void
    store (char const * key,
           char const * value);
    
  private:
    
    void
    write (std::string const & msg);
    
    std::string
    clean (std::string const & txt)
      const;
  };
  
  
  
} // namespace Formaline



#endif // ifndef FORMALINE_FILE_HH