diff options
Diffstat (limited to 'cli/context.hxx')
-rw-r--r-- | cli/context.hxx | 14 |
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 |