Index: trunk/jenga/include/common/BoostSerializationSupport.h
===================================================================
--- trunk/jenga/include/common/BoostSerializationSupport.h	(revision 213)
+++ 	(revision )
@@ -1,266 +1,0 @@
-#pragma once
-
-#include <vector>
-#include <string>
-#include <fstream>
-#include <sstream>
-
-#include <boost/archive/xml_oarchive.hpp>
-#include <boost/archive/xml_iarchive.hpp>
-#include <boost/archive/binary_oarchive.hpp>
-#include <boost/archive/binary_iarchive.hpp>
-#include <boost/serialization/serialization.hpp>
-#include <boost/serialization/string.hpp>
-#include <boost/serialization/access.hpp>
-#include <boost/serialization/export.hpp>
-#include <boost/serialization/level.hpp>
-#include <boost/serialization/vector.hpp>
-#include <boost/serialization/map.hpp>
-#include <boost/serialization/nvp.hpp>
-#include <boost/serialization/version.hpp>
-#include <boost/serialization/is_abstract.hpp>
-
-#include <windows.h>
-
-namespace Jenga{
-namespace Common{
-
-using namespace std;
-
-template<class T_xml_schema> class BoostSerializationSupport{
-	virtual const char *RootTagName() const = 0;
-
-	void echo( const char *msg ) const
-	{
-		MessageBox( NULL, msg, "XMLシリアライズの例外", MB_OK );
-	}
-
-public:
-	bool ReadXml( istream& ifs, bool isShowExceptionMessage = true )
-	{
-		bool isSuccessful = false;
-
-		try{
-			boost::archive::xml_iarchive ia(ifs);
-
-			// ファイルから読込
-			ia >> boost::serialization::make_nvp( RootTagName(), *(T_xml_schema *)this );
-
-			isSuccessful = true;
-		}
-		catch( boost::archive::archive_exception e )
-		{
-			if( isShowExceptionMessage )
-			{
-				echo( e.what() );
-			}
-		}
-		catch(...){
-			if( isShowExceptionMessage )
-			{
-				echo( "archive_exception以外の不明な例外" );
-			}
-		}
-
-		if( !isSuccessful )
-		{
-			return false;
-		}
-
-		return true;
-	}
-
-	bool WriteXml( ostream& ofs, bool isShowExceptionMessage = true ) const
-	{
-		bool isSuccessful = false;
-
-		try{
-			boost::archive::xml_oarchive oa(ofs);
-
-			// ファイルに書き出し
-			oa << boost::serialization::make_nvp( RootTagName(), *(T_xml_schema *)this );
-
-			isSuccessful = true;
-		}
-		catch( boost::archive::archive_exception e )
-		{
-			if( isShowExceptionMessage )
-			{
-				echo( e.what() );
-			}
-		}
-		catch(...){
-			if( isShowExceptionMessage )
-			{
-				echo( "archive_exception以外の不明な例外" );
-			}
-		}
-
-		if( !isSuccessful )
-		{
-			return false;
-		}
-
-		return true;
-	}
-
-	bool ReadXml( const string &xmlFilePath, bool isShowExceptionMessage = true )
-	{
-		// 入力アーカイブの作成
-		std::ifstream ifs( xmlFilePath.c_str() );
-		
-		bool result = ReadXml(ifs,isShowExceptionMessage);
-
-		// 入力を閉じる
-		ifs.close();
-
-		return result;
-	}
-	bool WriteXml( const string &xmlFilePath, bool isShowExceptionMessage = true ) const
-	{
-		// 出力アーカイブの作成
-		std::ofstream ofs( xmlFilePath.c_str() );
-
-		bool result = WriteXml(ofs,isShowExceptionMessage);
-
-		// 出力を閉じる
-		ofs.close();
-
-		return result;
-	}
-
-	bool ReadBinaly( const string &xmlFilePath, bool isShowExceptionMessage = true )
-	{
-		// 入力アーカイブの作成
-		std::ifstream ifs( xmlFilePath.c_str() );
-
-		bool isSuccessful = false;
-		try{
-			boost::archive::binary_iarchive ia(ifs);
-
-			// ファイルから読込
-			ia >> boost::serialization::make_nvp( RootTagName(), *(T_xml_schema *)this );
-
-			isSuccessful = true;
-		}
-		catch( boost::archive::archive_exception e )
-		{
-			if( isShowExceptionMessage )
-			{
-				echo( e.what() );
-			}
-		}
-		catch(...){
-			if( isShowExceptionMessage )
-			{
-				echo( "archive_exception以外の不明な例外" );
-			}
-		}
-
-		// 入力を閉じる
-		ifs.close();
-
-		if( !isSuccessful )
-		{
-			return false;
-		}
-
-		return true;
-	}
-	bool WriteBinaly( const string &xmlFilePath, bool isShowExceptionMessage = true ) const
-	{
-		// 出力アーカイブの作成
-		std::ofstream ofs( xmlFilePath.c_str() );
-
-		bool isSuccessful = false;
-		try{
-			boost::archive::binary_oarchive oa(ofs);
-
-			// ファイルに書き出し
-			oa << boost::serialization::make_nvp( RootTagName(), *(T_xml_schema *)this );
-
-			isSuccessful = true;
-		}
-		catch( boost::archive::archive_exception e )
-		{
-			if( isShowExceptionMessage )
-			{
-				echo( e.what() );
-			}
-		}
-		catch(...){
-			if( isShowExceptionMessage )
-			{
-				echo( "archive_exception以外の不明な例外" );
-			}
-		}
-
-		// 出力を閉じる
-		ofs.close();
-
-		if( !isSuccessful )
-		{
-			return false;
-		}
-
-		return true;
-	}
-
-	bool ReadXmlFromString( const string &xmlBuffer )
-	{
-		bool isSuccessful = false;
-
-		// 入力アーカイブの作成
-		std::istringstream iss( xmlBuffer );
-
-		try{
-			boost::archive::xml_iarchive ia(iss);
-
-			// 文字列ストリームから読込
-			ia >> boost::serialization::make_nvp( RootTagName(), *(T_xml_schema *)this );
-
-			isSuccessful = true;
-		}
-		catch(...){
-			// 失敗
-		}
-
-		if( !isSuccessful )
-		{
-			return false;
-		}
-
-		return true;
-	}
-	bool ToXmlWString( wstring &xmlBuffer ) const
-	{
-		bool isSuccessful = false;
-
-		// 入力アーカイブの作成
-		std::ostringstream oss;
-
-		try{
-			boost::archive::xml_oarchive oa(oss);
-
-			// 文字列ストリームへ書き出し
-			oa << boost::serialization::make_nvp( RootTagName(), *(T_xml_schema *)this );
-
-			xmlBuffer = oss.str();
-
-			isSuccessful = true;
-		}
-		catch(...){
-			// 失敗
-		}
-
-		if( !isSuccessful )
-		{
-			return false;
-		}
-
-		return true;
-	}
-};
-
-
-}}
Index: trunk/jenga/include/common/Hashmap.h
===================================================================
--- trunk/jenga/include/common/Hashmap.h	(revision 213)
+++ 	(revision )
@@ -1,231 +1,0 @@
-#pragma once
-
-#include <vector>
-
-#include <memory.h>
-
-#include <jenga/include/common/logger.h>
-#include <jenga/include/common/Exception.h>
-
-#include "BoostSerializationSupport.h"
-
-
-namespace Jenga{
-namespace Common{
-
-
-#define MAX_HASHMAP 65535
-template<class T> class Hashmap
-{
-	T* hashArray[MAX_HASHMAP];
-
-public:
-	virtual int GetHash( const char *keyName ) const
-	{
-		int key;
-		for(key=0;*keyName!='\0';keyName++){
-			key=((key<<8)+ *keyName )%MAX_HASHMAP;
-		}
-		return key;
-	}
-
-	Hashmap()
-		: isIteratorReady( false )
-	{
-		memset( hashArray, 0, MAX_HASHMAP*sizeof(T*) );
-	}
-	~Hashmap()
-	{
-		Clear();
-	}
-	void Clear()
-	{
-		for( int i=0; i<MAX_HASHMAP; i++ )
-		{
-			T* temp = hashArray[i];
-			if( temp )
-			{
-				delete temp;
-			}
-		}
-		memset( hashArray, 0, MAX_HASHMAP*sizeof(T*) );
-	}
-
-	bool Put( T* value )
-	{
-		int key = GetHash( value->GetKeyName().c_str() );
-
-		if(hashArray[key]){
-			T *temp = hashArray[key];
-			while( true ){
-				if( temp->IsDuplication( value ) )
-				{
-					// 重複している
-					return false;
-				}
-
-				if( temp->GetChainNext() == NULL )
-				{
-					break;
-				}
-				temp = temp->GetChainNext();
-			}
-			temp->SetChainNext( value );
-		}
-		else{
-			hashArray[key] = value;
-		}
-
-		return true;
-	}
-
-	T* GetHashArrayElement( const char *keyName )
-	{
-		return hashArray[GetHash(keyName)];
-	}
-
-	bool IsExist( const std::string &keyName ) const
-	{
-		int key = GetHash( keyName.c_str() );
-
-		if(hashArray[key]){
-			T *temp = hashArray[key];
-			while( true ){
-				if( temp->IsDuplication( keyName ) )
-				{
-					// 重複している
-					return true;
-				}
-
-				if( temp->GetChainNext() == NULL )
-				{
-					break;
-				}
-				temp = temp->GetChainNext();
-			}
-		}
-
-		return false;
-	}
-
-
-	/////////////////////////////////////////////////////////////////
-	// イテレータ
-	/////////////////////////////////////////////////////////////////
-private:
-	mutable std::vector<T*> iterator_Objects;
-	mutable int iterator_CurrentNext;
-	mutable bool isIteratorReady;
-public:
-	void Iterator_Init() const
-	{
-		iterator_Objects.clear();
-		iterator_CurrentNext = 0;
-
-		for( int i=0; i<MAX_HASHMAP; i++ ){
-			if( hashArray[i] ){
-				T* temp = hashArray[i];
-				while( temp )
-				{
-					iterator_Objects.push_back( temp );
-
-					temp = (T*)temp->GetChainNext();
-				}
-			}
-		}
-
-		isIteratorReady = true;
-	}
-	void Iterator_Reset() const
-	{
-		if( !isIteratorReady )
-		{
-			Jenga::Throw( "イテレータの準備ができていない" );
-		}
-		iterator_CurrentNext = 0;
-	}
-	bool Iterator_HasNext() const
-	{
-		return ( iterator_CurrentNext < (int)iterator_Objects.size() );
-	}
-	T *Iterator_GetNext() const
-	{
-		return iterator_Objects[iterator_CurrentNext++];
-	}
-	int Iterator_GetMaxCount() const
-	{
-		return (int)iterator_Objects.size();
-	}
-
-
-	// XMLシリアライズ用
-private:
-	friend class boost::serialization::access;
-	BOOST_SERIALIZATION_SPLIT_MEMBER();
-	template<class Archive> void load(Archive& ar, const unsigned int version)
-	{
-		std::vector<T *> objects;
-		ar & BOOST_SERIALIZATION_NVP( objects );
-
-		// 読み込み後の処理
-		Clear();
-		BOOST_FOREACH( T *object, objects )
-		{
-			Put( object );
-		}
-		Iterator_Init();
-	}
-	template<class Archive> void save(Archive& ar, const unsigned int version) const
-	{
-		// 保存準備
-		std::vector<T *> objects;
-		objects.clear();
-		Iterator_Reset();
-		while( Iterator_HasNext() )
-		{
-			objects.push_back( Iterator_GetNext() );
-		}
-
-		ar & BOOST_SERIALIZATION_NVP( objects );
-	}
-};
-
-template<class T> class ObjectInHashmap
-{
-	T *pNextObject;
-public:
-
-	ObjectInHashmap()
-		: pNextObject( NULL )
-	{
-	}
-	~ObjectInHashmap()
-	{
-		if( pNextObject )
-		{
-			delete pNextObject;
-		}
-	}
-
-	virtual const std::string &GetKeyName() const = 0;
-	virtual bool IsDuplication( const T *value ) const
-	{
-		return ( GetKeyName() == value->GetName() );
-	}
-	virtual bool IsDuplication( const std::string &keyName ) const
-	{
-		return ( GetKeyName() == keyName );
-	}
-
-	T *GetChainNext()
-	{
-		return pNextObject;
-	}
-	void SetChainNext( T *pNextObject )
-	{
-		this->pNextObject = pNextObject;
-	}
-};
-
-
-}}
Index: trunk/jenga/include/common/logger.h
===================================================================
--- trunk/jenga/include/common/logger.h	(revision 213)
+++ 	(revision )
@@ -1,133 +1,0 @@
-#pragma once
-
-#include <iomanip>
-#include <ios>//streamsize
-#include <streambuf>//basic_streambuf
-#include <string>//char_traits, basic_string
-#include <tchar.h>//char_traits, basic_string
-#include <sstream>
-#include <fstream>
-
-#include <tchar.h>
-#include <stdarg.h>
-
-#include <jenga/include/common/Environment.h>
-#include <jenga/include/common/BoostSerializationSupport.h>
-
-#define STDX_DSTREAM_BUFFERING
-
-
-using namespace std;
-
-namespace Jenga{
-namespace Common{
-
-
-class LoggerSetting : public BoostSerializationSupport<LoggerSetting>
-{
-public:
-	int stopStep;
-
-	LoggerSetting()
-		: stopStep( -1 )
-	{
-	}
-
-	// XMLシリアライズ用
-private:
-	virtual const char *RootTagName() const
-	{
-		return "loggerSetting";
-	}
-	friend class boost::serialization::access;
-	template<class Archive> void serialize(Archive& ar, const unsigned int version)
-	{
-		ar & BOOST_SERIALIZATION_NVP( stopStep );
-	}
-};
-
-
-// VC++ で STLport だと using std::char_traits; みたいなのが必要かも
-template <typename Ch_T, typename Tr_T = std::char_traits<Ch_T> >
-class basic_dbg_streambuf: public std::basic_stringbuf<Ch_T, Tr_T>
-{
-protected:
-	std::string saveFilePath;
-	int count;
-	LoggerSetting setting;
-
-public:
-	basic_dbg_streambuf( const std::string &saveFilePath, bool isOptionEnabled )
-		: saveFilePath( saveFilePath )
-		, count( 0 )
-	{
-#ifndef STDX_DSTREAM_BUFFERING
-		setbuf(0,0);
-#endif
-
-		if( isOptionEnabled )
-		{
-			// 設定ファイルを読み込む
-			char temporary[MAX_PATH];
-			char temp2[MAX_PATH];
-			char temp3[MAX_PATH];
-			_splitpath(saveFilePath.c_str(),temporary,temp2,temp3,NULL);
-			setting.ReadXml( (string)temporary + temp2 + temp3 + ".setting.xml", false );
-		}
-	}
-
-	virtual ~basic_dbg_streambuf()
-	{
-		sync();
-	}
-
-protected:
-	int sync(void)
-	{
-		dbg_out(str().c_str());
-		pbump(static_cast<int>(pbase() - pptr()));
-		return 0;
-	}
-
-	void dbg_out(const Ch_T*);
-};
-
-template <>
-inline void basic_dbg_streambuf<char>::dbg_out(const char *str)
-{
-	ofstream ofs( ( saveFilePath ).c_str(), ios_base::app );
-	ofs << "[" << (count++) << "] " << str ;
-	ofs.close();
-
-	if( (count-1) == setting.stopStep )
-	{
-		DebugBreak();
-	}
-}
-
-template <typename Ch_T, typename Tr_T = std::char_traits<Ch_T> >
-class basic_dbg_ostream: public std::basic_ostream<Ch_T, Tr_T>
-{
-public:
-	basic_dbg_ostream( const string &saveFilePath, bool isOptionEnabled )
-		: std::basic_ostream<Ch_T, Tr_T>(new basic_dbg_streambuf<Ch_T, Tr_T>(saveFilePath,isOptionEnabled))
-	{
-		ofstream ofs( ( saveFilePath ).c_str(), ios_base::trunc );
-		ofs.close();
-	}
-
-
-	virtual ~basic_dbg_ostream()
-	{
-		// flush(); // 不要らしい．http://www.tietew.jp/cppll/archive/607
-		delete rdbuf();
-	}
-};
-
-
-typedef basic_dbg_ostream<_TCHAR>  Logger;
-
-
-}}
-
-BOOST_CLASS_IMPLEMENTATION(Jenga::Common::LoggerSetting, boost::serialization::object_serializable);
Index: trunk/jenga/include/smoothie/Namespace.h
===================================================================
--- trunk/jenga/include/smoothie/Namespace.h	(revision 213)
+++ 	(revision )
@@ -1,124 +1,0 @@
-#pragma once
-
-#include <vector>
-#include <string>
-#include <boost/foreach.hpp>
-
-#include <jenga/include/common/BoostSerializationSupport.h>
-
-using namespace std;
-
-class NamespaceScopes : public vector<string>
-{
-	// XMLシリアライズ用
-private:
-	friend class boost::serialization::access;
-	template<class Archive> void serialize(Archive& ar, const unsigned int version)
-	{
-		ar & boost::serialization::make_nvp("vector_string", boost::serialization::base_object<vector<string>>(*this));
-	}
-
-
-public:
-	NamespaceScopes(){}
-	NamespaceScopes( const string &namespaceStr );
-	~NamespaceScopes(){}
-
-	string ToString() const
-	{
-		string namespaceStr;
-		const vector<string> &me = *this;
-
-		bool isFirst = true;
-		BOOST_FOREACH( const string &itemStr, me ){
-			if( isFirst ){
-				isFirst = false;
-			}
-			else{
-				namespaceStr += ".";
-			}
-
-			namespaceStr += itemStr;
-		}
-		return namespaceStr;
-	}
-
-	// 等しいかをチェック
-	bool IsEqual( const string &name ) const
-	{
-		if( ToString() == name ){
-			return true;
-		}
-		return false;
-	}
-
-	// 等しいかをチェック
-	bool IsEqual( const NamespaceScopes &namespaceScopes ) const
-	{
-		if( ToString() == namespaceScopes.ToString() ){
-			return true;
-		}
-		return false;
-	}
-
-	// 所属しているかをチェック
-	// 例:
-	// baseNamespaceScopes =  "Discoversoft"
-	// entryNamespaceScopes = "Discoversoft.ActiveBasic"
-	// この場合、entryNamespaceScopes は baseNamespaceScopes に所属している。
-	static bool IsBelong( const NamespaceScopes &baseNamespaceScopes, const NamespaceScopes &entryNamespaceScopes )
-	{
-		if( baseNamespaceScopes.size() > entryNamespaceScopes.size() ){
-			return false;
-		}
-
-		for( int i=0; i<(int)baseNamespaceScopes.size(); i++ ){
-			if( baseNamespaceScopes[i] != entryNamespaceScopes[i] ){
-				return false;
-			}
-		}
-		return true;
-	}
-};
-
-class NamespaceScopesCollection : public vector<NamespaceScopes>
-{
-	// XMLシリアライズ用
-private:
-	friend class boost::serialization::access;
-	template<class Archive> void serialize(Archive& ar, const unsigned int version)
-	{
-		ar & boost::serialization::make_nvp("vector_NamespaceScopes", boost::serialization::base_object<vector<NamespaceScopes>>(*this));
-	}
-
-public:
-	bool IsExist( const NamespaceScopes &namespaceScopes ) const
-	{
-		const NamespaceScopesCollection &namespaceScopesCollection = *this;
-		BOOST_FOREACH( const NamespaceScopes &tempNamespaceScopes, namespaceScopesCollection ){
-			if( tempNamespaceScopes.IsEqual( namespaceScopes ) ){
-				return true;
-			}
-		}
-		return false;
-	}
-	bool IsExist( const string &namespaceStr ) const
-	{
-		return IsExist( NamespaceScopes( namespaceStr ) );
-	}
-
-	bool IsImported( const NamespaceScopes &namespaceScopes ) const
-	{
-		const NamespaceScopesCollection &namespaceScopesCollection = *this;
-		BOOST_FOREACH( const NamespaceScopes &tempNamespaceScopes, namespaceScopesCollection )
-		{
-			if( namespaceScopes.IsEqual( tempNamespaceScopes ) )
-			{
-				return true;
-			}
-		}
-		return false;
-	}
-
-	void SplitNamespace( const char *fullName, char *namespaceStr, char *simpleName ) const;
-};
Index: trunk/jenga/projects/common/common.vcproj
===================================================================
--- trunk/jenga/projects/common/common.vcproj	(revision 213)
+++ trunk/jenga/projects/common/common.vcproj	(revision 216)
@@ -296,8 +296,4 @@
 			>
 			<File
