Free Electron
Writer.h
Go to the documentation of this file.
1 /* Copyright (C) 2003-2021 Free Electron Organization
2  Any use of this software requires a license. If a valid license
3  was not distributed with this file, visit freeelectron.org. */
4 
5 /** @file */
6 
7 #ifndef __data_Writer_h__
8 #define __data_Writer_h__
9 
10 namespace fe
11 {
12 namespace data
13 {
14 
15 #define FE_KW_RECORD "RECORD"
16 #define FE_KW_RECORDGROUP "RECORDGROUP"
17 #define FE_KW_DEFAULTGROUP "DEFAULTGROUP"
18 #define FE_KW_TEMPLATE "TEMPLATE"
19 #define FE_KW_ATTRIBUTE "ATTRIBUTE"
20 #define FE_KW_LAYOUT "LAYOUT"
21 #define FE_KW_INFO "INFO"
22 #define FE_KW_END "END"
23 #define FE_KW_COMMENT "COMMENT"
24 #define FE_KW_STARTBINARY '~'
25 #define FE_KW_ENDBINARY '~'
26 
27 #if 0
28 typedef std::map<sp<Layout>, t_layout_info> t_layout_loinfo;
29 typedef std::map<sp<RecordGroup>, int> t_rg_id;
30 typedef std::map<sp<RecordArray>, int> t_ra_id;
31 typedef std::map<void *, int> t_sb_id;
32 typedef std::map<sp<Attribute>, int> t_attr_id;
33 typedef Array<sp<Attribute> > t_attr_array;
34 #endif
35 
36 class FE_DL_EXPORT Writer : public Counted
37 {
38  public:
39  Writer(void): m_name("Writer") {}
40 
41 virtual void output(std::ostream &ostrm, sp<RecordGroup> spRG) = 0;
42 const String& name(void) const { return m_name; }
43 
44  private:
45  String m_name;
46 };
47 
48 } /* namespace */
49 } /* namespace */
50 
51 #endif /* __data_Writer_h__ */
52 
kernel
Definition: namespace.dox:3