44 #include "D4StreamMarshaller.h"
45 #include "D4StreamUnMarshaller.h"
50 #include "Operators.h"
51 #include "dods-limits.h"
53 #include "InternalErr.h"
54 #include "DapIndent.h"
88 d_buf = copy_from.d_buf;
94 return new Int8(*
this);
98 Int8::operator=(
const Int8 &rhs)
103 static_cast<BaseType &>(*
this) = rhs;
113 return sizeof(dods_int8);
119 checksum.
AddData(reinterpret_cast<uint8_t*>(&d_buf),
sizeof(d_buf));
136 m.put_int8( d_buf ) ;
142 um.get_int8( d_buf ) ;
152 Int8::set_value(dods_int8 i)
160 void Int8::print_val(ostream &out,
string space,
bool print_decl_p)
164 out <<
" = " << (int)d_buf <<
";\n";
175 throw InternalErr(__FILE__, __LINE__,
"This value not read!");
179 throw InternalErr(__FILE__, __LINE__,
"This value not read!");
191 return Cmp<dods_int8, dods_int8>(op, d_buf, static_cast<Int8*>(b)->value());
193 return SUCmp<dods_int8, dods_byte>(op, d_buf, static_cast<Byte*>(b)->value());
195 return Cmp<dods_int8, dods_int16>(op, d_buf, static_cast<Int16*>(b)->value());
197 return SUCmp<dods_int8, dods_uint16>(op, d_buf, static_cast<UInt16*>(b)->value());
199 return Cmp<dods_int8, dods_int32>(op, d_buf, static_cast<Int32*>(b)->value());
201 return SUCmp<dods_int8, dods_uint32>(op, d_buf, static_cast<UInt32*>(b)->value());
203 return Cmp<dods_int8, dods_int64>(op, d_buf, static_cast<Int64*>(b)->value());
205 return SUCmp<dods_int8, dods_uint64>(op, d_buf, static_cast<UInt64*>(b)->value());
207 return Cmp<dods_int8, dods_float32>(op, d_buf, static_cast<Float32*>(b)->value());
209 return Cmp<dods_int8, dods_float64>(op, d_buf, static_cast<Float64*>(b)->value());
212 throw Error(malformed_expr,
"Relational operators can only compare compatible types (number, string).");
214 throw Error(malformed_expr,
"Relational operators only work with scalar types.");
231 std::vector<BaseType *> *
237 oss << __func__ <<
"() - Something Bad Happened. This transform should produce only ";
238 oss <<
" a single BaseType yet it produced " << vec->size();
239 throw Error(internal_error,oss.str());
241 (*vec)[0]->set_type(dods_byte_c);
256 strm << DapIndent::LMarg <<
"Int8::dump - ("
257 << (
void *)
this <<
")" << endl ;
258 DapIndent::Indent() ;
260 strm << DapIndent::LMarg <<
"value: " << d_buf << endl ;
261 DapIndent::UnIndent() ;