diff options
author | Boris Kolpackov <boris@codesynthesis.com> | 2013-03-20 13:09:45 +0200 |
---|---|---|
committer | Boris Kolpackov <boris@codesynthesis.com> | 2013-04-10 18:46:44 +0200 |
commit | c67c06030fb1ac622c96211bffc054a85efe0aa8 (patch) | |
tree | 07a85e0c3b0f3a22b58405ff5582870f2b09f424 /odb/semantics/relational/elements.cxx | |
parent | 3b457daf6b252ef31ec0611e7375aa4badd8e63d (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.cxx | 18 |
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 |