h5cpp  0.6.1
A modern C++ wrapper for the HDF5 C library
property_class.hpp
Go to the documentation of this file.
1 //
2 // (c) Copyright 2017 DESY,ESS
3 //
4 // This file is part of h5pp.
5 //
6 // This library is free software; you can redistribute it and/or modify it
7 // under the terms of the GNU Lesser General Public License as published
8 // by the Free Software Foundation; either version 2.1 of the License, or
9 // (at your option) any later version.
10 //
11 // This library is distributed in the hope that it will be useful, but
12 // WITHOUT ANY WARRANTY; without even the implied warranty ofMERCHANTABILITY
13 // or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
14 // License for more details.
15 //
16 // You should have received a copy of the GNU Lesser General Public License
17 // along with this library; if not, write to the
18 // Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor
19 // Boston, MA 02110-1301 USA
20 // ===========================================================================
21 //
22 // Authors:
23 // Eugen Wintersberger <eugen.wintersberger@desy.de>
24 // Martin Shetty <martin.shetty@esss.se>
25 // Created on: Aug 16, 2017
26 //
27 #pragma once
28 
29 #include <h5cpp/core/hdf5_capi.hpp>
31 #include <h5cpp/core/windows.hpp>
32 
33 namespace hdf5 {
34 namespace property {
35 
46  public:
50  Class() = default;
51 
55  Class(const Class &c) = default;
56 
60  Class &operator=(const Class &c) = default;
61 
65  explicit Class(ObjectHandle &&handle);
66 
67  std::string name() const;
68  Class parent() const;
69 
70  explicit operator hid_t() const {
71  return static_cast<hid_t>(handle_);
72  }
73 
74  private:
75  ObjectHandle handle_;
76 
77 };
78 
79 DLL_EXPORT bool operator==(const Class &lhs, const Class &rhs);
80 DLL_EXPORT bool operator!=(const Class &lhs, const Class &rhs);
81 
82 DLL_EXPORT extern const Class kAttributeCreate;
83 DLL_EXPORT extern const Class kDatasetAccess;
84 DLL_EXPORT extern const Class kDatasetCreate;
85 DLL_EXPORT extern const Class kDatasetXfer;
86 DLL_EXPORT extern const Class kDatatypeAccess;
87 DLL_EXPORT extern const Class kDatatypeCreate;
88 DLL_EXPORT extern const Class kFileAccess;
89 DLL_EXPORT extern const Class kFileCreate;
90 DLL_EXPORT extern const Class kFileMount;
91 DLL_EXPORT extern const Class kGroupAccess;
92 DLL_EXPORT extern const Class kGroupCreate;
93 DLL_EXPORT extern const Class kLinkAccess;
94 DLL_EXPORT extern const Class kLinkCreate;
95 DLL_EXPORT extern const Class kObjectCopy;
96 DLL_EXPORT extern const Class kObjectCreate;
97 DLL_EXPORT extern const Class kStringCreate;
98 
99 DLL_EXPORT std::ostream &operator<<(std::ostream &stream, const Class &c);
100 
101 } // namespace property
102 } // namespace hdf5
Wrapper for hid_t object identifiers.
Definition: object_handle.hpp:67
property list class
Definition: property_class.hpp:45
Class & operator=(const Class &c)=default
copy assignment
Class()=default
default constructor
Class(const Class &c)=default
copy constructor
Class parent() const
Class(ObjectHandle &&handle)
constructor
std::string name() const
const Class kStringCreate
const Class kLinkAccess
const Class kLinkCreate
const Class kDatasetCreate
const Class kObjectCreate
std::ostream & operator<<(std::ostream &stream, const VirtualDataView &view)
const Class kDatatypeCreate
const Class kGroupAccess
bool operator==(const Class &lhs, const Class &rhs)
const Class kDatasetXfer
const Class kFileCreate
const Class kFileAccess
const Class kGroupCreate
const Class kAttributeCreate
const Class kFileMount
bool operator!=(const Class &lhs, const Class &rhs)
const Class kDatatypeAccess
const Class kDatasetAccess
const Class kObjectCopy
top-level namespace of the entire library
Definition: attribute.hpp:45
#define DLL_EXPORT
Definition: windows.hpp:29