-				RelativePath="..\..\include\common\BoostSerializationSupport.h"
-				>
-			</File>
-			<File
 				RelativePath="..\..\include\common\Directory.h"
 				>
@@ -309,12 +305,4 @@
 			<File
 				RelativePath="..\..\include\common\Exception.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\include\common\Hashmap.h"
-				>
-			</File>
-			<File
-				RelativePath="..\..\include\common\logger.h"
 				>
 			</File>
Index: trunk/jenga/projects/smoothie/smoothie.vcproj
===================================================================
--- trunk/jenga/projects/smoothie/smoothie.vcproj	(revision 213)
+++ trunk/jenga/projects/smoothie/smoothie.vcproj	(revision 216)
@@ -285,8 +285,4 @@
 			</File>
 			<File
-				RelativePath="..\..\src\smoothie\Namespace.cpp"
-				>
-			</File>
-			<File
 				RelativePath="..\..\src\smoothie\Smoothie.cpp"
 				>
@@ -315,8 +311,4 @@
 			</File>
 			<File
-				RelativePath="..\..\include\smoothie\Namespace.h"
-				>
-			</File>
-			<File
 				RelativePath="..\..\include\smoothie\Smoothie.h"
 				>
Index: trunk/jenga/src/common/index.cpp
===================================================================
--- trunk/jenga/src/common/index.cpp	(revision 213)
+++ trunk/jenga/src/common/index.cpp	(revision 216)
@@ -1,2 +1,1 @@
-#include <jenga/include/common/logger.h>
 #include <jenga/include/common/Environment.h>
