diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2010-08-16 11:45:23 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2010-08-16 11:45:23 +0200 |
commit | c56f32eb5e0b88ef8297a691f5286ba4aa4aa8b4 (patch) | |
tree | b6978e5a2e90839f1b0f3faead5448b926b1b010 /odb/traits.hxx | |
parent | b9376a8bd73d12c868dafa2d1f686058a77d35be (diff) |
Add pointer guard for naked pointer
Diffstat (limited to 'odb/traits.hxx')
-rw-r--r-- | odb/traits.hxx | 12 |
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; }; } |