summaryrefslogtreecommitdiff
path: root/odb/pgsql/auto-handle.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'odb/pgsql/auto-handle.hxx')
-rw-r--r--odb/pgsql/auto-handle.hxx90
1 files changed, 0 insertions, 90 deletions
diff --git a/odb/pgsql/auto-handle.hxx b/odb/pgsql/auto-handle.hxx
deleted file mode 100644
index 49b396d..0000000
--- a/odb/pgsql/auto-handle.hxx
+++ /dev/null
@@ -1,90 +0,0 @@
-// file : odb/pgsql/auto-handle.hxx
-// license : GNU GPL v2; see accompanying LICENSE file
-
-#ifndef ODB_PGSQL_AUTO_HANDLE_HXX
-#define ODB_PGSQL_AUTO_HANDLE_HXX
-
-#include <odb/pre.hxx>
-
-#include <odb/pgsql/version.hxx>
-#include <odb/pgsql/pgsql-fwd.hxx> // PGconn, PGresult
-
-#include <odb/pgsql/details/export.hxx>
-
-namespace odb
-{
- namespace pgsql
- {
- template <typename H>
- struct handle_traits;
-
- template <>
- struct LIBODB_PGSQL_EXPORT handle_traits<PGconn>
- {
- static void
- release (PGconn*);
- };
-
- template <>
- struct LIBODB_PGSQL_EXPORT handle_traits<PGresult>
- {
- static void
- release (PGresult*);
- };
-
- template <typename H>
- class auto_handle
- {
- public:
- auto_handle (H* h = 0)
- : h_ (h)
- {
- }
-
- ~auto_handle ()
- {
- if (h_ != 0)
- handle_traits<H>::release (h_);
- }
-
- H*
- get () const
- {
- return h_;
- }
-
- void
- reset (H* h = 0)
- {
- if (h_ != 0)
- handle_traits<H>::release (h_);
-
- h_ = h;
- }
-
- H*
- release ()
- {
- H* h (h_);
- h_ = 0;
- return h;
- }
-
- operator H* () const
- {
- return h_;
- }
-
- private:
- auto_handle (const auto_handle&);
- auto_handle& operator= (const auto_handle&);
-
- private:
- H* h_;
- };
- }
-}
-
-#include <odb/post.hxx>
-
-#endif // ODB_PGSQL_AUTO_HANDLE_HXX