Index: src/GenPoly/ScopedSet.h
===================================================================
--- src/GenPoly/ScopedSet.h	(revision 029e330b283c44e17d2562ee6adbcdc8ded8877b)
+++ src/GenPoly/ScopedSet.h	(revision b8b6c442ec38d0144e4660d68135353dbaee50df)
@@ -38,5 +38,5 @@
 		typedef typename Scope::pointer pointer;
 		typedef typename Scope::const_pointer const_pointer;
-		
+
 		class iterator : public std::iterator< std::bidirectional_iterator_tag,
 		                                       value_type > {
@@ -72,5 +72,5 @@
 				return *this;
 			}
-			
+
 			reference operator* () { return *it; }
 			pointer operator-> () { return it.operator->(); }
@@ -104,4 +104,6 @@
 			bool operator!= (const iterator &that) { return !( *this == that ); }
 
+			size_type get_level() const { return i; }
+
 		private:
 			scope_list const *scopes;
@@ -180,4 +182,6 @@
 			bool operator!= (const const_iterator &that) { return !( *this == that ); }
 
+			size_type get_level() const { return i; }
+
 		private:
 			scope_list const *scopes;
@@ -185,5 +189,5 @@
 			size_type i;
 		};
-		
+
 		/// Starts a new scope
 		void beginScope() {
@@ -222,5 +226,5 @@
 			return const_iterator( const_cast< ScopedSet< Value >* >(this)->find( key ) );
 		}
-		
+
 		/// Finds the given key in the outermost scope inside the given scope where it occurs
 		iterator findNext( const_iterator &it, const Value &key ) {
@@ -242,5 +246,5 @@
 			return std::make_pair( iterator(scopes, res.first, scopes.size()-1), res.second );
 		}
-		
+
 	};
 } // namespace GenPoly
