diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2012-10-29 10:08:30 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2012-10-29 10:08:30 +0200 |
commit | 2c861078b1a75ba00550fb33dc7733536c413331 (patch) | |
tree | 16307298a2d225680f9d7b386d13701039d3d1bb /odb/qt/smart-ptr/lazy-ptr.ixx | |
parent | 44846d8af462f0823836691b488483bb7d9d2db1 (diff) |
Add static multi-database support for lazy pointers
A lazy pointer must load the object using the static database interface
with which it was initialized.
Diffstat (limited to 'odb/qt/smart-ptr/lazy-ptr.ixx')
-rw-r--r-- | odb/qt/smart-ptr/lazy-ptr.ixx | 39 |
1 files changed, 20 insertions, 19 deletions
diff --git a/odb/qt/smart-ptr/lazy-ptr.ixx b/odb/qt/smart-ptr/lazy-ptr.ixx index 5fd3b2b..fd817ae 100644 --- a/odb/qt/smart-ptr/lazy-ptr.ixx +++ b/odb/qt/smart-ptr/lazy-ptr.ixx @@ -221,47 +221,48 @@ unload () const } template <class T> -template <class ID> +template <class DB, class ID> inline QLazySharedPointer<T>:: -QLazySharedPointer (database_type& db, const ID& id): i_ (db, id) {} +QLazySharedPointer (DB& db, const ID& id): i_ (db, id) {} template <class T> +template <class DB> inline QLazySharedPointer<T>:: -QLazySharedPointer (database_type& db, T* p) +QLazySharedPointer (DB& db, T* p) : p_ (p) { if (p_) - i_.reset (db); + i_.reset_db (db); } template <class T> -template <class Deleter> +template <class DB, class Deleter> inline QLazySharedPointer<T>:: -QLazySharedPointer (database_type& db, T* p, Deleter d) +QLazySharedPointer (DB& db, T* p, Deleter d) : p_ (p, d) { if (p_) - i_.reset (db); + i_.reset_db (db); } template <class T> -template <class Y> +template <class DB, class Y> inline QLazySharedPointer<T>:: -QLazySharedPointer (database_type& db, const QSharedPointer<Y>& r) +QLazySharedPointer (DB& db, const QSharedPointer<Y>& r) : p_ (r) { if (p_) - i_.reset (db); + i_.reset_db (db); } template <class T> -template <class Y> +template <class DB, class Y> inline QLazySharedPointer<T>:: -QLazySharedPointer (database_type& db, const QWeakPointer<Y>& r) +QLazySharedPointer (DB& db, const QWeakPointer<Y>& r) : p_ (r) { if (p_) - i_.reset (db); + i_.reset_db (db); } template <class T> @@ -478,14 +479,14 @@ unload () const } template <class T> -template <class ID> +template <class DB, class ID> inline QLazyWeakPointer<T>:: -QLazyWeakPointer (database_type& db, const ID& id): i_ (db, id) {} +QLazyWeakPointer (DB& db, const ID& id): i_ (db, id) {} template <class T> -template <class X> +template <class DB, class X> inline QLazyWeakPointer<T>:: -QLazyWeakPointer (database_type& db, const QSharedPointer<X>& r) +QLazyWeakPointer (DB& db, const QSharedPointer<X>& r) : p_ (r) { typedef typename odb::object_traits<T>::object_type object_type; @@ -495,9 +496,9 @@ QLazyWeakPointer (database_type& db, const QSharedPointer<X>& r) } template <class T> -template <class X> +template <class DB, class X> inline QLazyWeakPointer<T>:: -QLazyWeakPointer (database_type& db, const QWeakPointer<X>& r) +QLazyWeakPointer (DB& db, const QWeakPointer<X>& r) : p_ (r) { typedef typename odb::object_traits<T>::object_type object_type; |