55 #ifndef _internalerr_h
59 #ifndef __DODS_DATATYPES_
74 #define FILE_METHODS 1
82 class ConstraintEvaluator;
215 void _duplicate(
const BaseType &bt);
221 BaseType(
const string &n,
const string &d,
const Type &t);
226 virtual string toString();
228 virtual void dump(ostream &strm)
const ;
238 virtual BaseType *ptr_duplicate() = 0;
241 virtual void set_name(
const string &n);
244 void set_type(
const Type &t);
245 string type_name()
const;
247 string dataset()
const ;
249 virtual bool is_simple_type();
250 virtual bool is_vector_type();
251 virtual bool is_constructor_type();
253 virtual bool synthesized_p();
254 virtual void set_synthesized_p(
bool state);
256 virtual int element_count(
bool leaves =
false);
258 virtual bool read_p();
259 virtual void set_read_p(
bool state);
261 virtual bool send_p();
262 virtual void set_send_p(
bool state);
265 virtual void set_attr_table(
const AttrTable &at);
267 virtual bool is_in_selection();
268 virtual void set_in_selection(
bool state);
270 virtual void set_parent(
BaseType *parent);
273 virtual void transfer_attributes(
AttrTable *at);
309 virtual BaseType *var(
const string &name =
"",
bool exact_match =
true,
317 virtual bool check_semantics(
string &msg,
bool all =
false);
319 virtual bool ops(
BaseType *b,
int op);
321 virtual void print_decl(FILE *out,
string space =
" ",
322 bool print_semi =
true,
323 bool constraint_info =
false,
324 bool constrained =
false);
326 virtual void print_xml(FILE *out,
string space =
" ",
327 bool constrained =
false);
329 virtual void print_decl(ostream &out,
string space =
" ",
330 bool print_semi =
true,
331 bool constraint_info =
false,
332 bool constrained =
false);
334 virtual void print_xml(ostream &out,
string space =
" ",
335 bool constrained =
false);
337 virtual void print_xml_writer(
XMLWriter &xml,
bool constrained =
false);
353 virtual unsigned int width() = 0;
354 virtual unsigned int width(
bool constrained);
376 virtual unsigned int buf2val(
void **val) = 0;
407 virtual unsigned int val2buf(
void *val,
bool reuse =
false) = 0;
477 virtual bool deserialize(
UnMarshaller &um,
DDS *dds,
bool reuse =
false) = 0;
495 virtual void print_val(FILE *out,
string space =
"",
496 bool print_decl_p =
true) = 0;
513 virtual void print_val(ostream &out,
string space =
"",
514 bool print_decl_p =
true) = 0;
520 #endif // _basetype_h
abstract base class used to unmarshall/deserialize dap data objects
Part
Names the parts of multi-section constructor data types.
Contains the attributes for a dataset.
Type
Identifies the data type.
stack< BaseType * > btp_stack
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