aboutsummaryrefslogtreecommitdiff
path: root/odb/tr1-pointer-traits.hxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2010-11-22 12:01:11 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2010-11-22 12:01:11 +0200
commitcd09ab74e179fd4c42ad226fd5cc609485a8df01 (patch)
tree789858ff4ec3f2905fe71dc8f456f047c011ce82 /odb/tr1-pointer-traits.hxx
parentb7bd0edb37e2941fbeeb26bd57c75eca82b765fb (diff)
Add pointer kind and const_pointer to pointer traits
Diffstat (limited to 'odb/tr1-pointer-traits.hxx')
-rw-r--r--odb/tr1-pointer-traits.hxx7
1 files changed, 7 insertions, 0 deletions
diff --git a/odb/tr1-pointer-traits.hxx b/odb/tr1-pointer-traits.hxx
index edb5ce8..121a564 100644
--- a/odb/tr1-pointer-traits.hxx
+++ b/odb/tr1-pointer-traits.hxx
@@ -21,8 +21,11 @@ namespace odb
class pointer_traits< std::tr1::shared_ptr<T> >
{
public:
+ static pointer_kind const kind = pk_shared;
+
typedef T element_type;
typedef std::tr1::shared_ptr<element_type> pointer_type;
+ typedef std::tr1::shared_ptr<const element_type> const_pointer_type;
typedef smart_ptr_guard<pointer_type> guard_type;
static element_type*
@@ -63,9 +66,13 @@ namespace odb
class pointer_traits< std::tr1::weak_ptr<T> >
{
public:
+ static pointer_kind const kind = pk_weak;
+
typedef T element_type;
typedef std::tr1::weak_ptr<element_type> pointer_type;
+ typedef std::tr1::weak_ptr<const element_type> const_pointer_type;
typedef std::tr1::shared_ptr<element_type> strong_pointer_type;
+ typedef std::tr1::shared_ptr<const element_type> strong_const_pointer_type;
};
}