From 43b3c92c5dae2d851f45fbe04f1c9ac6d9a933f4 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Tue, 28 Feb 2012 16:11:51 +0200 Subject: Add support for object pointers with two template parameters Such as C++11 std::unique_ptr. --- odb/database.hxx | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'odb/database.hxx') 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::id_type persist (const P& obj_ptr); + template class P> + typename object_traits::id_type + persist (const P& obj_ptr); + template class P> typename object_traits::id_type persist (P& obj_ptr); + template class P> + typename object_traits::id_type + persist (P& obj_ptr); + template typename object_traits::id_type persist (const typename object_traits::pointer_type& obj_ptr); @@ -77,10 +85,18 @@ namespace odb void reload (const P& obj_ptr); + template class P> + void + reload (const P& obj_ptr); + template class P> void reload (P& obj_ptr); + template class P> + void + reload (P& obj_ptr); + template void reload (const typename object_traits::pointer_type& obj_ptr); @@ -109,10 +125,18 @@ namespace odb void update (const P& obj_ptr); + template class P> + void + update (const P& obj_ptr); + template class P> void update (P& obj_ptr); + template class P> + void + update (P& obj_ptr); + template void update (const typename object_traits::pointer_type& obj_ptr); @@ -136,10 +160,18 @@ namespace odb void erase (const P& obj_ptr); + template class P> + void + erase (const P& obj_ptr); + template class P> void erase (P& obj_ptr); + template class P> + void + erase (P& obj_ptr); + template void erase (const typename object_traits::pointer_type& obj_ptr); -- cgit v1.1