libdap++
Updated for version 3.12.0
|
marshaller that knows how to marshal/serialize dap data objects to a C++ iostream using XDR More...
#include <XDRStreamMarshaller.h>
Public Member Functions | |
virtual void | dump (ostream &strm) const |
dump the contents of this object to the specified ostream More... | |
virtual void | put_byte (dods_byte val) |
virtual void | put_float32 (dods_float32 val) |
virtual void | put_float64 (dods_float64 val) |
virtual void | put_int (int val) |
virtual void | put_int16 (dods_int16 val) |
virtual void | put_int32 (dods_int32 val) |
virtual void | put_opaque (char *val, unsigned int len) |
virtual void | put_str (const string &val) |
virtual void | put_uint16 (dods_uint16 val) |
virtual void | put_uint32 (dods_uint32 val) |
virtual void | put_url (const string &val) |
virtual void | put_vector (char *val, int num, Vector &vec) |
virtual void | put_vector (char *val, int num, int width, Vector &vec) |
virtual void | put_vector (char *val, unsigned int num, int width, Type type) |
XDRStreamMarshaller (ostream &out) | |
virtual | ~XDRStreamMarshaller () |
Definition at line 56 of file XDRStreamMarshaller.h.
libdap::XDRStreamMarshaller::XDRStreamMarshaller | ( | ostream & | out) |
Build an instance of XDRStreamMarshaller. Bind the C++ stream out to this instance. If the checksum parameter is true, initialize a checksum buffer and enable the use of the reset_checksum() and get_checksum() methods.
out | Write to this stream object. |
checksum | If true, compute checksums. False by default |
write_data | If true, write data values. True by default |
Definition at line 61 of file XDRStreamMarshaller.cc.
References libdap::XDR_DAP_BUFF_SIZE.
|
virtual |
Definition at line 99 of file XDRStreamMarshaller.cc.
|
virtual |
This method is implemented by all derived classes to dump their contents, in other words, any state they might have, private variables, etc...
The inline function below can be used to dump the contents of an OPeNDAOObj object. For example, the object Animal is derived from DapObj. A user could do the following:
Animal *a = new dog( "Sparky" ) ; cout << a << endl ;
And the dump method for dog could display the name passed into the constructor, the (this) pointer of the object, etc...
strm | C++ i/o stream to dump the object to |
Implements libdap::Marshaller.
Definition at line 529 of file XDRStreamMarshaller.cc.
References libdap::DapIndent::LMarg().
|
virtual |
Implements libdap::Marshaller.
Definition at line 182 of file XDRStreamMarshaller.cc.
References DBG.
|
virtual |
Implements libdap::Marshaller.
Definition at line 247 of file XDRStreamMarshaller.cc.
|
virtual |
Implements libdap::Marshaller.
Definition at line 268 of file XDRStreamMarshaller.cc.
|
virtual |
Implements libdap::Marshaller.
Definition at line 405 of file XDRStreamMarshaller.cc.
Referenced by put_vector().
|
virtual |
Implements libdap::Marshaller.
Definition at line 205 of file XDRStreamMarshaller.cc.
References XDR_INT16.
|
virtual |
Implements libdap::Marshaller.
Definition at line 226 of file XDRStreamMarshaller.cc.
References XDR_INT32.
|
virtual |
Implements libdap::Marshaller.
Definition at line 381 of file XDRStreamMarshaller.cc.
References libdap::XDR_DAP_BUFF_SIZE.
|
virtual |
Implements libdap::Marshaller.
Definition at line 331 of file XDRStreamMarshaller.cc.
Referenced by put_url().
|
virtual |
Implements libdap::Marshaller.
Definition at line 289 of file XDRStreamMarshaller.cc.
References XDR_UINT16.
|
virtual |
Implements libdap::Marshaller.
Definition at line 310 of file XDRStreamMarshaller.cc.
References XDR_UINT32.
|
virtual |
Implements libdap::Marshaller.
Definition at line 376 of file XDRStreamMarshaller.cc.
References put_str().
|
virtual |
Implements libdap::Marshaller.
Definition at line 426 of file XDRStreamMarshaller.cc.
References put_int().
Referenced by put_vector().
|
virtual |
Implements libdap::Marshaller.
Definition at line 469 of file XDRStreamMarshaller.cc.
References put_vector(), libdap::BaseType::type(), and libdap::Vector::var().
|
virtual |
Definition at line 475 of file XDRStreamMarshaller.cc.
References put_int(), and libdap::XDRUtils::xdr_coder().