29#ifndef __NCML_MODULE__RENAMED_ARRAY_WRAPPER_H__
30#define __NCML_MODULE__RENAMED_ARRAY_WRAPPER_H__
33#include <libdap/Array.h>
77 virtual void add_constraint(Dim_iter i,
int start,
int stride,
int stop);
78 virtual void reset_constraint();
83 virtual string toString();
84 virtual string toString()
const;
85 virtual void dump(ostream &strm)
const;
91 virtual bool is_simple_type()
const;
92 virtual bool is_vector_type()
const;
93 virtual bool is_constructor_type()
const;
95 virtual bool synthesized_p();
96 virtual void set_synthesized_p(
bool state);
98 virtual int element_count(
bool leaves =
false);
101 virtual bool read_p();
102 virtual void set_read_p(
bool state);
104 virtual bool send_p();
105 virtual void set_send_p(
bool state);
108 virtual libdap::AttrTable& get_attr_table();
109 virtual void set_attr_table(
const libdap::AttrTable &at);
111 virtual bool is_in_selection();
112 virtual void set_in_selection(
bool state);
114 virtual void set_parent(BaseType *parent);
115 virtual BaseType *get_parent()
const;
118 virtual BaseType *var(
const string &name =
"",
bool exact_match =
true, btp_stack *s = 0);
119 virtual BaseType *var(
const string &name, btp_stack &s);
120 virtual void add_var(BaseType *bt, Part part = nil);
121 virtual void add_var_nocopy(BaseType *bt, Part part = nil);
124 virtual bool check_semantics(
string &msg,
bool all =
false);
125 virtual bool ops(BaseType *b,
int op);
129 virtual void print_decl(FILE *out,
string space =
" ",
130 bool print_semi =
true,
131 bool constraint_info =
false,
132 bool constrained =
false);
133 virtual void print_xml(FILE *out,
string space =
" ",
134 bool constrained =
false);
135 virtual void print_val(FILE *out,
string space =
"",
136 bool print_decl_p =
true);
140 virtual void print_decl(ostream &out,
string space =
" ",
141 bool print_semi =
true,
142 bool constraint_info =
false,
143 bool constrained =
false);
144 virtual void print_xml(ostream &out,
string space =
" ",
145 bool constrained =
false);
146 virtual void print_val(ostream &out,
string space =
"",
147 bool print_decl_p =
true);
149 virtual unsigned int width(
bool constrained =
false);
152 virtual unsigned int buf2val(
void **val);
153 virtual unsigned int val2buf(
void *val,
bool reuse =
false);
155 virtual bool set_value(dods_byte *val,
int sz);
156 virtual bool set_value(dods_int8 *val,
int sz);
157 virtual bool set_value(dods_int16 *val,
int sz);
158 virtual bool set_value(dods_uint16 *val,
int sz);
159 virtual bool set_value(dods_int32 *val,
int sz);
160 virtual bool set_value(dods_uint32 *val,
int sz);
161 virtual bool set_value(dods_int64 *val,
int sz);
162 virtual bool set_value(dods_uint64 *val,
int sz);
163 virtual bool set_value(dods_float32 *val,
int sz);
164 virtual bool set_value(dods_float64 *val,
int sz);
165 virtual bool set_value(
string *val,
int sz);
167 virtual bool set_value(vector<dods_byte> &val,
int sz);
168 virtual bool set_value(vector<dods_int8> &val,
int sz);
169 virtual bool set_value(vector<dods_int16> &val,
int sz);
170 virtual bool set_value(vector<dods_uint16> &val,
int sz);
171 virtual bool set_value(vector<dods_int32> &val,
int sz);
172 virtual bool set_value(vector<dods_uint32> &val,
int sz);
173 virtual bool set_value(vector<dods_int64> &val,
int sz);
174 virtual bool set_value(vector<dods_uint64> &val,
int sz);
175 virtual bool set_value(vector<dods_float32> &val,
int sz);
176 virtual bool set_value(vector<dods_float64> &val,
int sz);
177 virtual bool set_value(vector<string> &val,
int sz);
179 virtual void value(dods_byte *b)
const;
180 virtual void value(dods_int8 *b)
const;
181 virtual void value(dods_int16 *b)
const;
182 virtual void value(dods_uint16 *b)
const;
183 virtual void value(dods_int32 *b)
const;
184 virtual void value(dods_uint32 *b)
const;
185 virtual void value(dods_int64 *b)
const;
186 virtual void value(dods_uint64 *b)
const;
187 virtual void value(dods_float32 *b)
const;
188 virtual void value(dods_float64 *b)
const;
189 virtual void value(vector<string> &b)
const;
191 virtual void value(vector<unsigned int> *indices, dods_byte *b)
const;
192 virtual void value(vector<unsigned int> *indices, dods_int8 *b)
const;
193 virtual void value(vector<unsigned int> *indices, dods_int16 *b)
const;
194 virtual void value(vector<unsigned int> *indices, dods_uint16 *b)
const;
195 virtual void value(vector<unsigned int> *indices, dods_int32 *b)
const;
196 virtual void value(vector<unsigned int> *indices, dods_uint32 *b)
const;
197 virtual void value(vector<unsigned int> *indices, dods_int64 *b)
const;
198 virtual void value(vector<unsigned int> *indices, dods_uint64 *b)
const;
199 virtual void value(vector<unsigned int> *indices, dods_float32 *b)
const;
200 virtual void value(vector<unsigned int> *indices, dods_float64 *b)
const;
201 virtual void value(vector<unsigned int> *index, vector<string> &b)
const;
203 virtual void *value();
206 virtual void intern_data(ConstraintEvaluator &eval, DDS &dds);
207 virtual bool serialize(ConstraintEvaluator &eval, DDS &dds, Marshaller &m,
bool ce_eval =
true);
208 virtual bool deserialize(UnMarshaller &um, DDS *dds,
bool reuse =
false);
236 void syncConstraints()
const
240 void syncConstraints();
243 template <
typename T>
void value_worker(T *v)
const;
244 template <
typename T>
void value_worker(vector<unsigned int> *indices, T *b)
const;
246 template <
typename T>
bool set_value_worker(T *v,
int sz);
247 template <
typename T>
bool set_value_worker(vector<T> &v,
int sz);
254 libdap::Array* _pArray;
A Decorator Pattern for wrapping a libdap::Array in order to change its name efficiently in the face ...
virtual void add_constraint(Dim_iter i, int start, int stride, int stop)
Wrappers.
virtual void clear_constraint()
NcML Parser for adding/modifying/removing metadata (attributes) to existing local datasets using NcML...