aboutsummaryrefslogtreecommitdiff
path: root/odb/tr1
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2012-10-29 10:08:30 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2012-10-29 10:08:30 +0200
commita474f75b6bea51ecd5c3a870696dd575e25b0bc6 (patch)
tree8ac09f7f0c5d944fc7562c3fbb07ae9e0848066f /odb/tr1
parent1a0c6d83149149c36c228cb5515ea51feac24742 (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/tr1')
-rw-r--r--odb/tr1/lazy-ptr.hxx36
-rw-r--r--odb/tr1/lazy-ptr.ixx86
2 files changed, 61 insertions, 61 deletions
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 <class ID> lazy_shared_ptr (database_type&, const ID&);
- template <class Y> lazy_shared_ptr (database_type&, Y*);
- template <class Y, class D> lazy_shared_ptr (database_type&, Y*, D);
- template <class Y> lazy_shared_ptr (database_type&, std::auto_ptr<Y>&);
- template <class Y> lazy_shared_ptr (database_type&, const std::tr1::shared_ptr<Y>&);
- template <class Y> lazy_shared_ptr (database_type&, const std::tr1::weak_ptr<Y>&);
-
- template <class ID> void reset (database_type&, const ID&);
- template <class Y> void reset (database_type&, Y*);
- template <class Y, class D> void reset (database_type&, Y*, D);
- template <class Y> void reset (database_type&, std::auto_ptr<Y>&);
- template <class Y> void reset (database_type&, const std::tr1::shared_ptr<Y>&);
+ template <class DB, class ID> lazy_shared_ptr (DB&, const ID&);
+ template <class DB, class Y> lazy_shared_ptr (DB&, Y*);
+ template <class DB, class Y, class D> lazy_shared_ptr (DB&, Y*, D);
+ template <class DB, class Y> lazy_shared_ptr (DB&, std::auto_ptr<Y>&);
+ template <class DB, class Y> lazy_shared_ptr (DB&, const std::tr1::shared_ptr<Y>&);
+ template <class DB, class Y> lazy_shared_ptr (DB&, const std::tr1::weak_ptr<Y>&);
+
+ template <class DB, class ID> void reset (DB&, const ID&);
+ template <class DB, class Y> void reset (DB&, Y*);
+ template <class DB, class Y, class D> void reset (DB&, Y*, D);
+ template <class DB, class Y> void reset (DB&, std::auto_ptr<Y>&);
+ template <class DB, class Y> void reset (DB&, const std::tr1::shared_ptr<Y>&);
#ifdef ODB_CXX11_FUNCTION_TEMPLATE_DEFAULT_ARGUMENT
template <class O = T>
@@ -207,13 +207,13 @@ namespace odb
//
void unload () const;
- template <class ID> lazy_weak_ptr (database_type&, const ID&);
- template <class Y> lazy_weak_ptr (database_type&, const std::tr1::shared_ptr<Y>&);
- template <class Y> lazy_weak_ptr (database_type&, const std::tr1::weak_ptr<Y>&);
+ template <class DB, class ID> lazy_weak_ptr (DB&, const ID&);
+ template <class DB, class Y> lazy_weak_ptr (DB&, const std::tr1::shared_ptr<Y>&);
+ template <class DB, class Y> lazy_weak_ptr (DB&, const std::tr1::weak_ptr<Y>&);
- template <class ID> void reset (database_type&, const ID&);
- template <class Y> void reset (database_type&, const std::tr1::shared_ptr<Y>&);
- template <class Y> void reset (database_type&, const std::tr1::weak_ptr<Y>&);
+ template <class DB, class ID> void reset (DB&, const ID&);
+ template <class DB, class Y> void reset (DB&, const std::tr1::shared_ptr<Y>&);
+ template <class DB, class Y> void reset (DB&, const std::tr1::weak_ptr<Y>&);
// 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 <class T>
- template <class ID>
+ template <class DB, class ID>
inline lazy_shared_ptr<T>::
- lazy_shared_ptr (database_type& db, const ID& id): i_ (db, id) {}
+ lazy_shared_ptr (DB& db, const ID& id): i_ (db, id) {}
template <class T>
- template <class Y>
+ template <class DB, class Y>
inline lazy_shared_ptr<T>::
- 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 <class T>
- template <class Y, class D>
+ template <class DB, class Y, class D>
inline lazy_shared_ptr<T>::
- 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 <class T>
- template <class Y>
+ template <class DB, class Y>
inline lazy_shared_ptr<T>::
- lazy_shared_ptr (database_type& db, std::auto_ptr<Y>& r)
+ lazy_shared_ptr (DB& db, std::auto_ptr<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 lazy_shared_ptr<T>::
- lazy_shared_ptr (database_type& db, const std::tr1::shared_ptr<Y>& r)
+ lazy_shared_ptr (DB& db, const std::tr1::shared_ptr<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 lazy_shared_ptr<T>::
- lazy_shared_ptr (database_type& db, const std::tr1::weak_ptr<Y>& r)
+ lazy_shared_ptr (DB& db, const std::tr1::weak_ptr<Y>& r)
: p_ (r)
{
if (p_)
- i_.reset (db);
+ i_.reset_db (db);
}
template <class T>
- template <class ID>
+ template <class DB, class ID>
inline void lazy_shared_ptr<T>::
- reset (database_type& db, const ID& id)
+ reset (DB& db, const ID& id)
{
p_.reset ();
i_.reset (db, id);
}
template <class T>
- template <class Y>
+ template <class DB, class Y>
inline void lazy_shared_ptr<T>::
- 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 <class T>
- template <class Y, class D>
+ template <class DB, class Y, class D>
inline void lazy_shared_ptr<T>::
- 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 <class T>
- template <class Y>
+ template <class DB, class Y>
inline void lazy_shared_ptr<T>::
- reset (database_type& db, std::auto_ptr<Y>& r)
+ reset (DB& db, std::auto_ptr<Y>& r)
{
p_ = r;
if (p_)
- i_.reset (db);
+ i_.reset_db (db);
else
i_.reset ();
}
template <class T>
- template <class Y>
+ template <class DB, class Y>
inline void lazy_shared_ptr<T>::
- reset (database_type& db, const std::tr1::shared_ptr<Y>& r)
+ reset (DB& db, const std::tr1::shared_ptr<Y>& r)
{
p_ = r;
if (p_)
- i_.reset (db);
+ i_.reset_db (db);
else
i_.reset ();
}
@@ -517,14 +517,14 @@ namespace odb
}
template <class T>
- template <class ID>
+ template <class DB, class ID>
inline lazy_weak_ptr<T>::
- lazy_weak_ptr (database_type& db, const ID& id): i_ (db, id) {}
+ lazy_weak_ptr (DB& db, const ID& id): i_ (db, id) {}
template <class T>
- template <class Y>
+ template <class DB, class Y>
inline lazy_weak_ptr<T>::
- lazy_weak_ptr (database_type& db, const std::tr1::shared_ptr<Y>& r)
+ lazy_weak_ptr (DB& db, const std::tr1::shared_ptr<Y>& r)
: p_ (r)
{
typedef typename object_traits<T>::object_type object_type;
@@ -534,9 +534,9 @@ namespace odb
}
template <class T>
- template <class Y>
+ template <class DB, class Y>
inline lazy_weak_ptr<T>::
- lazy_weak_ptr (database_type& db, const std::tr1::weak_ptr<Y>& r)
+ lazy_weak_ptr (DB& db, const std::tr1::weak_ptr<Y>& r)
: p_ (r)
{
typedef typename object_traits<T>::object_type object_type;
@@ -548,18 +548,18 @@ namespace odb
}
template <class T>
- template <class ID>
+ template <class DB, class ID>
inline void lazy_weak_ptr<T>::
- reset (database_type& db, const ID& id)
+ reset (DB& db, const ID& id)
{
p_.reset ();
i_.reset (db, id);
}
template <class T>
- template <class Y>
+ template <class DB, class Y>
inline void lazy_weak_ptr<T>::
- reset (database_type& db, const std::tr1::shared_ptr<Y>& r)
+ reset (DB& db, const std::tr1::shared_ptr<Y>& r)
{
typedef typename object_traits<T>::object_type object_type;
@@ -572,9 +572,9 @@ namespace odb
}
template <class T>
- template <class Y>
+ template <class DB, class Y>
inline void lazy_weak_ptr<T>::
- reset (database_type& db, const std::tr1::weak_ptr<Y>& r)
+ reset (DB& db, const std::tr1::weak_ptr<Y>& r)
{
typedef typename object_traits<T>::object_type object_type;