From a474f75b6bea51ecd5c3a870696dd575e25b0bc6 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 29 Oct 2012 10:08:30 +0200 Subject: 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. --- odb/tr1/lazy-ptr.hxx | 36 +++++++++++----------- odb/tr1/lazy-ptr.ixx | 86 ++++++++++++++++++++++++++-------------------------- 2 files changed, 61 insertions(+), 61 deletions(-) (limited to 'odb/tr1') diff --git a/odb/tr1/lazy-ptr.hxx b/odb/tr1/lazy-ptr.hxx index 01a7b36..85b43bf 100644 --- a/odb/tr1/lazy-ptr.hxx +++ b/odb/tr1/lazy-ptr.hxx @@ -98,18 +98,18 @@ namespace odb // void unload () const; - template lazy_shared_ptr (database_type&, const ID&); - template lazy_shared_ptr (database_type&, Y*); - template lazy_shared_ptr (database_type&, Y*, D); - template lazy_shared_ptr (database_type&, std::auto_ptr&); - template lazy_shared_ptr (database_type&, const std::tr1::shared_ptr&); - template lazy_shared_ptr (database_type&, const std::tr1::weak_ptr&); - - template void reset (database_type&, const ID&); - template void reset (database_type&, Y*); - template void reset (database_type&, Y*, D); - template void reset (database_type&, std::auto_ptr&); - template void reset (database_type&, const std::tr1::shared_ptr&); + template lazy_shared_ptr (DB&, const ID&); + template lazy_shared_ptr (DB&, Y*); + template lazy_shared_ptr (DB&, Y*, D); + template lazy_shared_ptr (DB&, std::auto_ptr&); + template lazy_shared_ptr (DB&, const std::tr1::shared_ptr&); + template lazy_shared_ptr (DB&, const std::tr1::weak_ptr&); + + template void reset (DB&, const ID&); + template void reset (DB&, Y*); + template void reset (DB&, Y*, D); + template void reset (DB&, std::auto_ptr&); + template void reset (DB&, const std::tr1::shared_ptr&); #ifdef ODB_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGUMENT template @@ -207,13 +207,13 @@ namespace odb // void unload () const; - template lazy_weak_ptr (database_type&, const ID&); - template lazy_weak_ptr (database_type&, const std::tr1::shared_ptr&); - template lazy_weak_ptr (database_type&, const std::tr1::weak_ptr&); + template lazy_weak_ptr (DB&, const ID&); + template lazy_weak_ptr (DB&, const std::tr1::shared_ptr&); + template lazy_weak_ptr (DB&, const std::tr1::weak_ptr&); - template void reset (database_type&, const ID&); - template void reset (database_type&, const std::tr1::shared_ptr&); - template void reset (database_type&, const std::tr1::weak_ptr&); + template void reset (DB&, const ID&); + template void reset (DB&, const std::tr1::shared_ptr&); + template void reset (DB&, const std::tr1::weak_ptr&); // The object_id() function can only be called when the object is // persistent, or: expired() XOR loaded() (can use != for XOR). diff --git a/odb/tr1/lazy-ptr.ixx b/odb/tr1/lazy-ptr.ixx index a29eaad..ad2d659 100644 --- a/odb/tr1/lazy-ptr.ixx +++ b/odb/tr1/lazy-ptr.ixx @@ -207,117 +207,117 @@ namespace odb } template - template + template inline lazy_shared_ptr:: - lazy_shared_ptr (database_type& db, const ID& id): i_ (db, id) {} + lazy_shared_ptr (DB& db, const ID& id): i_ (db, id) {} template - template + template inline lazy_shared_ptr:: - lazy_shared_ptr (database_type& db, Y* p) + lazy_shared_ptr (DB& db, Y* p) : p_ (p) { if (p_) - i_.reset (db); + i_.reset_db (db); } template - template + template inline lazy_shared_ptr:: - lazy_shared_ptr (database_type& db, Y* p, D d) + lazy_shared_ptr (DB& db, Y* p, D d) : p_ (p, d) { if (p_) - i_.reset (db); + i_.reset_db (db); } template - template + template inline lazy_shared_ptr:: - lazy_shared_ptr (database_type& db, std::auto_ptr& r) + lazy_shared_ptr (DB& db, std::auto_ptr& r) : p_ (r) { if (p_) - i_.reset (db); + i_.reset_db (db); } template - template + template inline lazy_shared_ptr:: - lazy_shared_ptr (database_type& db, const std::tr1::shared_ptr& r) + lazy_shared_ptr (DB& db, const std::tr1::shared_ptr& r) : p_ (r) { if (p_) - i_.reset (db); + i_.reset_db (db); } template - template + template inline lazy_shared_ptr:: - lazy_shared_ptr (database_type& db, const std::tr1::weak_ptr& r) + lazy_shared_ptr (DB& db, const std::tr1::weak_ptr& r) : p_ (r) { if (p_) - i_.reset (db); + i_.reset_db (db); } template - template + template inline void lazy_shared_ptr:: - reset (database_type& db, const ID& id) + reset (DB& db, const ID& id) { p_.reset (); i_.reset (db, id); } template - template + template inline void lazy_shared_ptr:: - reset (database_type& db, Y* p) + reset (DB& db, Y* p) { p_.reset (p); if (p_) - i_.reset (db); + i_.reset_db (db); else i_.reset (); } template - template + template inline void lazy_shared_ptr:: - reset (database_type& db, Y* p, D d) + reset (DB& db, Y* p, D d) { p_.reset (p, d); if (p_) - i_.reset (db); + i_.reset_db (db); else i_.reset (); } template - template + template inline void lazy_shared_ptr:: - reset (database_type& db, std::auto_ptr& r) + reset (DB& db, std::auto_ptr& r) { p_ = r; if (p_) - i_.reset (db); + i_.reset_db (db); else i_.reset (); } template - template + template inline void lazy_shared_ptr:: - reset (database_type& db, const std::tr1::shared_ptr& r) + reset (DB& db, const std::tr1::shared_ptr& r) { p_ = r; if (p_) - i_.reset (db); + i_.reset_db (db); else i_.reset (); } @@ -517,14 +517,14 @@ namespace odb } template - template + template inline lazy_weak_ptr:: - lazy_weak_ptr (database_type& db, const ID& id): i_ (db, id) {} + lazy_weak_ptr (DB& db, const ID& id): i_ (db, id) {} template - template + template inline lazy_weak_ptr:: - lazy_weak_ptr (database_type& db, const std::tr1::shared_ptr& r) + lazy_weak_ptr (DB& db, const std::tr1::shared_ptr& r) : p_ (r) { typedef typename object_traits::object_type object_type; @@ -534,9 +534,9 @@ namespace odb } template - template + template inline lazy_weak_ptr:: - lazy_weak_ptr (database_type& db, const std::tr1::weak_ptr& r) + lazy_weak_ptr (DB& db, const std::tr1::weak_ptr& r) : p_ (r) { typedef typename object_traits::object_type object_type; @@ -548,18 +548,18 @@ namespace odb } template - template + template inline void lazy_weak_ptr:: - reset (database_type& db, const ID& id) + reset (DB& db, const ID& id) { p_.reset (); i_.reset (db, id); } template - template + template inline void lazy_weak_ptr:: - reset (database_type& db, const std::tr1::shared_ptr& r) + reset (DB& db, const std::tr1::shared_ptr& r) { typedef typename object_traits::object_type object_type; @@ -572,9 +572,9 @@ namespace odb } template - template + template inline void lazy_weak_ptr:: - reset (database_type& db, const std::tr1::weak_ptr& r) + reset (DB& db, const std::tr1::weak_ptr& r) { typedef typename object_traits::object_type object_type; -- cgit v1.1