libdap++  Updated for version 3.13.1
D4Group.h
Go to the documentation of this file.
1 /*
2  * D4Group.h
3  *
4  * Created on: Sep 27, 2012
5  * Author: jimg
6  */
7 
8 #ifndef D4GROUP_H_
9 #define D4GROUP_H_
10 
11 #include "Constructor.h"
12 #include "D4Dimensions.h"
13 #include "D4EnumDef.h"
14 
15 namespace libdap {
16 
17 class D4Group :public Constructor {
18 private:
19  // I use the same object to define the dimensions (here) and to
20  // include them in the individual variables (in BaseType.h)
21  D4Dimensions d_dims;
22 
23  // The Group object is a container for both variables and enumeration
24  // definitions.
25  vector<D4EnumDef*> d_enums;
26 
27  // TODO Must define m_duplicate so that d_enums are copied.
28  // Must be a deep copy
29 public:
30  D4Group(const string &n);
31  D4Group(const string &n, const string &d);
32 
33  D4Group(const D4Group &rhs);
34  virtual ~D4Group();
35 
36  D4Group &operator=(const D4Group &rhs);
37  virtual BaseType *ptr_duplicate();
38 
39  void print_xml_writer(XMLWriter &xml, bool constrained);
40 
41  void add_enumeration_nocopy(D4EnumDef *enum_def);
42 };
43 
44 } /* namespace libdap */
45 #endif /* D4GROUP_H_ */
void add_enumeration_nocopy(D4EnumDef *enum_def)
Definition: D4Group.cc:70
void print_xml_writer(XMLWriter &xml, bool constrained)
Definition: D4Group.cc:102
virtual BaseType * ptr_duplicate()
Definition: D4Group.cc:51
D4Group & operator=(const D4Group &rhs)
Definition: D4Group.cc:57
virtual ~D4Group()
Definition: D4Group.cc:45
The basic data type for the DODS DAP types.
Definition: BaseType.h:199
D4Group(const string &n)
Definition: D4Group.cc:20