aboutsummaryrefslogtreecommitdiff
path: root/odb/oracle/auto-handle.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'odb/oracle/auto-handle.hxx')
-rw-r--r--odb/oracle/auto-handle.hxx20
1 files changed, 20 insertions, 0 deletions
diff --git a/odb/oracle/auto-handle.hxx b/odb/oracle/auto-handle.hxx
index cdbda4f..f764fe2 100644
--- a/odb/oracle/auto-handle.hxx
+++ b/odb/oracle/auto-handle.hxx
@@ -7,6 +7,8 @@
#include <odb/pre.hxx>
+#include <odb/details/config.hxx> // ODB_CXX11
+
#include <odb/oracle/version.hxx>
#include <odb/oracle/oracle-fwd.hxx>
@@ -125,6 +127,16 @@ namespace odb
h_ = h;
}
+#ifdef ODB_CXX11
+ auto_handle (auto_handle&& ah): h_ (ah.release ()) {}
+ auto_handle& operator= (auto_handle&& ah)
+ {
+ if (this != &ah)
+ reset (ah.release ());
+ return *this;
+ }
+#endif
+
private:
auto_handle (const auto_handle&);
auto_handle& operator= (const auto_handle&);
@@ -198,6 +210,10 @@ namespace odb
}
private:
+ auto_handle (const auto_handle&);
+ auto_handle& operator= (const auto_handle&);
+
+ private:
OCISvcCtx* h_;
OCIError* e_;
};
@@ -259,6 +275,10 @@ namespace odb
}
private:
+ auto_handle (const auto_handle&);
+ auto_handle& operator= (const auto_handle&);
+
+ private:
OCIStmt* h_;
ub4 release_mode_;
OCIError* e_;