56class HDF5BaseArray:
public libdap::Array {
58 HDF5BaseArray(
const std::string & n =
"", libdap::BaseType * v =
nullptr) :
63 ~HDF5BaseArray()
override =
default;
70 int64_t format_constraint(int64_t *cor, int64_t *step, int64_t *edg);
71 void write_nature_number_buffer(
int rank, int64_t tnumelm);
72 void read_data_from_mem_cache(H5DataType h5type,
const std::vector<size_t> &h5_dimsizes,
void*buf,
const bool is_dap4);
73 virtual void read_data_NOT_from_mem_cache(
bool add_cache,
void*buf) = 0;
75 size_t INDEX_nD_TO_1D(
const std::vector<size_t> &dims,
const std::vector<size_t> &pos)
const;
77 template<
typename T>
int subset(
void* input,
79 const std::vector<size_t> & dim,
83 std::vector<T> *poutput,
84 std::vector<size_t>& pos,
87 std::string check_str_sect_in_list(
const std::vector<string> &,
const std::string &,
char)
const;
88 bool check_var_cache_files(
const std::vector<string>&,
const std::string &,
const std::string &)
const;
89 void handle_data_with_mem_cache(H5DataType,
size_t t_elems,
const short cache_case,
const std::string & key,
const bool is_dap4);
92 libdap::BaseType *h5cfdims_transform_to_dap4(libdap::D4Group *grp);
int subset(void *input, int rank, const std::vector< size_t > &dim, int64_t start[], int64_t stride[], int64_t edge[], std::vector< T > *poutput, std::vector< size_t > &pos, int index)
Getting a subset of a variable.