39 #include "BESIndent.h"
40 #include "CacheMarshaller.h"
51 void CacheMarshaller::put_byte(dods_byte val)
53 d_out.write(
reinterpret_cast<char*
>(&val),
sizeof(val));
56 void CacheMarshaller::put_int16(dods_int16 val)
58 d_out.write(
reinterpret_cast<char*
>(&val),
sizeof(val));
61 void CacheMarshaller::put_int32(dods_int32 val)
63 d_out.write(
reinterpret_cast<char*
>(&val),
sizeof(val));
66 void CacheMarshaller::put_float32(dods_float32 val)
68 d_out.write(
reinterpret_cast<char*
>(&val),
sizeof(val));
71 void CacheMarshaller::put_float64(dods_float64 val)
73 d_out.write(
reinterpret_cast<char*
>(&val),
sizeof(val));
76 void CacheMarshaller::put_uint16(dods_uint16 val)
78 d_out.write(
reinterpret_cast<char*
>(&val),
sizeof(val));
81 void CacheMarshaller::put_uint32(dods_uint32 val)
83 d_out.write(
reinterpret_cast<char*
>(&val),
sizeof(val));
86 void CacheMarshaller::put_str(
const string &val)
88 size_t len = val.length();
89 d_out.write(
reinterpret_cast<const char*
>(&len),
sizeof(
size_t));
90 d_out.write(val.data(), val.length());
93 void CacheMarshaller::put_url(
const string &val)
98 void CacheMarshaller::put_opaque(
char *val,
unsigned int len)
100 d_out.write(val, len);
103 void CacheMarshaller::put_int(
int val)
105 d_out.write(
reinterpret_cast<char*
>(&val),
sizeof(val));
108 void CacheMarshaller::put_vector(
char *val,
int num,
int width, Vector &vec)
110 put_vector(val, num, width, vec.var()->type());
137 void CacheMarshaller::put_vector(
char *val,
int num, Vector &)
139 assert(val || num == 0);
147 d_out.write(val, num);
161 void CacheMarshaller::put_vector(
char *val,
unsigned int num,
int width,
Type)
163 assert(val || num == 0);
171 d_out.write(val, num * width);
187 d_out.write(val, num * width);
190 void CacheMarshaller::dump(ostream &strm)
const
192 strm << BESIndent::LMarg <<
"CacheMarshaller::dump - (" << (
void *)
this <<
")" << endl;