aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--odb/session.hxx11
1 files changed, 11 insertions, 0 deletions
diff --git a/odb/session.hxx b/odb/session.hxx
index 5556211..3ceeb8d 100644
--- a/odb/session.hxx
+++ b/odb/session.hxx
@@ -146,6 +146,17 @@ namespace odb
cache_position (): map_ (0) {}
cache_position (map& m, const iterator& p): map_ (&m), pos_ (p) {}
+ cache_position&
+ operator= (const cache_position& p)
+ {
+ // It might not be ok to use an uninitialized iterator on the rhs.
+ //
+ if (p.map_ != 0)
+ pos_ = p.pos_;
+ map_ = p.map_;
+ return *this;
+ }
+
map* map_;
iterator pos_;
};