From 07f45a58de090fefb706d7acf83712fbab500cce Mon Sep 17 00:00:00 2001 From: Ichthyostega Date: Fri, 11 Sep 2015 20:12:26 +0200 Subject: [PATCH] implement containment check based on iteration --- src/lib/diff/gen-node.hpp | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/src/lib/diff/gen-node.hpp b/src/lib/diff/gen-node.hpp index 8d8091e48..546d7ca88 100644 --- a/src/lib/diff/gen-node.hpp +++ b/src/lib/diff/gen-node.hpp @@ -269,11 +269,7 @@ namespace diff{ return !util::startsWith (idi.getSym(), "_CHILD_"); } - bool - contains (GenNode const& elm) const - { - return contains (elm.idi); - } + bool contains (GenNode const& elm) const; bool contains (ID const&) const @@ -491,6 +487,14 @@ namespace diff{ inline GenNode::iterator GenNode::end() { return iterator(); } inline GenNode::iterator GenNode::end() const { return iterator(); } + inline bool + GenNode::contains (GenNode const& elm) const + { + for (auto & n : *this) + if (n.matches(elm)) + return true; + return false; + }