42#include "dods-limits.h"
53const unsigned int max_str_len = DODS_USHRT_MAX - 1;
67 Str(
const string &n,
const string &d);
73 Str &operator=(
const Str &rhs);
77 unsigned int width(
bool =
false)
const override {
return sizeof(string); }
79 int64_t width_ll(
bool =
false)
const override {
return sizeof(string); }
83 int length()
const override;
88 bool deserialize(
UnMarshaller &um,
DDS *dds,
bool reuse =
false)
override;
91 void compute_checksum(
Crc32 &checksum)
override;
95 unsigned int val2buf(
void *val,
bool reuse =
false)
override;
96 unsigned int buf2val(
void **val)
override;
99 virtual string value()
const;
103 void print_val(FILE *out,
string space =
"",
bool print_decl_p =
true)
override;
104 void print_val(ostream &out,
string space =
"",
bool print_decl_p =
true)
override;
106 bool ops(
BaseType *b,
int op)
override;
109 void dump(ostream &strm)
const override;
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.
abstract base class used to marshal/serialize dap data objects
unsigned int buf2val(void **val) override
bool d4_ops(BaseType *b, int op) override
virtual string value() const
void dump(ostream &strm) const override
dumps information about this object
unsigned int val2buf(void *val, bool reuse=false) override
virtual bool set_value(const string &value)
virtual string esc_string_variable_value(const string &s)
Escape non-printable characters and quotes from a Str variable value. The value printed is used mostl...
abstract base class used to unmarshall/deserialize dap data objects
top level DAP object to house generic methods
virtual BaseType * ptr_duplicate()=0
virtual int64_t length_ll() const
Get the number of elements in this variable This version of the function deprecates length() which is...
virtual int length() const
How many elements are in this variable? Uses -1 in places.