diff options
Diffstat (limited to 'odb/database.hxx')
-rw-r--r-- | odb/database.hxx | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/odb/database.hxx b/odb/database.hxx index b7e7926..64f9d44 100644 --- a/odb/database.hxx +++ b/odb/database.hxx @@ -47,10 +47,18 @@ namespace odb typename object_traits<T>::id_type persist (const P<T>& obj_ptr); + template <typename T, typename A1, template <typename, typename> class P> + typename object_traits<T>::id_type + persist (const P<T, A1>& obj_ptr); + template <typename T, template <typename> class P> typename object_traits<T>::id_type persist (P<T>& obj_ptr); + template <typename T, typename A1, template <typename, typename> class P> + typename object_traits<T>::id_type + persist (P<T, A1>& obj_ptr); + template <typename T> typename object_traits<T>::id_type persist (const typename object_traits<T>::pointer_type& obj_ptr); @@ -77,10 +85,18 @@ namespace odb void reload (const P<T>& obj_ptr); + template <typename T, typename A1, template <typename, typename> class P> + void + reload (const P<T, A1>& obj_ptr); + template <typename T, template <typename> class P> void reload (P<T>& obj_ptr); + template <typename T, typename A1, template <typename, typename> class P> + void + reload (P<T, A1>& obj_ptr); + template <typename T> void reload (const typename object_traits<T>::pointer_type& obj_ptr); @@ -109,10 +125,18 @@ namespace odb void update (const P<T>& obj_ptr); + template <typename T, typename A1, template <typename, typename> class P> + void + update (const P<T, A1>& obj_ptr); + template <typename T, template <typename> class P> void update (P<T>& obj_ptr); + template <typename T, typename A1, template <typename, typename> class P> + void + update (P<T, A1>& obj_ptr); + template <typename T> void update (const typename object_traits<T>::pointer_type& obj_ptr); @@ -136,10 +160,18 @@ namespace odb void erase (const P<T>& obj_ptr); + template <typename T, typename A1, template <typename, typename> class P> + void + erase (const P<T, A1>& obj_ptr); + template <typename T, template <typename> class P> void erase (P<T>& obj_ptr); + template <typename T, typename A1, template <typename, typename> class P> + void + erase (P<T, A1>& obj_ptr); + template <typename T> void erase (const typename object_traits<T>::pointer_type& obj_ptr); |