summaryrefslogtreecommitdiff
path: root/cli/context.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'cli/context.hxx')
-rw-r--r--cli/context.hxx14
1 files changed, 14 insertions, 0 deletions
diff --git a/cli/context.hxx b/cli/context.hxx
index 2b0c128..8f9b659 100644
--- a/cli/context.hxx
+++ b/cli/context.hxx
@@ -113,6 +113,20 @@ private:
operator= (context const&);
};
+// Checks if scope Y names any of X.
+//
+template <typename X, typename Y>
+bool
+has (Y& y)
+{
+ for (semantics::scope::names_iterator i (y.names_begin ()),
+ e (y.names_end ()); i != e; ++i)
+ if (i->named ().is_a<X> ())
+ return true;
+
+ return false;
+}
+
// Standard namespace traverser.
//
struct namespace_: traversal::namespace_, context