bes  Updated for version 3.20.6
HDF5Structure.h
Go to the documentation of this file.
1 // This file is part of hdf5_handler a HDF5 file handler for the OPeNDAP
2 // data server.
3 
4 // Author: Hyo-Kyung Lee <hyoklee@hdfgroup.org> and Muqun Yang
5 // <myang6@hdfgroup.org>
6 
7 // Copyright (c) 2009-2016 The HDF Group, Inc. and OPeNDAP, Inc.
8 //
9 // This is free software; you can redistribute it and/or modify it under the
10 // terms of the GNU Lesser General Public License as published by the Free
11 // Software Foundation; either version 2.1 of the License, or (at your
12 // option) any later version.
13 //
14 // This software is distributed in the hope that it will be useful, but
15 // WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
16 // or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
17 // License for more details.
18 //
19 // You should have received a copy of the GNU Lesser General Public
20 // License along with this library; if not, write to the Free Software
21 // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
22 //
23 // You can contact OPeNDAP, Inc. at PO Box 112, Saunderstown, RI. 02874-0112.
24 // You can contact The HDF Group, Inc. at 1800 South Oak Street,
25 // Suite 203, Champaign, IL 61820
26 
27 #ifndef _HDF5Structure_h
28 #define _HDF5Structure_h
29 
30 #include <string>
31 #include <H5Ipublic.h>
32 #include "Structure.h"
33 #include "HDF5Array.h"
34 #include "h5get.h"
35 
36 
43 class HDF5Structure:public libdap::Structure {
44  private:
45 
46  std::string var_path;
47  void do_structure_read(hid_t dsetid, hid_t dtypeid,std::vector <char> &values,bool has_values, int values_offset);
48  friend class HDF5Array;
49  public:
51  HDF5Structure(const std::string &n, const std::string &vpath, const std::string &d);
52  HDF5Structure(const HDF5Structure &rhs);
53  virtual ~ HDF5Structure();
54 
56  HDF5Structure & operator=(const HDF5Structure & rhs);
57 
62  virtual libdap::BaseType *ptr_duplicate();
63 
65  virtual bool read();
66 
67 
69  friend std::string return_type(hid_t datatype);
70 
71 
72 
73 };
74 
75 #endif
HDF5Structure::read
virtual bool read()
Reads HDF5 structure data by calling each member's read method in this structure.
Definition: HDF5Structure.cc:69
HDF5Structure::ptr_duplicate
virtual libdap::BaseType * ptr_duplicate()
Definition: HDF5Structure.cc:41
HDF5Array.h
A class for handling all types of array in HDF5 for the default option.
HDF5Structure
Definition: HDF5Structure.h:43
h5get.h
HDF5Array
Definition: HDF5Array.h:48
HDF5Structure::return_type
friend std::string return_type(hid_t datatype)
See return_type function defined in h5dds.cc.
HDF5Structure::operator=
HDF5Structure & operator=(const HDF5Structure &rhs)
Assignment operator for dynamic cast into generic Structure.
Definition: HDF5Structure.cc:58
HDF5Structure::HDF5Structure
HDF5Structure(const std::string &n, const std::string &vpath, const std::string &d)
Constructor.
Definition: HDF5Structure.cc:46