echelon  0.8.0
object_reference.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_OBJECT_REFERENCE_HPP
7 #define ECHELON_OBJECT_REFERENCE_HPP
8 
9 #include <echelon/object.hpp>
10 
11 #include <echelon/hdf5/object_reference.hpp>
12 
13 #include <string>
14 
15 namespace echelon
16 {
17 
25 {
26 public:
30 
31  explicit object_reference(hdf5::object_reference native_handle_);
32 
37  object operator*() const;
38 
43  explicit operator bool() const;
44 
48  {
49  return reference_handle_;
50  }
51 
52 private:
53  hdf5::object_reference reference_handle_;
54 };
55 
56 }
57 
58 #endif
echelon&#39;s core namespace
Definition: attribute.cpp:10
object operator*() const
Dereferences this reference.
Definition: object_reference.cpp:26
object_reference()
Creates a null reference.
Definition: object_reference.cpp:17
A reference to an HDF5 object.
Definition: hdf5/object_reference.hpp:25
A reference to an HDF5 object.
Definition: object_reference.hpp:24
const hdf5::object_reference & raw_ref() const
The underlying low-level reference.
Definition: object_reference.hpp:47