39 #include "CacheMarshaller.h" 42 using namespace libdap;
50 void CacheMarshaller::put_byte(dods_byte val)
52 d_out.write(reinterpret_cast<char*>(&val),
sizeof(val));
55 void CacheMarshaller::put_int16(dods_int16 val)
57 d_out.write(reinterpret_cast<char*>(&val),
sizeof(val));
60 void CacheMarshaller::put_int32(dods_int32 val)
62 d_out.write(reinterpret_cast<char*>(&val),
sizeof(val));
65 void CacheMarshaller::put_float32(dods_float32 val)
67 d_out.write(reinterpret_cast<char*>(&val),
sizeof(val));
70 void CacheMarshaller::put_float64(dods_float64 val)
72 d_out.write(reinterpret_cast<char*>(&val),
sizeof(val));
75 void CacheMarshaller::put_uint16(dods_uint16 val)
77 d_out.write(reinterpret_cast<char*>(&val),
sizeof(val));
80 void CacheMarshaller::put_uint32(dods_uint32 val)
82 d_out.write(reinterpret_cast<char*>(&val),
sizeof(val));
85 void CacheMarshaller::put_str(
const string &val)
87 size_t len = val.length();
88 d_out.write(reinterpret_cast<const char*>(&len),
sizeof(
size_t));
89 d_out.write(val.data(), val.length());
92 void CacheMarshaller::put_url(
const string &val)
97 void CacheMarshaller::put_opaque(
char *val,
unsigned int len)
99 d_out.write(val, len);
102 void CacheMarshaller::put_int(
int val)
104 d_out.write(reinterpret_cast<char*>(&val),
sizeof(val));
107 void CacheMarshaller::put_vector(
char *val,
int num,
int width, Vector &vec)
109 put_vector(val, num, width, vec.var()->type());
136 void CacheMarshaller::put_vector(
char *val,
int num, Vector &)
138 assert(val || num == 0);
146 d_out.write(val, num);
160 void CacheMarshaller::put_vector(
char *val,
unsigned int num,
int width, Type)
162 assert(val || num == 0);
170 d_out.write(val, num * width);
186 d_out.write(val, num * width);
189 void CacheMarshaller::dump(ostream &strm)
const 191 strm << DapIndent::LMarg <<
"CacheMarshaller::dump - (" << (
void *)
this <<
")" << endl;
virtual void put_vector_start(int num)
virtual void put_vector_part(char *val, unsigned int num, int width, libdap::Type)
virtual void put_vector_end()