73 class ConstraintEvaluator;
209 bool d_is_synthesized;
230 void m_duplicate(
const BaseType &bt);
236 BaseType(
const string &n,
const Type &t,
bool is_dap4 =
false);
237 BaseType(
const string &n,
const string &d,
const Type &t,
bool is_dap4 =
false);
241 BaseType(
const string &n,
const string &d,
const Type &t,
bool is_dap4);
246 virtual string toString();
248 virtual void dump(ostream &strm)
const ;
261 virtual BaseType *ptr_duplicate() = 0;
264 virtual void set_name(
const string &n);
267 void set_type(
const Type &t);
270 string dataset()
const ;
278 virtual bool is_dap4_only_type();
279 virtual bool is_dap2_only_type();
281 virtual bool synthesized_p();
282 virtual void set_synthesized_p(
bool state);
284 virtual int element_count(
bool leaves =
false);
286 virtual bool read_p();
287 virtual void set_read_p(
bool state);
289 virtual bool send_p();
290 virtual void set_send_p(
bool state);
293 virtual void set_attr_table(
const AttrTable &at);
295 virtual bool is_in_selection();
296 virtual void set_in_selection(
bool state);
298 virtual void set_parent(
BaseType *parent);
301 virtual void transfer_attributes(
AttrTable *at);
337 virtual BaseType *var(
const string &name =
"",
bool exact_match =
true, btp_stack *s = 0);
338 virtual BaseType *var(
const string &name, btp_stack &s);
344 virtual bool check_semantics(
string &msg,
bool all =
false);
346 virtual bool ops(
BaseType *b,
int op);
348 virtual void print_decl(FILE *out,
string space =
" ",
349 bool print_semi =
true,
350 bool constraint_info =
false,
351 bool constrained =
false);
353 virtual void print_xml(FILE *out,
string space =
" ",
354 bool constrained =
false);
356 virtual void print_decl(ostream &out,
string space =
" ",
357 bool print_semi =
true,
358 bool constraint_info =
false,
359 bool constrained =
false);
361 virtual void print_xml(ostream &out,
string space =
" ",
362 bool constrained =
false);
364 virtual void print_xml_writer(
XMLWriter &xml,
bool constrained =
false);
380 virtual unsigned int width(
bool constrained =
false) = 0;
382 virtual unsigned int width(
bool constrained =
false);
404 virtual unsigned int buf2val(
void **val) = 0;
435 virtual unsigned int val2buf(
void *val,
bool reuse =
false) = 0;
505 virtual bool deserialize(
UnMarshaller &um,
DDS *dds,
bool reuse =
false) = 0;
522 virtual void print_val(FILE *out,
string space =
"",
523 bool print_decl_p =
true) = 0;
539 virtual void print_val(ostream &out,
string space =
"",
540 bool print_decl_p =
true) = 0;
546 #endif // _basetype_h
void set_is_dap4(const bool v)
abstract base class used to unmarshall/deserialize dap data objects
Part
Names the parts of multi-section constructor data types.
bool is_constructor_type(Type t)
Returns true if the instance is a constructor (i.e., Structure, Sequence or Grid) type variable...
Contains the attributes for a dataset.
bool is_vector_type(Type t)
Returns true if the instance is a vector (i.e., array) type variable.
Type
Identifies the data type.
stack< BaseType * > btp_stack
bool is_simple_type(Type t)
Returns true if the instance is a numeric, string or URL type variable.
Evaluate a constraint expression.
The basic data type for the DODS DAP types.
libdap base object for common functionality of libdap objects
abstract base class used to marshal/serialize dap data objects
string type_name(Type t)
Returns the type of the class instance as a string.