From 2d3d20ee4e3ce52d6a2b235e86aa3fa63fe61611 Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Mon, 20 Sep 2010 16:05:01 +0200 Subject: Add persist(const) version, make update()'s argument const --- odb/database.txx | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'odb/database.txx') diff --git a/odb/database.txx b/odb/database.txx index f5449b6..a94f471 100644 --- a/odb/database.txx +++ b/odb/database.txx @@ -10,6 +10,19 @@ namespace odb { template typename object_traits::id_type database:: + persist (const T& obj) + { + typedef object_traits traits; + + if (!transaction::has_current ()) + throw not_in_transaction (); + + traits::persist (*this, obj); + return traits::id (obj); + } + + template + typename object_traits::id_type database:: persist (T& obj) { typedef object_traits traits; @@ -64,7 +77,7 @@ namespace odb template void database:: - update (T& obj) + update (const T& obj) { if (!transaction::has_current ()) throw not_in_transaction (); -- cgit v1.1