From 19a3dfd0bcb583e246f83a9c01f9218a8b41fd3c Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Thu, 16 Aug 2012 12:23:25 +0200 Subject: Add support for automatically discovering accessor/modifier functions New options: --{accessor,modifier}-regex, --{accessor,modifier}-regex-trace. --- common/access/driver.cxx | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) (limited to 'common/access/driver.cxx') diff --git a/common/access/driver.cxx b/common/access/driver.cxx index 3e3c96d..79c63bf 100644 --- a/common/access/driver.cxx +++ b/common/access/driver.cxx @@ -37,9 +37,10 @@ main (int argc, char* argv[]) o.i2 (223); o.i3 () = 323; o.i4 () = 423; - o.set_i5 (423); + o.set_i5 (523); o.s1 ("1bc"); memcpy (o.b1 (), "123456789012345", 16); + o.b2 ("123456789012345"); { transaction t (db->begin ()); @@ -219,6 +220,37 @@ main (int argc, char* argv[]) assert (o3.version_ == 2); } } + + // Test basic accessor/modifier functionality. + // + { + using namespace test7; + + object o (1); + o.i1 () = 123; + o.set_i2 (223); + o.setI3 (323); + o.seti4 (423); + o.i5 () = 523; + o.i6 () = 623; + o.SetI7 (723); + memcpy (o.b1 (), "123456789012345", 16); + o.b2 ("123456789012345"); + + { + transaction t (db->begin ()); + db->persist (o); + t.commit (); + } + + { + transaction t (db->begin ()); + auto_ptr p (db->load (o.id_)); + t.commit (); + + assert (o == *p); + } + } } catch (const odb::exception& e) { -- cgit v1.1