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/lazy-ptr.hxx | 84 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 42 insertions(+), 42 deletions(-) (limited to 'odb/lazy-ptr.hxx') diff --git a/odb/lazy-ptr.hxx b/odb/lazy-ptr.hxx index 12acbb6..8df47b9 100644 --- a/odb/lazy-ptr.hxx +++ b/odb/lazy-ptr.hxx @@ -72,11 +72,11 @@ namespace odb // void unload () const; - template lazy_ptr (database_type&, const ID&); - template lazy_ptr (database_type&, Y*); + template lazy_ptr (DB&, const ID&); + template lazy_ptr (DB&, Y*); - template void reset (database_type&, const ID&); - template void reset (database_type&, Y*); + template void reset (DB&, const ID&); + template void reset (DB&, Y*); #ifdef ODB_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGUMENT template @@ -185,13 +185,13 @@ namespace odb // void unload () const; - template lazy_auto_ptr (database_type&, const ID&); - lazy_auto_ptr (database_type&, T*); - template lazy_auto_ptr (database_type&, std::auto_ptr&); + template lazy_auto_ptr (DB&, const ID&); + template lazy_auto_ptr (DB&, T*); + template lazy_auto_ptr (DB&, std::auto_ptr&); - template void reset (database_type&, const ID&); - void reset (database_type&, T*); - template void reset (database_type&, std::auto_ptr&); + template void reset (DB&, const ID&); + template void reset (DB&, T*); + template void reset (DB&, std::auto_ptr&); #ifdef ODB_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGUMENT template @@ -305,17 +305,17 @@ namespace odb // void unload () const; - template lazy_unique_ptr (database_type&, const ID&); - lazy_unique_ptr (database_type&, pointer); - lazy_unique_ptr (database_type&, pointer, const deleter_type&); - lazy_unique_ptr (database_type&, pointer, deleter_type&&); - template lazy_unique_ptr (database_type&, std::unique_ptr&&); - template lazy_unique_ptr (database_type&, std::auto_ptr&&); + template lazy_unique_ptr (DB&, const ID&); + template lazy_unique_ptr (DB&, pointer); + template lazy_unique_ptr (DB&, pointer, const deleter_type&); + template lazy_unique_ptr (DB&, pointer, deleter_type&&); + template lazy_unique_ptr (DB&, std::unique_ptr&&); + template lazy_unique_ptr (DB&, std::auto_ptr&&); - template void reset (database_type&, const ID&); - void reset (database_type&, pointer); - template void reset (database_type&, std::unique_ptr&&); - template void reset (database_type&, std::auto_ptr&&); + template void reset (DB&, const ID&); + template void reset (DB&, pointer); + template void reset (DB&, std::unique_ptr&&); + template void reset (DB&, std::auto_ptr&&); #ifdef ODB_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGUMENT template @@ -464,22 +464,22 @@ 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&, Y*, D, A); - template lazy_shared_ptr (database_type&, std::auto_ptr&&); - template lazy_shared_ptr (database_type&, const std::shared_ptr&); - template lazy_shared_ptr (database_type&, std::shared_ptr&&); - template lazy_shared_ptr (database_type&, const std::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&, Y*, D, A); - template void reset (database_type&, std::auto_ptr&&); - template void reset (database_type&, const std::shared_ptr&); - template void reset (database_type&, std::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&, Y*, D, A); + template lazy_shared_ptr (DB&, std::auto_ptr&&); + template lazy_shared_ptr (DB&, const std::shared_ptr&); + template lazy_shared_ptr (DB&, std::shared_ptr&&); + template lazy_shared_ptr (DB&, const std::weak_ptr&); + + template void reset (DB&, const ID&); + template void reset (DB&, Y*); + template void reset (DB&, Y*, D); + template void reset (DB&, Y*, D, A); + template void reset (DB&, std::auto_ptr&&); + template void reset (DB&, const std::shared_ptr&); + template void reset (DB&, std::shared_ptr&&); #ifdef ODB_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGUMENT template @@ -593,13 +593,13 @@ namespace odb // void unload () const; - template lazy_weak_ptr (database_type&, const ID&); - template lazy_weak_ptr (database_type&, const std::shared_ptr&); - template lazy_weak_ptr (database_type&, const std::weak_ptr&); + template lazy_weak_ptr (DB&, const ID&); + template lazy_weak_ptr (DB&, const std::shared_ptr&); + template lazy_weak_ptr (DB&, const std::weak_ptr&); - template void reset (database_type&, const ID&); - template void reset (database_type&, const std::shared_ptr&); - template void reset (database_type&, const std::weak_ptr&); + template void reset (DB&, const ID&); + template void reset (DB&, const std::shared_ptr&); + template void reset (DB&, const std::weak_ptr&); // The object_id() function can only be called when the object is // persistent, or: expired() XOR loaded() (can use != for XOR). -- cgit v1.1