aboutsummaryrefslogtreecommitdiff
path: root/odb/database.ixx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2011-11-02 13:53:20 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2011-11-02 13:53:20 +0200
commit46ed6c184190729abff308e4c0d9257bf7c89a45 (patch)
treeb8f025f50fa8c445be6292337f45c90389dbf63b /odb/database.ixx
parent4ff8f46ff2484c0882a1b0873b08e65e2349c849 (diff)
Add database::reload() overloads for pointers
Diffstat (limited to 'odb/database.ixx')
-rw-r--r--odb/database.ixx30
1 files changed, 30 insertions, 0 deletions
diff --git a/odb/database.ixx b/odb/database.ixx
index 7bc6520..11b59ca 100644
--- a/odb/database.ixx
+++ b/odb/database.ixx
@@ -65,6 +65,36 @@ namespace odb
template <typename T>
inline void database::
+ reload (T* p)
+ {
+ reload<T> (*p);
+ }
+
+ template <typename T, template <typename> class P>
+ inline void database::
+ reload (const P<T>& p)
+ {
+ reload (odb::pointer_traits< P<T> >::get_ref (p));
+ }
+
+ template <typename T, template <typename> class P>
+ inline void database::
+ reload (P<T>& p)
+ {
+ reload (odb::pointer_traits< P<T> >::get_ref (p));
+ }
+
+ template <typename T>
+ inline void database::
+ reload (const typename object_traits<T>::pointer_type& pobj)
+ {
+ typedef typename object_traits<T>::pointer_type pointer_type;
+
+ reload (odb::pointer_traits<pointer_type>::get_ref (pobj));
+ }
+
+ template <typename T>
+ inline void database::
update (T* p)
{
typedef typename object_traits<T>::pointer_type object_pointer;