30 #include <H5Ipublic.h>
31 #include <H5Rpublic.h>
58 int format_constraint(
int *cor,
int *step,
int *edg);
60 hid_t mkstr(
int size, H5T_str_t pad);
62 bool m_array_of_structure(hid_t dsetid, std::vector<char>&values,
bool has_values,
int values_offset,
int nelms,
int* offset,
int*count,
int*step);
63 bool m_array_in_structure();
64 bool m_array_of_reference(hid_t dset_id,hid_t dtype_id);
65 void m_intern_plain_array_data(
char *convbuf,hid_t memtype);
66 void m_array_of_atomic(hid_t, hid_t,
int,
int*,
int*,
int*);
68 void do_array_read(hid_t dset_id,hid_t dtype_id,std::vector<char>&values,
bool has_values,
int values_offset,
int nelms,
int* offset,
int* count,
int* step);
70 bool do_h5_array_type_read(hid_t dsetid, hid_t memb_id,std::vector<char>&values,
bool has_values,
int values_offset,
int at_nelms,
int* at_offset,
int*at_count,
int* at_step);
72 inline int INDEX_nD_TO_1D (
const std::vector < int > &dims,
73 const std::vector < int > &pos);
74 bool obtain_next_pos(std::vector<int>& pos, std::vector<int>&start,std::vector<int>&end,std::vector<int>&step,
int rank_change);
76 template<
typename T>
int subset(
79 std::vector<int> & dim,
83 std::vector<T> *poutput,
84 std::vector<int>& pos,
90 HDF5Array(
const std::string & n,
const std::string &d, libdap::BaseType * v);
115 void set_varpath(
const std::string vpath) { var_path = vpath;}
116 libdap::BaseType *h5dims_transform_to_dap4(libdap::D4Group *root);