Index: trunk/jenga/src/smoothie/Namespace.cpp
===================================================================
--- trunk/jenga/src/smoothie/Namespace.cpp	(revision 213)
+++ 	(revision )
@@ -1,55 +1,0 @@
-#include <jenga/include/smoothie/BasicFixed.h>
-#include <jenga/include/smoothie/Smoothie.h>
-#include <jenga/include/smoothie/Namespace.h>
-#include <jenga/include/smoothie/SmoothieException.h>
-
-
-NamespaceScopes::NamespaceScopes( const string &namespaceStr ){
-	if( namespaceStr.size() == 0 ){
-		return;
-	}
-
-	string::size_type i = 0;
-	while( true ){
-		string::size_type i2 = namespaceStr.find( '.', i );
-
-		string tempName = namespaceStr.substr( i, i2-i );
-
-		push_back( tempName );
-
-		if( i2 == string::npos ){
-			break;
-		}
-
-		i = i2 + 1;
-	}
-}
-
-void NamespaceScopesCollection::SplitNamespace( const char *fullName, char *namespaceStr, char *simpleName ) const
-{
-	NamespaceScopes namespaceScopes( fullName );
-	bool hasSimpleName = false;
-	while( namespaceScopes.size() > 0 ){
-		if( IsExist( namespaceScopes ) ){
-			break;
-		}
-		namespaceScopes.pop_back();
-
-		hasSimpleName = true;
-	}
-
-	lstrcpy( namespaceStr, namespaceScopes.ToString().c_str() );
-
-	bool hasNamespace = false;
-	if( namespaceStr[0] ){
-		hasNamespace = true;
-	}
-
-	int dotLength = 0;
-	if( hasSimpleName && hasNamespace ){
-		dotLength = 1;
-	}
-
-	lstrcpy( simpleName, fullName + lstrlen( namespaceStr ) + dotLength );
-}
-
