30 #ifndef _HDF5CFARRAY_H
31 #define _HDF5CFARRAY_H
41 #include "HDF5DiskCache.h"
43 #include <D4Attributes.h>
50 const hid_t h5_file_id,
51 const std::string & h5_filename,
53 const std::vector<size_t>& h5_dimsizes,
54 const std::string &varfullpath,
55 const size_t h5_total_elems,
56 const CVType h5_cvtype,
57 const bool h5_islatlon,
58 const float h5_comp_ratio,
59 const std::string & n=
"",
60 libdap::BaseType * v = 0):
64 filename(h5_filename),
66 dimsizes(h5_dimsizes),
68 total_elems(h5_total_elems),
70 islatlon(h5_islatlon),
71 comp_ratio(h5_comp_ratio)
77 virtual libdap::BaseType *ptr_duplicate();
82 libdap::BaseType *h5cfdims_transform_to_dap4(libdap::D4Group *root);
94 std::vector<size_t>dimsizes;
100 bool valid_disk_cache();
101 bool valid_disk_cache_for_compressed_data(
short dtype_size);
102 bool obtain_cached_data(
HDF5DiskCache*,
const std::string&,
int, std::vector<int>&,std::vector<int>&,
size_t,
short);
103 void write_data_to_cache(hid_t dset_id, hid_t dspace_id,hid_t mspace_id,hid_t memtype,
const std::string& cache_fpath,
short dtype_size,
const std::vector<char> &buf,
int nelms);
A helper class that aims to reduce code redundence for different special CF derived array class For e...
This class specifies the core engineering of mapping HDF5 to DAP by following CF.
virtual void read_data_NOT_from_mem_cache(bool add_cache, void *buf)