40 #ifndef _dods_datatypes_h
49 #ifndef constraint_evaluator_h
58 class ConstraintEvaluator;
71 Int32(
const string &n);
72 Int32(
const string &n,
const string &d);
81 virtual unsigned int width(
bool constrained =
false)
const;
92 virtual unsigned int val2buf(
void *val,
bool reuse =
false);
93 virtual unsigned int buf2val(
void **val);
98 virtual void print_val(FILE *out,
string space =
"",
99 bool print_decl_p =
true);
100 virtual void print_val(ostream &out,
string space =
"",
101 bool print_decl_p =
true);
105 virtual void dump(ostream &strm)
const ;
abstract base class used to unmarshall/deserialize dap data objects
virtual bool ops(BaseType *b, int op)
Evaluate relational operators.
Read data from the stream made by D4StreamMarshaller.
virtual unsigned int width(bool constrained=false) const
How many bytes does this use Return the number of bytes of storage this variable uses. For scalar types, this is pretty simple (an int32 uses 4 bytes, etc.). For arrays and Constructors, it is a bit more complex. Note that a scalar String variable uses sizeof(String*) bytes, not the length of the string. In other words, the value returned is independent of the type. Also note width() of a String array returns the number of elements in the array times sizeof(String*). That is, each different array size is a different data type.
virtual void compute_checksum(Crc32 &checksum)
include the data for this variable in the checksum DAP4 includes a checksum with every data response...
virtual dods_int32 value() const
virtual bool deserialize(UnMarshaller &um, DDS *dds, bool reuse=false)
Receive data from the net.
Marshaller that knows how to marshal/serialize dap data objects to a C++ iostream using DAP4's receiv...
Int32 & operator=(const Int32 &rhs)
virtual BaseType * ptr_duplicate()
virtual void dump(ostream &strm) const
dumps information about this object
Evaluate a constraint expression.
virtual bool set_value(dods_int32 i)
virtual void print_val(FILE *out, string space="", bool print_decl_p=true)
Prints the value of the variable.
The basic data type for the DODS DAP types.
abstract base class used to marshal/serialize dap data objects
virtual unsigned int buf2val(void **val)
Reads the class data.
virtual bool serialize(ConstraintEvaluator &eval, DDS &dds, Marshaller &m, bool ce_eval=true)
Move data to the net.
Holds a 32-bit signed integer.
virtual unsigned int val2buf(void *val, bool reuse=false)
Loads class data.