diff options
Diffstat (limited to 'odb/cache-traits.hxx')
-rw-r--r-- | odb/cache-traits.hxx | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/odb/cache-traits.hxx b/odb/cache-traits.hxx index 13363da..5732cfc 100644 --- a/odb/cache-traits.hxx +++ b/odb/cache-traits.hxx @@ -77,6 +77,13 @@ namespace odb return position_type (); } + static void + initialize (const position_type& p) + { + if (!p.empty_) + session_type::template initialize<object_type> (p.pos_); + } + static position_type insert (odb::database& db, const pointer_type& p) { @@ -107,7 +114,7 @@ namespace odb erase (const position_type& p) { if (!p.empty_) - session_type::current ().template erase<object_type> (p.pos_); + session_type::template erase<object_type> (p.pos_); } }; @@ -154,6 +161,12 @@ namespace odb pointer_type p (&obj); return pointer_traits::insert (db, p); } + + static void + initialize (const position_type& p) + { + pointer_traits::initialize (p); + } }; template <typename T, typename S> |