aboutsummaryrefslogtreecommitdiff
path: root/odb/lazy-ptr-impl.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'odb/lazy-ptr-impl.hxx')
-rw-r--r--odb/lazy-ptr-impl.hxx32
1 files changed, 32 insertions, 0 deletions
diff --git a/odb/lazy-ptr-impl.hxx b/odb/lazy-ptr-impl.hxx
index fd11ff8..257cef8 100644
--- a/odb/lazy-ptr-impl.hxx
+++ b/odb/lazy-ptr-impl.hxx
@@ -7,9 +7,12 @@
#include <odb/pre.hxx>
+#include <utility> // std::move
+
#include <odb/forward.hxx> // odb::database
#include <odb/traits.hxx>
+#include <odb/details/config.hxx> // ODB_CXX11
#include <odb/details/export.hxx>
namespace odb
@@ -38,6 +41,17 @@ namespace odb
lazy_ptr_base&
operator= (const lazy_ptr_impl_ref&);
+ // C++11 support.
+ //
+ public:
+#ifdef ODB_CXX11
+ lazy_ptr_base (lazy_ptr_base&&);
+
+ lazy_ptr_base&
+ operator= (lazy_ptr_base&&);
+#endif
+
+ public:
// Reset both the id and database.
//
void
@@ -119,6 +133,24 @@ namespace odb
lazy_ptr_impl&
operator= (const lazy_ptr_impl_ref&);
+ // C++11 support.
+ //
+ public:
+#ifdef ODB_CXX11
+ lazy_ptr_impl (lazy_ptr_impl&&);
+
+ template <typename Y>
+ lazy_ptr_impl (lazy_ptr_impl<Y>&&);
+
+ lazy_ptr_impl&
+ operator= (lazy_ptr_impl&&);
+
+ template <typename Y>
+ lazy_ptr_impl&
+ operator= (lazy_ptr_impl<Y>&&);
+#endif
+
+ public:
using lazy_ptr_base::reset;
using lazy_ptr_base::reset_id;