32#include <libdap/Vector.h>
35#include "CacheMarshaller.h"
46void CacheMarshaller::put_byte(dods_byte val)
48 d_out.write(
reinterpret_cast<char*
>(&val),
sizeof(val));
51void CacheMarshaller::put_int16(dods_int16 val)
53 d_out.write(
reinterpret_cast<char*
>(&val),
sizeof(val));
56void CacheMarshaller::put_int32(dods_int32 val)
58 d_out.write(
reinterpret_cast<char*
>(&val),
sizeof(val));
61void CacheMarshaller::put_float32(dods_float32 val)
63 d_out.write(
reinterpret_cast<char*
>(&val),
sizeof(val));
66void CacheMarshaller::put_float64(dods_float64 val)
68 d_out.write(
reinterpret_cast<char*
>(&val),
sizeof(val));
71void CacheMarshaller::put_uint16(dods_uint16 val)
73 d_out.write(
reinterpret_cast<char*
>(&val),
sizeof(val));
76void CacheMarshaller::put_uint32(dods_uint32 val)
78 d_out.write(
reinterpret_cast<char*
>(&val),
sizeof(val));
81void CacheMarshaller::put_str(
const string &val)
83 size_t len = val.size();
84 d_out.write(
reinterpret_cast<const char*
>(&len),
sizeof(
size_t));
85 d_out.write(val.data(), val.size());
88void CacheMarshaller::put_url(
const string &val)
93void CacheMarshaller::put_opaque(
char *val,
unsigned int len)
95 d_out.write(val, len);
98void CacheMarshaller::put_int(
int val)
100 d_out.write(
reinterpret_cast<char*
>(&val),
sizeof(val));
103void CacheMarshaller::put_vector(
char *val,
int num,
int width, Vector &vec)
105 put_vector(val, num, width, vec.var()->type());
132void CacheMarshaller::put_vector(
char *val,
int num, Vector &)
134 assert(val || num == 0);
142 d_out.write(val, num);
156void CacheMarshaller::put_vector(
char *val,
unsigned int num,
int width,
Type)
158 assert(val || num == 0);
166 d_out.write(val, num * width);
182 d_out.write(val, num * width);
185void CacheMarshaller::dump(ostream &strm)
const
187 strm << BESIndent::LMarg <<
"CacheMarshaller::dump - (" << (
void *)
this <<
")" << endl;
virtual void put_vector_part(char *val, unsigned int num, int width, libdap::Type)
virtual void put_vector_end()
virtual void put_vector_start(int num)