57#include "dods-datatypes.h"
143 bool d_is_synthesized;
163 void dump(ostream &strm)
const override;
181 virtual bool is_dap4()
const {
return d_is_dap4; }
192 virtual string name()
const;
193 virtual void set_name(
const string &n);
194 virtual std::string
FQN()
const;
200 virtual string dataset()
const;
315 virtual unsigned int width(
bool constrained =
false)
const;
317 virtual int64_t
width_ll(
bool constrained =
false)
const;
319 virtual void print_decl(FILE *out,
string space =
" ",
bool print_semi =
true,
bool constraint_info =
false,
320 bool constrained =
false);
322 virtual void print_xml(FILE *out,
string space =
" ",
bool constrained =
false);
324 virtual void print_decl(ostream &out,
string space =
" ",
bool print_semi =
true,
bool constraint_info =
false,
325 bool constrained =
false);
327 virtual void print_xml(ostream &out,
string space =
" ",
bool constrained =
false);
386 virtual unsigned int val2buf(
void *val,
bool reuse =
false) = 0;
527 virtual void print_val(FILE *out,
string space =
"",
bool print_decl_p =
true);
543 virtual void print_val(ostream &out,
string space =
"",
bool print_decl_p =
true) = 0;
Contains the attributes for a dataset.
The basic data type for the DODS DAP types.
BaseType & operator=(const BaseType &rhs)
void m_duplicate(const BaseType &bt)
Perform a deep copy.
virtual bool is_dap4_projected(std::vector< string > &projected_dap4_inventory)
virtual void print_xml_writer(XMLWriter &xml, bool constrained=false)
virtual string type_name() const
Returns the type of the class instance as a string.
virtual void intern_data()
Read data into this variable.
virtual bool read()
Read data into a local buffer.
virtual bool deserialize(UnMarshaller &um, DDS *dds, bool reuse=false)
Receive data from the net.
virtual AttrTable & get_attr_table()
virtual string name() const
Returns the name of the class instance.
virtual void set_in_selection(bool state)
virtual void print_decl(FILE *out, string space=" ", bool print_semi=true, bool constraint_info=false, bool constrained=false)
Print an ASCII representation of the variable structure.
virtual BaseType * get_parent() const
virtual bool read_p()
Has this variable been read?
virtual unsigned int width(bool constrained=false) const
How many bytes does this variable use Return the number of bytes of storage this variable uses....
virtual void set_read_p(bool state)
Sets the value of the read_p property.
virtual string dataset() const
Returns the name of the dataset used to create this instance.
virtual bool d4_ops(BaseType *b, int op)
Evaluator a relop for DAP4.
virtual void set_length_ll(int64_t)
Set the number of elements in this variable This version of the function deprecates set_length() whic...
virtual void set_attr_table(const AttrTable &at)
virtual void set_synthesized_p(bool state)
virtual void set_parent(BaseType *parent)
virtual int element_count(bool leaves=false)
Count the members of constructor types.
void dump(ostream &strm) const override
dumps information about this object
virtual string toString()
virtual bool is_vector_type() const
Returns true if the instance is a vector (i.e., array) type variable.
virtual bool is_dap4() const
virtual void print_xml(FILE *out, string space=" ", bool constrained=false)
virtual void set_name(const string &n)
Sets the name of the class instance.
virtual bool ops(BaseType *b, int op)
Evaluate relational operators.
virtual bool is_constructor_type() const
Returns true if the instance is a constructor (i.e., Structure, Sequence or Grid) type variable.
virtual void print_val(ostream &out, string space="", bool print_decl_p=true)=0
Prints the value of the variable.
virtual D4Attributes * attributes()
virtual std::string FQN() const
virtual bool send_p()
Should this variable be sent?
virtual void set_length(int64_t)
Set the number of elements for this variable. use -1 to indicate nothing set.
virtual void add_var_nocopy(BaseType *bt, Part part=nil)
virtual int length() const
How many elements are in this variable? Uses -1 in places.
virtual void clear_local_data()
virtual bool is_simple_type() const
Returns true if the instance is a numeric, string or URL type variable.
virtual void set_send_p(bool state)
virtual void set_is_dap4(const bool v)
virtual BaseType * ptr_duplicate()=0
virtual unsigned int val2buf(void *val, bool reuse=false)=0
Loads class data.
virtual int64_t length_ll() const
Get the number of elements in this variable This version of the function deprecates length() which is...
virtual unsigned int buf2val(void **val)=0
Reads the class data.
virtual void set_attributes(D4Attributes *)
virtual void compute_checksum(Crc32 &checksum)=0
include the data for this variable in the checksum DAP4 includes a checksum with every data response....
virtual void transform_to_dap4(D4Group *root, Constructor *container)
DAP2 to DAP4 transform.
virtual bool serialize(ConstraintEvaluator &eval, DDS &dds, Marshaller &m, bool ce_eval=true)
Move data to the net, then remove them from the object.
virtual void add_var(BaseType *bt, Part part=nil)
Add a variable.
virtual void transfer_attributes(AttrTable *at)
virtual bool is_in_selection()
Is this variable part of the current selection?
virtual bool synthesized_p()
stack< BaseType * > btp_stack
virtual BaseType * get_ancestor()
virtual bool check_semantics(string &msg, bool all=false)
Compare an object's current state with the semantics of its type.
virtual int64_t width_ll(bool constrained=false) const
BaseType(const string &n, const Type &t, bool is_dap4=false)
The BaseType constructor.
virtual BaseType * var(const string &name="", bool exact_match=true, btp_stack *s=nullptr)
Returns a pointer to a member of a constructor class.
virtual void set_type(const Type &t)
Sets the type of the class instance.
virtual Type type() const
Returns the type of the class instance.
virtual void print_val(FILE *out, string space="", bool print_decl_p=true)
Prints the value of the variable.
virtual void print_dap4(XMLWriter &xml, bool constrained=false)
virtual void set_attributes_nocopy(D4Attributes *)
virtual std::vector< BaseType * > * transform_to_dap2(AttrTable *parent_attr_table)
DAP4 to DAP2 transform.
Evaluate a constraint expression.
Marshaller that knows how to marshal/serialize dap data objects to a C++ iostream using DAP4's receiv...
Read data from the stream made by D4StreamMarshaller.
libdap base object for common functionality of libdap objects
abstract base class used to marshal/serialize dap data objects
abstract base class used to unmarshall/deserialize dap data objects
top level DAP object to house generic methods
Type
Identifies the data type.
Part
Names the parts of multi-section constructor data types.