Index: trunk/ab5.0/abdev/ab_common/include/Lexical/Namespace.h
===================================================================
--- trunk/ab5.0/abdev/ab_common/include/Lexical/Namespace.h	(revision 736)
+++ trunk/ab5.0/abdev/ab_common/include/Lexical/Namespace.h	(revision 737)
@@ -1,4 +1,4 @@
 #pragma once
-
+#include <algorithm>
 
 namespace ActiveBasic{ namespace Common{ namespace Lexical{
@@ -19,7 +19,16 @@
 	NamespaceScopes(){}
 	NamespaceScopes( const std::string &namespaceStr );
+	NamespaceScopes( NamespaceScopes::const_iterator first, NamespaceScopes::const_iterator last )
+		: std::vector<std::string>( first, last )
+	{
+	}
 	~NamespaceScopes(){}
 
 	NamespaceScopes operator+ ( const NamespaceScopes &namespaceScopes ) const;
+
+	void append( const NamespaceScopes &namespaceScopes )
+	{
+		insert( end(), namespaceScopes.begin(), namespaceScopes.end() );
+	}
 
 	std::string ToString() const
@@ -34,5 +43,5 @@
 			}
 			else{
-				namespaceStr += ".";
+				namespaceStr += '.';
 			}
 
@@ -64,13 +73,12 @@
 			return false;
 		}
-
-		for( int i=0; i<(int)baseNamespaceScopes.size(); i++ ){
-			if( baseNamespaceScopes[i] != entryNamespaceScopes[i] ){
-				return false;
-			}
-		}
-		return true;
+		return std::equal( baseNamespaceScopes.begin(), baseNamespaceScopes.end(), entryNamespaceScopes.begin() );
 	}
 };
+
+inline bool operator ==( const NamespaceScopes &lhs, const NamespaceScopes &rhs )
+{
+	return lhs.IsEqual( rhs );
+}
 
 class NamespaceScopesCollection : public std::vector<NamespaceScopes>
@@ -87,11 +95,5 @@
 	bool IsExist( const NamespaceScopes &namespaceScopes ) const
 	{
-		const NamespaceScopesCollection &namespaceScopesCollection = *this;
-		BOOST_FOREACH( const NamespaceScopes &tempNamespaceScopes, namespaceScopesCollection ){
-			if( tempNamespaceScopes.IsEqual( namespaceScopes ) ){
-				return true;
-			}
-		}
-		return false;
+		return std::find( this->begin(), this->end(), namespaceScopes ) != this->end();
 	}
 	bool IsExist( const std::string &namespaceStr ) const
@@ -102,13 +104,5 @@
 	bool IsImported( const NamespaceScopes &namespaceScopes ) const
 	{
-		const NamespaceScopesCollection &namespaceScopesCollection = *this;
-		BOOST_FOREACH( const NamespaceScopes &tempNamespaceScopes, namespaceScopesCollection )
-		{
-			if( namespaceScopes.IsEqual( tempNamespaceScopes ) )
-			{
-				return true;
-			}
-		}
-		return false;
+		return IsExist( namespaceScopes );
 	}
 
