summaryrefslogtreecommitdiff
path: root/odb/semantics/relational/elements.cxx
diff options
context:
space:
mode:
authorBoris Kolpackov <boris@codesynthesis.com>2013-03-20 13:09:45 +0200
committerBoris Kolpackov <boris@codesynthesis.com>2013-04-10 18:46:44 +0200
commitc67c06030fb1ac622c96211bffc054a85efe0aa8 (patch)
tree07a85e0c3b0f3a22b58405ff5582870f2b09f424 /odb/semantics/relational/elements.cxx
parent3b457daf6b252ef31ec0611e7375aa4badd8e63d (diff)
Add support for maintaining log of database model changes
Diffstat (limited to 'odb/semantics/relational/elements.cxx')
-rw-r--r--odb/semantics/relational/elements.cxx18
1 files changed, 18 insertions, 0 deletions
diff --git a/odb/semantics/relational/elements.cxx b/odb/semantics/relational/elements.cxx
index 43c03c0..e14bc00 100644
--- a/odb/semantics/relational/elements.cxx
+++ b/odb/semantics/relational/elements.cxx
@@ -70,6 +70,24 @@ namespace semantics
throw duplicate_name (*this, (*i->second)->nameable (), n);
}
+ template <>
+ void scope<uname>::
+ remove_edge_left (names_type& e)
+ {
+ typename names_iterator_map::iterator i (iterator_map_.find (&e));
+ assert (i != iterator_map_.end ());
+
+ // If we are removing the first key, then move to the next key (or
+ // the end which means there are no keys).
+ //
+ if (first_key_ == i->second)
+ first_key_++;
+
+ names_.erase (i->second);
+ names_map_.erase (e.name ());
+ iterator_map_.erase (i);
+ }
+
// type info
//
namespace