echelon  0.8.0
handle.hpp
1 // Copyright (c) 2012-2014 Christopher Hinz
2 //
3 // Distributed under the Boost Software License, Version 1.0. (See accompanying
4 // file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
5 
6 #ifndef ECHELON_HDF5_PRECURSOR_HANDLE_HPP
7 #define ECHELON_HDF5_PRECURSOR_HANDLE_HPP
8 
9 #include <hdf5.h>
10 
11 namespace echelon
12 {
13 namespace hdf5
14 {
15 namespace precursor
16 {
17 class attribute;
18 class dataset;
19 class dataspace;
20 class file;
21 class group;
22 class object;
23 class property_list;
24 class type;
25 
26 class handle
27 {
28 public:
29  handle();
30  explicit handle(hid_t id_);
31 
32  handle(const attribute& other);
33  handle(const dataset& other);
34  handle(const dataspace& other);
35  handle(const file& other);
36  handle(const group& other);
37  handle(const object& other);
38  handle(const property_list& other);
39  handle(const type& other);
40 
41  handle(const handle& other);
42  handle(handle&& other);
43 
44  ~handle();
45 
46  handle& operator=(const handle& other);
47  handle& operator=(handle&& other);
48 
49  hid_t id() const;
50 
51 private:
52  hid_t id_;
53 };
54 }
55 }
56 }
57 
58 #endif
echelon&#39;s core namespace
Definition: attribute.cpp:10