From 0eb2f9a50cd70599757bde6056d8981d7f892c0d Mon Sep 17 00:00:00 2001 From: Boris Kolpackov Date: Tue, 5 Jul 2011 14:56:58 +0200 Subject: Support for callbacks in PG runtime --- odb/pgsql/object-statements.hxx | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'odb/pgsql/object-statements.hxx') diff --git a/odb/pgsql/object-statements.hxx b/odb/pgsql/object-statements.hxx index ff86bcf..32ea24b 100644 --- a/odb/pgsql/object-statements.hxx +++ b/odb/pgsql/object-statements.hxx @@ -395,6 +395,28 @@ namespace odb typedef std::vector delayed_loads; delayed_loads delayed_; + + // Delayed vectors swap guard. See the load_delayed_() function for + // details. + // + struct swap_guard + { + swap_guard (object_statements& os, delayed_loads& dl) + : os_ (os), dl_ (dl) + { + dl_.swap (os_.delayed_); + } + + ~swap_guard () + { + os_.clear_delayed (); + dl_.swap (os_.delayed_); + } + + private: + object_statements& os_; + delayed_loads& dl_; + }; }; } } -- cgit v1.1