aboutsummaryrefslogtreecommitdiff
path: root/odb/traits.hxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2010-08-16 11:45:23 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2010-08-16 11:45:23 +0200
commitc56f32eb5e0b88ef8297a691f5286ba4aa4aa8b4 (patch)
treeb6978e5a2e90839f1b0f3faead5448b926b1b010 /odb/traits.hxx
parentb9376a8bd73d12c868dafa2d1f686058a77d35be (diff)
Add pointer guard for naked pointer
Diffstat (limited to 'odb/traits.hxx')
-rw-r--r--odb/traits.hxx12
1 files changed, 6 insertions, 6 deletions
diff --git a/odb/traits.hxx b/odb/traits.hxx
index d38ee41..e5c9eed 100644
--- a/odb/traits.hxx
+++ b/odb/traits.hxx
@@ -67,16 +67,16 @@ namespace odb
create ()
{
void* v (pointer_traits<P>::allocate (sizeof (object_type)));
- guard g (v);
+ mem_guard g (v);
P p (new (v) object_type);
g.release ();
return p;
}
private:
- struct guard
+ struct mem_guard
{
- guard (void* p): p_ (p) {}
- ~guard () {if (p_) pointer_traits<P>::free (p_);}
+ mem_guard (void* p): p_ (p) {}
+ ~mem_guard () {if (p_) pointer_traits<P>::free (p_);}
void release () {p_ = 0;}
void* p_;
};
@@ -86,8 +86,8 @@ namespace odb
struct object_traits: access::object_traits<T>
{
typedef
- pointer_traits<typename access::object_traits<T>::pointer_type>
- pointer_ops;
+ odb::pointer_traits<typename access::object_traits<T>::pointer_type>
+ pointer_traits;
};
}