30#include "BESInternalError.h"
42DmrppStr::operator=(
const DmrppStr &rhs)
47 dynamic_cast<Str &
>(*this) = rhs;
49 dynamic_cast<DmrppCommon &
>(*this) = rhs;
69 throw BESInternalError(
string(
"Expected only a single chunk for variable ") + name(), __FILE__, __LINE__);
73 auto chunk_size= chunk->get_size();
74 char *data = chunk->get_rbuf();
79 unsigned long long str_len=0;
82 done = (str_len >= chunk_size) || (data[str_len] == 0);
85 string value(data,str_len);
91DmrppStr::set_send_p(
bool state)
96 Str::set_send_p(state);
99void DmrppStr::dump(ostream & strm)
const
101 strm << BESIndent::LMarg <<
"DmrppStr::dump - (" << (
void *)
this <<
")" << endl;
103 DmrppCommon::dump(strm);
105 strm << BESIndent::LMarg <<
"value: " << d_buf << endl;
106 BESIndent::UnIndent();
virtual void load_attributes(libdap::BaseType *btp)
Load the attribute information for this variable.
virtual bool get_chunks_loaded() const
Have the chunks been loaded?
virtual size_t get_chunks_size() const
Use this when the number of chunks is needed.
virtual const std::vector< std::shared_ptr< Chunk > > & get_immutable_chunks() const
A const reference to the vector of chunks.
virtual void load_chunks(libdap::BaseType *btp)
Load chunk information for this variable.
virtual bool get_attributes_loaded() const
Have the attributes been loaded?