aboutsummaryrefslogtreecommitdiff
path: root/odb
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2015-03-26 15:59:31 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2015-03-26 15:59:31 +0200
commitb119086e8c5835695cd851da8ad1393218aa29df (patch)
treecf21640ee76f05b3ef067fb182baea0a57acbad1 /odb
parentb2f552f3505c1d8247e1a0ca844fe372ef639f79 (diff)
Get pointer_type from correct traits (object, view)
Diffstat (limited to 'odb')
-rw-r--r--odb/no-id-object-result.hxx6
-rw-r--r--odb/polymorphic-object-result.hxx6
-rw-r--r--odb/result.hxx4
-rw-r--r--odb/result.txx4
-rw-r--r--odb/simple-object-result.hxx6
-rw-r--r--odb/view-result.hxx6
6 files changed, 20 insertions, 12 deletions
diff --git a/odb/no-id-object-result.hxx b/odb/no-id-object-result.hxx
index a663f41..b96dbcb 100644
--- a/odb/no-id-object-result.hxx
+++ b/odb/no-id-object-result.hxx
@@ -148,10 +148,12 @@ namespace odb
}
public:
- typename object_traits<T>::pointer_type
+ typedef typename object_traits<T>::pointer_type pointer_type;
+
+ pointer_type
load ()
{
- typename object_traits<T>::pointer_type r (res_->current ());
+ pointer_type r (res_->current ());
res_->release ();
return r;
}
diff --git a/odb/polymorphic-object-result.hxx b/odb/polymorphic-object-result.hxx
index 2adeaa3..82b7647 100644
--- a/odb/polymorphic-object-result.hxx
+++ b/odb/polymorphic-object-result.hxx
@@ -184,10 +184,12 @@ namespace odb
}
public:
- typename object_traits<T>::pointer_type
+ typedef typename object_traits<T>::pointer_type pointer_type;
+
+ pointer_type
load ()
{
- typename object_traits<T>::pointer_type r (res_->current ());
+ pointer_type r (res_->current ());
res_->release ();
return r;
}
diff --git a/odb/result.hxx b/odb/result.hxx
index c40f984..8b675f0 100644
--- a/odb/result.hxx
+++ b/odb/result.hxx
@@ -212,7 +212,9 @@ namespace odb
// query_one() and query_value() implementation details.
//
public:
- typename object_traits<T>::pointer_type
+ typedef typename iterator::pointer_type pointer_type;
+
+ pointer_type
one ();
bool
diff --git a/odb/result.txx b/odb/result.txx
index da6da3e..fce29d7 100644
--- a/odb/result.txx
+++ b/odb/result.txx
@@ -7,11 +7,9 @@
namespace odb
{
template <typename T>
- typename object_traits<T>::pointer_type result<T>::
+ typename result<T>::pointer_type result<T>::
one ()
{
- typedef typename object_traits<T>::pointer_type pointer_type;
-
iterator i (begin ());
if (i != end ())
diff --git a/odb/simple-object-result.hxx b/odb/simple-object-result.hxx
index 925896e..d944179 100644
--- a/odb/simple-object-result.hxx
+++ b/odb/simple-object-result.hxx
@@ -167,10 +167,12 @@ namespace odb
}
public:
- typename object_traits<T>::pointer_type
+ typedef typename object_traits<T>::pointer_type pointer_type;
+
+ pointer_type
load ()
{
- typename object_traits<T>::pointer_type r (res_->current ());
+ pointer_type r (res_->current ());
res_->release ();
return r;
}
diff --git a/odb/view-result.hxx b/odb/view-result.hxx
index 6dc43d0..db4e038 100644
--- a/odb/view-result.hxx
+++ b/odb/view-result.hxx
@@ -175,10 +175,12 @@ namespace odb
}
public:
- typename view_traits<T>::pointer_type
+ typedef typename view_traits<T>::pointer_type pointer_type;
+
+ pointer_type
load ()
{
- typename view_traits<T>::pointer_type r (res_->current ());
+ pointer_type r (res_->current ());
res_->release ();
return r;
}