bes Updated for version 3.21.1
The Backend Server (BES) is the lower two tiers of the Hyrax data server
HDFArray.h
1// -*- C++ -*-
2
3// This file is part of the hdf4 data handler for the OPeNDAP data server.
4
5// Copyright (c) 2005 OPeNDAP, Inc.
6// Author: James Gallagher <jgallagher@opendap.org>
7//
8// This is free software; you can redistribute it and/or modify it under the
9// terms of the GNU Lesser General Public License as published by the Free
10// Software Foundation; either version 2.1 of the License, or (at your
11// option) any later version.
12//
13// This software is distributed in the hope that it will be useful, but
14// WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
15// or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
16// License for more details.
17//
18// You should have received a copy of the GNU Lesser General Public License
19// along with this software; if not, write to the Free Software Foundation,
20// Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21//
22// You can contact OPeNDAP, Inc. at PO Box 112, Saunderstown, RI. 02874-0112.
23
25// Copyright 1996, by the California Institute of Technology.
26// ALL RIGHTS RESERVED. United States Government Sponsorship
27// acknowledged. Any commercial use must be negotiated with the
28// Office of Technology Transfer at the California Institute of
29// Technology. This software may be subject to U.S. export control
30// laws and regulations. By accepting this software, the user
31// agrees to comply with all applicable U.S. export laws and
32// regulations. User has the responsibility to obtain export
33// licenses, or other export authority as may be required before
34// exporting such information to foreign countries or providing
35// access to foreign persons.
36
37// Author: Todd Karakashian, NASA/Jet Propulsion Laboratory
38// Todd.K.Karakashian@jpl.nasa.gov
39//
41
42#ifndef _HDFARRAY_H
43#define _HDFARRAY_H
44
45// STL includes
46#include <string>
47#include <vector>
48
49// DODS includes
50#include <libdap/Array.h>
51
52#include "ReadTagRef.h"
53
54
55class HDFArray:public libdap::Array, public ReadTagRef {
56 public:
57 HDFArray(const std::string & n, const std::string &d, libdap::BaseType * v);
58 ~ HDFArray() override;
59 libdap::BaseType *ptr_duplicate() override;
60 bool read() override;
61 bool read_tagref(int32 tag, int32 ref, int &error) override;
62 bool GetSlabConstraint(std::vector < int >&start_array,
63 std::vector < int >&edge_array,
64 std::vector < int >&stride_array);
65
66 void transfer_attributes(libdap::AttrTable *at_container) override;
67 virtual void transfer_dimension_attribute(libdap::AttrTable *dim);
68};
69
70#endif // _HDFARRAY_H
71
void transfer_attributes(libdap::AttrTable *at_container) override
Definition HDFArray.cc:212