libdap
Updated for version 3.20.5
libdap4 is an implementation of OPeNDAP's DAP protocol.
|
57 #include "Marshaller.h"
58 #include "UnMarshaller.h"
61 #include "D4StreamMarshaller.h"
62 #include "D4StreamUnMarshaller.h"
65 #include "Operators.h"
66 #include "dods-limits.h"
67 #include "InternalErr.h"
71 #include "DapIndent.h"
100 d_buf = copy_from.d_buf;
110 Float32::operator=(
const Float32 &rhs)
115 dynamic_cast<BaseType &>(*
this) = rhs;
125 return sizeof(dods_float32);
131 #if USE_LOCAL_TIMEOUT_SCHEME
139 #if USE_LOCAL_TIMEOUT_SCHEME
142 m.put_float32( d_buf ) ;
150 um.get_float32( d_buf ) ;
158 checksum.
AddData(reinterpret_cast<uint8_t*>(&d_buf),
sizeof(d_buf));
175 m.put_float32( d_buf ) ;
181 um.get_float32( d_buf ) ;
194 "The incoming pointer does not contain any data.");
196 d_buf = *(dods_float32 *)val;
207 throw InternalErr(__FILE__, __LINE__,
"NULL pointer.");
210 *val =
new dods_float32;
212 *(dods_float32 *)*val = d_buf;
218 Float32::set_value(dods_float32 f)
242 fwrite(oss.str().data(),
sizeof(char), oss.str().length(), out);
253 out <<
" = " << std::setprecision( 6 ) << d_buf <<
";\n" ;
256 out << std::setprecision( 6 ) << d_buf ;
268 throw InternalErr(__FILE__, __LINE__,
"This value not read!");
273 throw InternalErr(__FILE__, __LINE__,
"This value not read!");
284 DBG(cerr <<
"b->typename(): " << b->
type_name() << endl);
288 return Cmp<dods_float32, dods_int8>(op, d_buf, static_cast<Int8*>(b)->
value());
290 return SUCmp<dods_float32, dods_byte>(op, d_buf, static_cast<Byte*>(b)->
value());
292 return Cmp<dods_float32, dods_int16>(op, d_buf, static_cast<Int16*>(b)->
value());
294 return SUCmp<dods_float32, dods_uint16>(op, d_buf, static_cast<UInt16*>(b)->
value());
296 return Cmp<dods_float32, dods_int32>(op, d_buf, static_cast<Int32*>(b)->
value());
298 return SUCmp<dods_float32, dods_uint32>(op, d_buf, static_cast<UInt32*>(b)->
value());
300 return Cmp<dods_float32, dods_int64>(op, d_buf, static_cast<Int64*>(b)->
value());
302 return SUCmp<dods_float32, dods_uint64>(op, d_buf, static_cast<UInt64*>(b)->
value());
304 return Cmp<dods_float32, dods_float32>(op, d_buf, static_cast<Float32*>(b)->
value());
306 DBG(cerr <<
"arg1: " << d_buf <<
" " << op <<
" arg2: " << static_cast<Float64*>(b)->
value() << endl);
308 return Cmp<dods_float32, dods_float32>(op, d_buf, (
float)static_cast<Float64*>(b)->
value());
311 throw Error(malformed_expr,
"Relational operators can only compare compatible types (number, string).");
313 throw Error(malformed_expr,
"Relational operators only work with scalar types.");
328 strm << DapIndent::LMarg <<
"Float32::dump - (" << (
void *)
this <<
")"
330 DapIndent::Indent() ;
332 strm << DapIndent::LMarg <<
"value: " << d_buf << endl ;
333 DapIndent::UnIndent() ;
Evaluate a constraint expression.
virtual bool ops(BaseType *b, int op)
Evaluate relational operators.
virtual void print_val(FILE *out, string space="", bool print_decl_p=true)
Prints the value of the variable.
virtual bool serialize(ConstraintEvaluator &eval, DDS &dds, Marshaller &m, bool ce_eval=true)
Move data to the net, then remove them from the object.
abstract base class used to unmarshall/deserialize dap data objects
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.
A class for error processing.
A class for software fault reporting.
abstract base class used to marshal/serialize dap data objects
virtual bool deserialize(UnMarshaller &um, DDS *dds, bool reuse=false)
Receive data from the net.
virtual void dump(ostream &strm) const
dumps information about this object
virtual unsigned int val2buf(void *val, bool reuse=false)
Loads class data.
virtual bool d4_ops(BaseType *b, int op)
top level DAP object to house generic methods
Holds a 32-bit floating point value.
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 dump(ostream &strm) const
dumps information about this object
virtual string dataset() const
Returns the name of the dataset used to create this instance.
Read data from the stream made by D4StreamMarshaller.
virtual bool read_p()
Has this variable been read?
virtual BaseType * ptr_duplicate()
virtual Type type() const
Returns the type of the class instance.
bool eval_selection(DDS &dds, const std::string &dataset)
Evaluate a boolean-valued constraint expression. This is main method for the evaluator and is called ...
virtual void set_read_p(bool state)
Sets the value of the read_p property.
void AddData(const uint8_t *pData, const uint32_t length)
virtual unsigned int buf2val(void **val)
Reads the class data.
virtual bool read()
Read data into a local buffer.
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_float32 value() const
The basic data type for the DODS DAP types.
virtual string type_name() const
Returns the type of the class instance as a string.
Marshaller that knows how to marshal/serialize dap data objects to a C++ iostream using DAP4's receiv...