diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2015-08-14 11:27:36 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2015-08-14 11:27:36 +0200 |
commit | 5398b886ed0da065fe084da0f107bebba0a163ba (patch) | |
tree | 85deb4b66b4c114e55b6654e8ba8ee1d2bbf1262 /odb/qt/smart-ptr/lazy-ptr.hxx | |
parent | da7829e9e5297c47d6e9c5efee599e6e207cd43b (diff) |
Reimplement lazy_weak_ptr lock() to preserve database type
Now we initialize the returned lazy_shared_ptr with the same loader
function as the one set for weak_ptr.
Diffstat (limited to 'odb/qt/smart-ptr/lazy-ptr.hxx')
-rw-r--r-- | odb/qt/smart-ptr/lazy-ptr.hxx | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/odb/qt/smart-ptr/lazy-ptr.hxx b/odb/qt/smart-ptr/lazy-ptr.hxx index e964837..664eb7f 100644 --- a/odb/qt/smart-ptr/lazy-ptr.hxx +++ b/odb/qt/smart-ptr/lazy-ptr.hxx @@ -196,6 +196,13 @@ private: template <class X> friend class QLazySharedPointer; template <class X> friend class QLazyWeakPointer; + // For QLazyWeakPointer::toStrongRef(). + // + QLazySharedPointer (const QSharedPointer<T>& p, + const odb::lazy_ptr_impl<T>& i) + : p_ (p), i_ (i) {} + +private: mutable QSharedPointer<T> p_; mutable odb::lazy_ptr_impl<T> i_; }; |