ed
writer.h
Go to the documentation of this file.
1 #ifndef ED_IO_WRITER_H_
2 #define ED_IO_WRITER_H_
3 
4 #include <string>
5 #include <vector>
6 
7 //#include "ed/io/data.h"
8 
9 #include <ostream>
10 
11 namespace ed
12 {
13 
14 namespace io
15 {
16 
17 class Writer
18 {
19 
20 public:
21 
22  Writer(std::ostream& out) : out_(out) {}
23 
24  virtual ~Writer() {}
25 
26  virtual void writeGroup(const std::string& name) = 0;
27  virtual void endGroup() = 0;
28 
29  virtual void writeValue(const std::string& key, float f) = 0;
30  virtual void writeValue(const std::string& key, double d) = 0;
31  virtual void writeValue(const std::string& key, int i) = 0;
32  virtual void writeValue(const std::string& key, const std::string& s) = 0;
33 
34  virtual void writeValue(const std::string& key, const float* fs, std::size_t size) = 0;
35  virtual void writeValue(const std::string& key, const int* is, std::size_t size) = 0;
36  virtual void writeValue(const std::string& key, const std::string* ss, std::size_t size) = 0;
37 
38  virtual void writeValue(const std::string& key, const std::vector<float>& fs) { writeValue(key, &fs[0], fs.size()); }
39  virtual void writeValue(const std::string& key, const std::vector<int>& is) { writeValue(key, &is[0], is.size()); }
40  virtual void writeValue(const std::string& key, const std::vector<std::string>& ss) { writeValue(key, &ss[0], ss.size()); }
41 
42  virtual void writeArray(const std::string& key) = 0;
43  virtual void addArrayItem() = 0;
44  virtual void endArrayItem() = 0;
45  virtual void endArray() = 0;
46 
47  virtual void finish() {}
48 
49 protected:
50 
52 
53 };
54 
55 }
56 
57 } // end namespace era
58 
59 #endif
60 
std::string
ed::io::Writer::~Writer
virtual ~Writer()
Definition: writer.h:24
ed::io::Writer::endGroup
virtual void endGroup()=0
vector
std::vector::size
T size(T... args)
ed::io::Writer::Writer
Writer(std::ostream &out)
Definition: writer.h:22
ed::io::Writer::out_
std::ostream & out_
Definition: writer.h:51
ed::io::Writer::writeValue
virtual void writeValue(const std::string &key, const std::vector< int > &is)
Definition: writer.h:39
ed::io::Writer::endArray
virtual void endArray()=0
ed::io::Writer::writeValue
virtual void writeValue(const std::string &key, float f)=0
std::ostream
ed::io::Writer::writeValue
virtual void writeValue(const std::string &key, const std::vector< float > &fs)
Definition: writer.h:38
ed::io::Writer::finish
virtual void finish()
Definition: writer.h:47
ed::io::Writer::writeValue
virtual void writeValue(const std::string &key, const std::vector< std::string > &ss)
Definition: writer.h:40
ed::io::Writer::writeGroup
virtual void writeGroup(const std::string &name)=0
ed::io::Writer::writeArray
virtual void writeArray(const std::string &key)=0
ed::io::Writer
Definition: writer.h:17
ed::io::Writer::endArrayItem
virtual void endArrayItem()=0
ed
Definition: convex_hull.h:8
ed::io::Writer::addArrayItem
virtual void addArrayItem()=0
std::size_t
ostream
string