bes
Updated for version 3.20.6
|
25 #ifndef _dmrpp_common_h
26 #define _dmrpp_common_h 1
38 class D4BaseTypeFactory;
48 void join_threads(pthread_t threads[],
unsigned int num_threads);
64 friend class DmrppCommonTest;
65 friend class DmrppParserTest;
70 std::vector<unsigned int> d_chunk_dimension_sizes;
71 std::vector<Chunk> d_chunks;
75 d_deflate = dc.d_deflate;
76 d_shuffle = dc.d_shuffle;
77 d_chunk_dimension_sizes = dc.d_chunk_dimension_sizes;
78 d_chunks = dc.d_chunks;
99 m_duplicate_common(dc);
102 virtual ~DmrppCommon()
126 virtual const std::vector<Chunk> &get_immutable_chunks()
const {
130 virtual const std::vector<unsigned int> &get_chunk_dimension_sizes()
const {
131 return d_chunk_dimension_sizes;
140 unsigned int elements = 1;
141 for (std::vector<unsigned int>::const_iterator i = d_chunk_dimension_sizes.begin(),
142 e = d_chunk_dimension_sizes.end(); i != e; ++i) {
151 void print_dmrpp(libdap::XMLWriter &writer,
bool constrained =
false);
159 for (std::vector<size_t>::const_iterator i = chunk_dims.begin(), e = chunk_dims.end(); i != e; ++i) {
160 d_chunk_dimension_sizes.push_back(*i);
168 virtual unsigned long add_chunk(
const std::string &data_url,
unsigned long long size,
unsigned long long offset,
169 std::string position_in_array =
"");
171 virtual unsigned long add_chunk(
const std::string &data_url,
unsigned long long size,
unsigned long long offset,
172 const std::vector<unsigned int> &position_in_array);
174 virtual void dump(std::ostream & strm)
const;
179 #endif // _dmrpp_common_h
virtual std::vector< Chunk > & get_chunk_vec()
Returns a reference to the internal Chunk vector.
static std::string d_ns_prefix
The XML namespace prefix to use.
virtual void parse_chunk_dimension_sizes(std::string chunk_dim_sizes_string)
Set the dimension sizes for a chunk.
Size and offset information of data included in DMR++ files.
virtual bool is_shuffle_compression() const
Returns true if this object utilizes shuffle compression.
virtual unsigned int get_chunk_size_in_elements() const
Get the number of elements in this chunk.
virtual unsigned long add_chunk(const std::string &data_url, unsigned long long size, unsigned long long offset, std::string position_in_array="")
Add a new chunk as defined by an h4:byteStream element.
virtual bool is_deflate_compression() const
Returns true if this object utilizes deflate compression.
static std::string d_dmrpp_ns
The DMR++ XML namespace.
void set_deflate(bool value)
Set the value of the deflate property.
void set_shuffle(bool value)
Set the value of the shuffle property.
virtual char * read_atomic(const std::string &name)
read method for the atomic types
void set_chunk_dimension_sizes(const std::vector< size_t > &chunk_dims)
Set the value of the chunk dimension sizes given a vector of HDF5 hsize_t.
void print_dmrpp(libdap::XMLWriter &writer, bool constrained=false)
Print the DMR++ response for the Scalar types.
void print_chunks_element(libdap::XMLWriter &xml, const std::string &name_space="")
Print the Chunk information.
virtual void ingest_compression_type(std::string compression_type_string)
Parses the text content of the XML element h4:chunkDimensionSizes into the internal vector<unsigned i...
static bool d_print_chunks
if true, print_dap4() prints chunk elements