26 #ifndef _HDF5BASEARRAY_H
27 #define _HDF5BASEARRAY_H
57 HDF5BaseArray(
const std::string & n =
"", libdap::BaseType * v = 0) :
71 int format_constraint(
int *cor,
int *step,
int *edg);
72 void write_nature_number_buffer(
int rank,
int tnumelm);
73 void read_data_from_mem_cache(H5DataType h5type,
const std::vector<size_t> &h5_dimsizes,
void*buf);
74 virtual void read_data_NOT_from_mem_cache(
bool add_cache,
void*buf) = 0;
76 size_t INDEX_nD_TO_1D(
const std::vector<size_t> &dims,
const std::vector<size_t> &pos)
const;
78 template<
typename T>
int subset(
void* input,
80 const std::vector<size_t> & dim,
84 std::vector<T> *poutput,
85 std::vector<size_t>& pos,
88 std::string check_str_sect_in_list(
const std::vector<string> &,
const std::string &,
char)
const;
89 bool check_var_cache_files(
const std::vector<string>&,
const std::string &,
const std::string &)
const;
90 void handle_data_with_mem_cache(H5DataType,
size_t t_elems,
const short cache_case,
const std::string & key);
This file includes several helper functions for translating HDF5 to CF-compliant.
int subset(void *input, int rank, const std::vector< size_t > &dim, int start[], int stride[], int edge[], std::vector< T > *poutput, std::vector< size_t > &pos, int index)
Getting a subset of a variable.