Index: src/ch/MainWnd.cpp
===================================================================
diff -u -r1366914bd5d2f7fa72cad0c7012184e1a452a89c -r8a2ff3b2b71b45fb525e030167e62f316cb32869
--- src/ch/MainWnd.cpp	(.../MainWnd.cpp)	(revision 1366914bd5d2f7fa72cad0c7012184e1a452a89c)
+++ src/ch/MainWnd.cpp	(.../MainWnd.cpp)	(revision 8a2ff3b2b71b45fb525e030167e62f316cb32869)
@@ -24,15 +24,12 @@
 #include "FolderDialog.h"
 #include "CustomCopyDlg.h"
 #include "AboutDlg.h"
-#include "ShutdownDlg.h"
 #include "..\common\ipcstructs.h"
 #include "UpdateChecker.h"
 #include "UpdaterDlg.h"
-#include "FeedbackHandler.h"
 #include "MiniviewDlg.h"
 #include "StatusDlg.h"
 #include "ClipboardMonitor.h"
-#include <boost/make_shared.hpp>
 #include <boost/shared_array.hpp>
 #include "../common/TShellExtMenuConfig.h"
 #include "../libchcore/TConfig.h"
@@ -783,7 +780,7 @@
 
 							std::vector<CShortcut> vShortcuts;
 
-							BOOST_FOREACH(const CString& strShortcutString, vShortcutStrings)
+							for(const CString& strShortcutString : vShortcutStrings)
 							{
 								CShortcut tShortcut;
 								if(tShortcut.FromString(strShortcutString))
@@ -808,7 +805,7 @@
 							if(GetPropValue<PP_SHSHOWCOPYTO>(rConfig))
 							{
 								std::shared_ptr<TShellMenuItem> menuItem(std::make_shared<TShellMenuItem>(rResManager.LoadString(IDS_MENUCOPYTO_STRING), rResManager.LoadString(IDS_MENUTIPCOPYTO_STRING)));
-								BOOST_FOREACH(const CShortcut& tShortcut, vShortcuts)
+								for(const CShortcut& tShortcut : vShortcuts)
 								{
 									menuItem->AddChild(std::make_shared<TShellMenuItem>((PCTSTR)tShortcut.m_strName, (PCTSTR)tShortcut.m_strPath,
 										TOperationTypeInfo(TOperationTypeInfo::eOpType_Specified, chcore::eOperation_Copy),
@@ -832,7 +829,7 @@
 							if(GetPropValue<PP_SHSHOWMOVETO>(rConfig))
 							{
 								std::shared_ptr<TShellMenuItem> menuItem(std::make_shared<TShellMenuItem>(rResManager.LoadString(IDS_MENUMOVETO_STRING), rResManager.LoadString(IDS_MENUTIPMOVETO_STRING)));
-								BOOST_FOREACH(const CShortcut& tShortcut, vShortcuts)
+								for(const CShortcut& tShortcut : vShortcuts)
 								{
 									menuItem->AddChild(std::make_shared<TShellMenuItem>((PCTSTR)tShortcut.m_strName, (PCTSTR)tShortcut.m_strPath,
 										TOperationTypeInfo(TOperationTypeInfo::eOpType_Specified, chcore::eOperation_Move),
@@ -856,7 +853,7 @@
 							if(GetPropValue<PP_SHSHOWCOPYMOVETO>(rConfig))
 							{
 								std::shared_ptr<TShellMenuItem> menuItem(std::make_shared<TShellMenuItem>(rResManager.LoadString(IDS_MENUCOPYMOVETOSPECIAL_STRING), rResManager.LoadString(IDS_MENUTIPCOPYMOVETOSPECIAL_STRING)));
-								BOOST_FOREACH(const CShortcut& tShortcut, vShortcuts)
+								for(const CShortcut& tShortcut : vShortcuts)
 								{
 									menuItem->AddChild(std::make_shared<TShellMenuItem>((PCTSTR)tShortcut.m_strName, (PCTSTR)tShortcut.m_strPath,
 										TOperationTypeInfo(TOperationTypeInfo::eOpType_Specified, chcore::eOperation_Copy),
Index: src/ch/Stdafx.h
===================================================================
diff -u -r6f8b891b60eb0f33199fd29db75d4d9f4a22c248 -r8a2ff3b2b71b45fb525e030167e62f316cb32869
--- src/ch/Stdafx.h	(.../Stdafx.h)	(revision 6f8b891b60eb0f33199fd29db75d4d9f4a22c248)
+++ src/ch/Stdafx.h	(.../Stdafx.h)	(revision 8a2ff3b2b71b45fb525e030167e62f316cb32869)
@@ -43,11 +43,6 @@
 
 #pragma warning(pop)
 
-#include <boost/thread/locks.hpp>
-#include <boost/tuple/tuple.hpp>
-#include <boost/assert.hpp>
-#include <boost/foreach.hpp>
-
 #include "debug.h"
 #include "../libictranslate/LanguageDialog.h"
 #include "../libchcore/TConfigSerializers.h"
Index: src/ch/TCommandLineParser.cpp
===================================================================
diff -u -r694e362bf3ce049a7bbba8b4cf442d07e6741901 -r8a2ff3b2b71b45fb525e030167e62f316cb32869
--- src/ch/TCommandLineParser.cpp	(.../TCommandLineParser.cpp)	(revision 694e362bf3ce049a7bbba8b4cf442d07e6741901)
+++ src/ch/TCommandLineParser.cpp	(.../TCommandLineParser.cpp)	(revision 8a2ff3b2b71b45fb525e030167e62f316cb32869)
@@ -69,7 +69,7 @@
 	if(HasTaskDefinitionPath())
 	{
 		const std::vector<std::wstring>& rvValues = m_mapVariables["ImportTaskDefinition"].as<std::vector<std::wstring> >();
-		BOOST_FOREACH(const std::wstring& strPath, rvValues)
+		for(const std::wstring& strPath : rvValues)
 		{
 			vPaths.Add(chcore::PathFromString(strPath.c_str()));
 		}
Index: src/chext/TContextMenuHandler.cpp
===================================================================
diff -u -r8068e0c351055554340ac9755d1bc846893bf2b8 -r8a2ff3b2b71b45fb525e030167e62f316cb32869
--- src/chext/TContextMenuHandler.cpp	(.../TContextMenuHandler.cpp)	(revision 8068e0c351055554340ac9755d1bc846893bf2b8)
+++ src/chext/TContextMenuHandler.cpp	(.../TContextMenuHandler.cpp)	(revision 8a2ff3b2b71b45fb525e030167e62f316cb32869)
@@ -22,9 +22,7 @@
 // ============================================================================
 #include "stdafx.h"
 #include "TContextMenuHandler.h"
-#include <boost/smart_ptr/make_shared.hpp>
 #include "../common/TShellExtMenuConfig.h"
-#include <boost/foreach.hpp>
 
 TContextMenuHandler::TContextMenuHandler() :
 	m_uiNextMenuID(0),
@@ -103,7 +101,7 @@
 void TContextMenuHandler::Clear()
 {
 	m_mapMenuItems.clear();
-	BOOST_FOREACH(HMENU hMenu, m_vHandlesToFree)
+	for(HMENU hMenu : m_vHandlesToFree)
 	{
 		DestroyMenu(hMenu);
 	}
Index: src/common/TShellExtMenuConfig.cpp
===================================================================
diff -u -r8068e0c351055554340ac9755d1bc846893bf2b8 -r8a2ff3b2b71b45fb525e030167e62f316cb32869
--- src/common/TShellExtMenuConfig.cpp	(.../TShellExtMenuConfig.cpp)	(revision 8068e0c351055554340ac9755d1bc846893bf2b8)
+++ src/common/TShellExtMenuConfig.cpp	(.../TShellExtMenuConfig.cpp)	(revision 8a2ff3b2b71b45fb525e030167e62f316cb32869)
@@ -23,8 +23,6 @@
 #include "stdafx.h"
 #include "TShellExtMenuConfig.h"
 #include "../libchcore/TConfig.h"
-#include <boost/foreach.hpp>
-#include <boost/smart_ptr/make_shared.hpp>
 #include "../libchcore/TConfigArray.h"
 
 // helper method for concatenating strings
@@ -336,7 +334,7 @@
 			SetConfigValue(rConfig, Concat(wstrBuffer, pszNodeName, _T("ItemName")), m_strName);
 			SetConfigValue(rConfig, Concat(wstrBuffer, pszNodeName, _T("ItemDescription")), m_strItemTip);
 
-			BOOST_FOREACH(const TShellMenuItemPtr& rItem, m_vChildItems)
+			for(const TShellMenuItemPtr& rItem : m_vChildItems)
 			{
 				chcore::TConfig cfgItem;
 				rItem->StoreInConfig(cfgItem, _T(""));
Index: src/libchcore/ConfigNodeContainer.cpp
===================================================================
diff -u -r8068e0c351055554340ac9755d1bc846893bf2b8 -r8a2ff3b2b71b45fb525e030167e62f316cb32869
--- src/libchcore/ConfigNodeContainer.cpp	(.../ConfigNodeContainer.cpp)	(revision 8068e0c351055554340ac9755d1bc846893bf2b8)
+++ src/libchcore/ConfigNodeContainer.cpp	(.../ConfigNodeContainer.cpp)	(revision 8a2ff3b2b71b45fb525e030167e62f316cb32869)
@@ -363,7 +363,7 @@
 				}
 
 				// remove all nodes with names from setExisting
-				BOOST_FOREACH(const PairInfo& pairNode, setExistingNames)
+				for(const PairInfo& pairNode : setExistingNames)
 				{
 					NodeContainer::iterator iterToRemove = m_mic.find(boost::make_tuple(pairNode.first, pairNode.second));
 					if (iterToRemove != m_mic.end())
@@ -427,7 +427,7 @@
 			std::set<TString> setNodeNames;
 			bool bAllLeafNodes = true;
 			size_t stChildCount = 0;
-			BOOST_FOREACH(const boost::property_tree::wiptree::value_type& rNode, rTree)
+			for(const boost::property_tree::wiptree::value_type& rNode : rTree)
 			{
 				setNodeNames.insert(rNode.first.c_str());
 
@@ -456,7 +456,7 @@
 				eMode = eMode_LeafOrContainer;
 
 			int iIndex = 0;
-			BOOST_FOREACH(const boost::property_tree::wiptree::value_type& rNode, rTree)
+			for(const boost::property_tree::wiptree::value_type& rNode : rTree)
 			{
 				switch (eMode)
 				{
Index: src/libchcore/ConfigNodeContainer.h
===================================================================
diff -u -r4fe995b304ea342b50293f92d3c1992b43b820f7 -r8a2ff3b2b71b45fb525e030167e62f316cb32869
--- src/libchcore/ConfigNodeContainer.h	(.../ConfigNodeContainer.h)	(revision 4fe995b304ea342b50293f92d3c1992b43b820f7)
+++ src/libchcore/ConfigNodeContainer.h	(.../ConfigNodeContainer.h)	(revision 8a2ff3b2b71b45fb525e030167e62f316cb32869)
@@ -36,6 +36,7 @@
 #include "TRemovedObjects.h"
 #include <boost/property_tree/ptree_fwd.hpp>
 #include <boost/lexical_cast.hpp>
+#include <boost/thread/locks.hpp>
 
 namespace chcore
 {
Index: src/libchcore/TBasePathData.cpp
===================================================================
diff -u -r4fe995b304ea342b50293f92d3c1992b43b820f7 -r8a2ff3b2b71b45fb525e030167e62f316cb32869
--- src/libchcore/TBasePathData.cpp	(.../TBasePathData.cpp)	(revision 4fe995b304ea342b50293f92d3c1992b43b820f7)
+++ src/libchcore/TBasePathData.cpp	(.../TBasePathData.cpp)	(revision 8a2ff3b2b71b45fb525e030167e62f316cb32869)
@@ -26,9 +26,9 @@
 #include "ErrorCodes.h"
 #include "ISerializerContainer.h"
 #include "ISerializerRowData.h"
-#include <boost/make_shared.hpp>
 #include "TPathContainer.h"
 #include <boost/numeric/conversion/cast.hpp>
+#include <boost/thread/locks.hpp>
 
 namespace chcore
 {
@@ -177,7 +177,7 @@
 		spContainer->DeleteRows(m_setRemovedObjects);
 		m_setRemovedObjects.Clear();
 
-		BOOST_FOREACH(const TBasePathDataPtr& spEntry, m_vEntries)
+		for(const TBasePathDataPtr& spEntry : m_vEntries)
 		{
 			spEntry->Store(spContainer);
 		}
@@ -232,7 +232,7 @@
 	TBasePathDataPtr TBasePathDataContainer::FindByID(size_t stObjectID) const
 	{
 		boost::shared_lock<boost::shared_mutex> lock(m_lock);
-		BOOST_FOREACH(const TBasePathDataPtr& spItem, m_vEntries)
+		for(const TBasePathDataPtr& spItem : m_vEntries)
 		{
 			if (spItem->GetObjectID() == stObjectID)
 				return spItem;
@@ -243,7 +243,7 @@
 
 	void TBasePathDataContainer::ClearNL()
 	{
-		BOOST_FOREACH(const TBasePathDataPtr& spItem, m_vEntries)
+		for(const TBasePathDataPtr& spItem : m_vEntries)
 		{
 			m_setRemovedObjects.Add(spItem->GetObjectID());
 		}
Index: src/libchcore/TConfig.cpp
===================================================================
diff -u -r8068e0c351055554340ac9755d1bc846893bf2b8 -r8a2ff3b2b71b45fb525e030167e62f316cb32869
--- src/libchcore/TConfig.cpp	(.../TConfig.cpp)	(revision 8068e0c351055554340ac9755d1bc846893bf2b8)
+++ src/libchcore/TConfig.cpp	(.../TConfig.cpp)	(revision 8a2ff3b2b71b45fb525e030167e62f316cb32869)
@@ -155,7 +155,7 @@
 		spContainer->DeleteRows(m_pImpl->m_setRemovedObjects);
 		m_pImpl->m_setRemovedObjects.Clear();
 
-		BOOST_FOREACH(const ConfigNode& rNode, m_pImpl->m_mic)
+		for(const ConfigNode& rNode : m_pImpl->m_mic)
 		{
 			bool bAdded = rNode.m_setModifications[ConfigNode::eMod_Added];
 			if (rNode.m_setModifications.any())
@@ -397,7 +397,7 @@
 		if (!GetImpl()->ExtractMultipleNodes(pszSubTreeName, vNodeContainers))
 			return false;
 
-		BOOST_FOREACH(const ConfigNodeContainer& rNode, vNodeContainers)
+		for(const ConfigNodeContainer& rNode : vNodeContainers)
 		{
 			TConfig cfg;
 			*cfg.m_pImpl = rNode;
Index: src/libchcore/TConfigSerializers.h
===================================================================
diff -u -re96806b7f8ff7ca7e9f4afbea603e6351a3dc3e3 -r8a2ff3b2b71b45fb525e030167e62f316cb32869
--- src/libchcore/TConfigSerializers.h	(.../TConfigSerializers.h)	(revision e96806b7f8ff7ca7e9f4afbea603e6351a3dc3e3)
+++ src/libchcore/TConfigSerializers.h	(.../TConfigSerializers.h)	(revision 8a2ff3b2b71b45fb525e030167e62f316cb32869)
@@ -52,7 +52,7 @@
 	{
 		// convert to vector of wstrings (ineffective; there should be a better way to do this)
 		TStringArray vToStore;
-		BOOST_FOREACH(const CString& strVal, vValues)
+		for(const CString& strVal : vValues)
 		{
 			vToStore.Add((PCTSTR)strVal);
 		}
Index: src/libchcore/TFeedbackHandlerBase.cpp
===================================================================
diff -u -rd18db617f4727a237c94b59af9b4328f829eda16 -r8a2ff3b2b71b45fb525e030167e62f316cb32869
--- src/libchcore/TFeedbackHandlerBase.cpp	(.../TFeedbackHandlerBase.cpp)	(revision d18db617f4727a237c94b59af9b4328f829eda16)
+++ src/libchcore/TFeedbackHandlerBase.cpp	(.../TFeedbackHandlerBase.cpp)	(revision 8a2ff3b2b71b45fb525e030167e62f316cb32869)
@@ -20,6 +20,7 @@
 #include "TFeedbackHandlerBase.h"
 #include "SerializerDataTypes.h"
 #include "ISerializerContainer.h"
+#include <boost/thread/locks.hpp>
 
 namespace chcore
 {
Index: src/libchcore/TFileFiltersArray.cpp
===================================================================
diff -u -r8068e0c351055554340ac9755d1bc846893bf2b8 -r8a2ff3b2b71b45fb525e030167e62f316cb32869
--- src/libchcore/TFileFiltersArray.cpp	(.../TFileFiltersArray.cpp)	(revision 8068e0c351055554340ac9755d1bc846893bf2b8)
+++ src/libchcore/TFileFiltersArray.cpp	(.../TFileFiltersArray.cpp)	(revision 8a2ff3b2b71b45fb525e030167e62f316cb32869)
@@ -60,7 +60,7 @@
 	void TFileFiltersArray::StoreInConfig(TConfig& rConfig, PCTSTR pszNodeName) const
 	{
 		rConfig.DeleteNode(pszNodeName);
-		BOOST_FOREACH(const TFileFilter& rFilter, m_vFilters)
+		for(const TFileFilter& rFilter : m_vFilters)
 		{
 			TConfig cfgNode;
 			rFilter.StoreInConfig(cfgNode);
@@ -143,7 +143,7 @@
 
 	void TFileFiltersArray::Clear()
 	{
-		BOOST_FOREACH(const TFileFilter& rFilter, m_vFilters)
+		for(const TFileFilter& rFilter : m_vFilters)
 		{
 			m_setRemovedObjects.Add(rFilter.GetObjectID());
 		}
@@ -157,7 +157,7 @@
 		spContainer->DeleteRows(m_setRemovedObjects);
 		m_setRemovedObjects.Clear();
 
-		BOOST_FOREACH(const TFileFilter& rFilter, m_vFilters)
+		for(const TFileFilter& rFilter : m_vFilters)
 		{
 			rFilter.Store(spContainer);
 		}
Index: src/libchcore/TFileInfoArray.cpp
===================================================================
diff -u -re8f31b0f922b402878356e130c866c4f3682a7f5 -r8a2ff3b2b71b45fb525e030167e62f316cb32869
--- src/libchcore/TFileInfoArray.cpp	(.../TFileInfoArray.cpp)	(revision e8f31b0f922b402878356e130c866c4f3682a7f5)
+++ src/libchcore/TFileInfoArray.cpp	(.../TFileInfoArray.cpp)	(revision 8a2ff3b2b71b45fb525e030167e62f316cb32869)
@@ -26,6 +26,7 @@
 #include <boost/numeric/conversion/cast.hpp>
 #include "TCoreException.h"
 #include "ErrorCodes.h"
+#include <boost/thread/locks.hpp>
 
 namespace chcore
 {
@@ -68,7 +69,7 @@
 	{
 		boost::unique_lock<boost::shared_mutex> lock(m_lock);
 		m_bComplete = false;
-		BOOST_FOREACH(const TFileInfoPtr& spFileInfo, m_vFiles)
+		for(const TFileInfoPtr& spFileInfo : m_vFiles)
 		{
 			m_setRemovedObjects.Add(spFileInfo->GetObjectID());
 		}
@@ -80,7 +81,7 @@
 		unsigned long long ullSize = 0;
 
 		boost::shared_lock<boost::shared_mutex> lock(m_lock);
-		BOOST_FOREACH(const TFileInfoPtr& spFileInfo, m_vFiles)
+		for(const TFileInfoPtr& spFileInfo : m_vFiles)
 		{
 			ullSize += spFileInfo->GetLength64();
 		}
@@ -132,7 +133,7 @@
 			spContainer->DeleteRows(m_setRemovedObjects);
 			m_setRemovedObjects.Clear();
 
-			BOOST_FOREACH(const TFileInfoPtr& spFileInfo, m_vFiles)
+			for(const TFileInfoPtr& spFileInfo : m_vFiles)
 			{
 				spFileInfo->Store(spContainer);
 			}
Index: src/libchcore/TFilesystemFileFeedbackWrapper.cpp
===================================================================
diff -u -r12b36349f6214befeace08efa9acc7e03be0d847 -r8a2ff3b2b71b45fb525e030167e62f316cb32869
--- src/libchcore/TFilesystemFileFeedbackWrapper.cpp	(.../TFilesystemFileFeedbackWrapper.cpp)	(revision 12b36349f6214befeace08efa9acc7e03be0d847)
+++ src/libchcore/TFilesystemFileFeedbackWrapper.cpp	(.../TFilesystemFileFeedbackWrapper.cpp)	(revision 8a2ff3b2b71b45fb525e030167e62f316cb32869)
@@ -20,7 +20,6 @@
 #include "TFilesystemFileFeedbackWrapper.h"
 #include "TFileException.h"
 #include <boost/lexical_cast.hpp>
-#include <boost/make_shared.hpp>
 #include "TFileInfo.h"
 #include "TWorkerThreadController.h"
 
Index: src/libchcore/TLocalFilesystem.cpp
===================================================================
diff -u -r8068e0c351055554340ac9755d1bc846893bf2b8 -r8a2ff3b2b71b45fb525e030167e62f316cb32869
--- src/libchcore/TLocalFilesystem.cpp	(.../TLocalFilesystem.cpp)	(revision 8068e0c351055554340ac9755d1bc846893bf2b8)
+++ src/libchcore/TLocalFilesystem.cpp	(.../TLocalFilesystem.cpp)	(revision 8a2ff3b2b71b45fb525e030167e62f316cb32869)
@@ -39,13 +39,13 @@
 #include "TFileTime.h"
 #include "TOverlappedDataBuffer.h"
 #include "RoundingFunctions.h"
-#include <atltrace.h>
 #include "TBufferSizes.h"
 #include "TLocalFilesystemFile.h"
 #include <memory>
 #include "TLocalFilesystemFind.h"
 #include "TFileException.h"
 #include "TDateTime.h"
+#include <boost/thread/locks.hpp>
 
 namespace chcore
 {
Index: src/libchcore/TPathContainer.cpp
===================================================================
diff -u -re8f31b0f922b402878356e130c866c4f3682a7f5 -r8a2ff3b2b71b45fb525e030167e62f316cb32869
--- src/libchcore/TPathContainer.cpp	(.../TPathContainer.cpp)	(revision e8f31b0f922b402878356e130c866c4f3682a7f5)
+++ src/libchcore/TPathContainer.cpp	(.../TPathContainer.cpp)	(revision 8a2ff3b2b71b45fb525e030167e62f316cb32869)
@@ -193,7 +193,7 @@
 		TStringArray vPaths;
 
 		// store as vector of strings (ineffective; should be done better)
-		BOOST_FOREACH(const TSmartPath& spPath, m_vPaths)
+		for(const TSmartPath& spPath : m_vPaths)
 		{
 			vPaths.Add(spPath.ToWString());
 		}
Index: src/libchcore/TSQLiteColumnDefinition.cpp
===================================================================
diff -u -re8f31b0f922b402878356e130c866c4f3682a7f5 -r8a2ff3b2b71b45fb525e030167e62f316cb32869
--- src/libchcore/TSQLiteColumnDefinition.cpp	(.../TSQLiteColumnDefinition.cpp)	(revision e8f31b0f922b402878356e130c866c4f3682a7f5)
+++ src/libchcore/TSQLiteColumnDefinition.cpp	(.../TSQLiteColumnDefinition.cpp)	(revision 8a2ff3b2b71b45fb525e030167e62f316cb32869)
@@ -73,8 +73,7 @@
 	TString TSQLiteColumnsDefinition::GetCommaSeparatedColumns() const
 	{
 		TString strColumns;
-		VecColumns::value_type pairCol;
-		BOOST_FOREACH(pairCol, m_vColumns)
+		for(VecColumns::value_type pairCol : m_vColumns)
 		{
 			strColumns += pairCol.first + _T(",");
 		}
Index: src/libchcore/TSQLiteSerializerFactory.cpp
===================================================================
diff -u -r4fe995b304ea342b50293f92d3c1992b43b820f7 -r8a2ff3b2b71b45fb525e030167e62f316cb32869
--- src/libchcore/TSQLiteSerializerFactory.cpp	(.../TSQLiteSerializerFactory.cpp)	(revision 4fe995b304ea342b50293f92d3c1992b43b820f7)
+++ src/libchcore/TSQLiteSerializerFactory.cpp	(.../TSQLiteSerializerFactory.cpp)	(revision 8a2ff3b2b71b45fb525e030167e62f316cb32869)
@@ -22,7 +22,6 @@
 #include <boost/uuid/uuid_io.hpp>
 #include <boost/uuid/random_generator.hpp>
 #include <boost/lexical_cast.hpp>
-#include <boost/make_shared.hpp>
 #include "TSQLiteTaskSchema.h"
 #include "TSQLiteSerializer.h"
 #include "TSQLiteTaskManagerSchema.h"
Index: src/libchcore/TSpeedTracker.cpp
===================================================================
diff -u -re8f31b0f922b402878356e130c866c4f3682a7f5 -r8a2ff3b2b71b45fb525e030167e62f316cb32869
--- src/libchcore/TSpeedTracker.cpp	(.../TSpeedTracker.cpp)	(revision e8f31b0f922b402878356e130c866c4f3682a7f5)
+++ src/libchcore/TSpeedTracker.cpp	(.../TSpeedTracker.cpp)	(revision 8a2ff3b2b71b45fb525e030167e62f316cb32869)
@@ -197,7 +197,7 @@
 		strData += boost::lexical_cast<std::wstring>(m_ullZeroIntervalData).c_str();
 		strData += _T(";");
 
-		BOOST_FOREACH(double dVal, m_vSamples)
+		for(double dVal : m_vSamples)
 		{
 			strData += boost::lexical_cast<std::wstring>(dVal).c_str();
 			strData += _T(";");
Index: src/libchcore/TString.cpp
===================================================================
diff -u -r8068e0c351055554340ac9755d1bc846893bf2b8 -r8a2ff3b2b71b45fb525e030167e62f316cb32869
--- src/libchcore/TString.cpp	(.../TString.cpp)	(revision 8068e0c351055554340ac9755d1bc846893bf2b8)
+++ src/libchcore/TString.cpp	(.../TString.cpp)	(revision 8a2ff3b2b71b45fb525e030167e62f316cb32869)
@@ -424,7 +424,7 @@
 		std::vector<std::wstring> vStrings;
 		boost::split(vStrings, m_pszData, boost::is_any_of(pszSeparators));
 
-		BOOST_FOREACH(const std::wstring& strPart, vStrings)
+		for(const std::wstring& strPart : vStrings)
 		{
 			rStrings.Add(strPart.c_str());
 		}
Index: src/libchcore/TSubTaskArray.cpp
===================================================================
diff -u -r8068e0c351055554340ac9755d1bc846893bf2b8 -r8a2ff3b2b71b45fb525e030167e62f316cb32869
--- src/libchcore/TSubTaskArray.cpp	(.../TSubTaskArray.cpp)	(revision 8068e0c351055554340ac9755d1bc846893bf2b8)
+++ src/libchcore/TSubTaskArray.cpp	(.../TSubTaskArray.cpp)	(revision 8a2ff3b2b71b45fb525e030167e62f316cb32869)
@@ -23,7 +23,6 @@
 #include "stdafx.h"
 #include "TSubTaskArray.h"
 #include "TTaskOperationPlan.h"
-#include <boost\smart_ptr\make_shared.hpp>
 #include "TSubTaskScanDirectory.h"
 #include "TSubTaskCopyMove.h"
 #include "TSubTaskDelete.h"
Index: src/libchcore/TSubTaskCopyMove.cpp
===================================================================
diff -u -r1366914bd5d2f7fa72cad0c7012184e1a452a89c -r8a2ff3b2b71b45fb525e030167e62f316cb32869
--- src/libchcore/TSubTaskCopyMove.cpp	(.../TSubTaskCopyMove.cpp)	(revision 1366914bd5d2f7fa72cad0c7012184e1a452a89c)
+++ src/libchcore/TSubTaskCopyMove.cpp	(.../TSubTaskCopyMove.cpp)	(revision 8a2ff3b2b71b45fb525e030167e62f316cb32869)
@@ -30,7 +30,6 @@
 #include "IFeedbackHandler.h"
 #include <boost/lexical_cast.hpp>
 #include "TBasePathData.h"
-#include <boost/smart_ptr/make_shared.hpp>
 #include "TFileInfo.h"
 #include "TFileInfoArray.h"
 #include "ErrorCodes.h"
Index: src/libchcore/TSubTaskDelete.cpp
===================================================================
diff -u -r1366914bd5d2f7fa72cad0c7012184e1a452a89c -r8a2ff3b2b71b45fb525e030167e62f316cb32869
--- src/libchcore/TSubTaskDelete.cpp	(.../TSubTaskDelete.cpp)	(revision 1366914bd5d2f7fa72cad0c7012184e1a452a89c)
+++ src/libchcore/TSubTaskDelete.cpp	(.../TSubTaskDelete.cpp)	(revision 8a2ff3b2b71b45fb525e030167e62f316cb32869)
@@ -34,7 +34,6 @@
 #include "ErrorCodes.h"
 #include "TScopedRunningTimeTracker.h"
 #include "TFeedbackHandlerWrapper.h"
-#include <boost/make_shared.hpp>
 #include "TBufferSizes.h"
 #include "TFileException.h"
 #include "TFilesystemFeedbackWrapper.h"
Index: src/libchcore/TSubTaskFastMove.cpp
===================================================================
diff -u -r12b36349f6214befeace08efa9acc7e03be0d847 -r8a2ff3b2b71b45fb525e030167e62f316cb32869
--- src/libchcore/TSubTaskFastMove.cpp	(.../TSubTaskFastMove.cpp)	(revision 12b36349f6214befeace08efa9acc7e03be0d847)
+++ src/libchcore/TSubTaskFastMove.cpp	(.../TSubTaskFastMove.cpp)	(revision 8a2ff3b2b71b45fb525e030167e62f316cb32869)
@@ -22,7 +22,6 @@
 // ============================================================================
 #include "stdafx.h"
 #include "TSubTaskFastMove.h"
-#include <boost\smart_ptr\make_shared.hpp>
 #include "TSubTaskContext.h"
 #include "TTaskConfiguration.h"
 #include "IFeedbackHandler.h"
Index: src/libchcore/TSubTaskStatsInfo.cpp
===================================================================
diff -u -r410f8f7b06e7639102eff1021e523b3cfdc185a2 -r8a2ff3b2b71b45fb525e030167e62f316cb32869
--- src/libchcore/TSubTaskStatsInfo.cpp	(.../TSubTaskStatsInfo.cpp)	(revision 410f8f7b06e7639102eff1021e523b3cfdc185a2)
+++ src/libchcore/TSubTaskStatsInfo.cpp	(.../TSubTaskStatsInfo.cpp)	(revision 8a2ff3b2b71b45fb525e030167e62f316cb32869)
@@ -27,6 +27,7 @@
 #include "TCoreException.h"
 #include "ErrorCodes.h"
 #include "SerializerDataTypes.h"
+#include <boost/thread/locks.hpp>
 
 namespace chcore
 {
Index: src/libchcore/TSubTaskStatsInfo.h
===================================================================
diff -u -r4fe995b304ea342b50293f92d3c1992b43b820f7 -r8a2ff3b2b71b45fb525e030167e62f316cb32869
--- src/libchcore/TSubTaskStatsInfo.h	(.../TSubTaskStatsInfo.h)	(revision 4fe995b304ea342b50293f92d3c1992b43b820f7)
+++ src/libchcore/TSubTaskStatsInfo.h	(.../TSubTaskStatsInfo.h)	(revision 8a2ff3b2b71b45fb525e030167e62f316cb32869)
@@ -35,6 +35,11 @@
 #include "CommonDataTypes.h"
 #include "IRunningTimeControl.h"
 
+namespace boost
+{
+	template<class T> class upgrade_lock;
+}
+
 namespace chcore
 {
 	class TSubTaskStatsInfo;
Index: src/libchcore/TTask.cpp
===================================================================
diff -u -r1366914bd5d2f7fa72cad0c7012184e1a452a89c -r8a2ff3b2b71b45fb525e030167e62f316cb32869
--- src/libchcore/TTask.cpp	(.../TTask.cpp)	(revision 1366914bd5d2f7fa72cad0c7012184e1a452a89c)
+++ src/libchcore/TTask.cpp	(.../TTask.cpp)	(revision 8a2ff3b2b71b45fb525e030167e62f316cb32869)
@@ -36,7 +36,6 @@
 #include "TScopedRunningTimeTracker.h"
 #include "TScopedRunningTimeTrackerPause.h"
 #include "TFeedbackHandlerWrapper.h"
-#include <boost/make_shared.hpp>
 #include "TTaskConfigBufferSizes.h"
 #include <wchar.h>
 #include "TLocalFilesystem.h"
Index: src/libchcore/TTaskConfigTracker.cpp
===================================================================
diff -u -rbe569bc86280887eeebb8d3e9489f6fc17c570e6 -r8a2ff3b2b71b45fb525e030167e62f316cb32869
--- src/libchcore/TTaskConfigTracker.cpp	(.../TTaskConfigTracker.cpp)	(revision be569bc86280887eeebb8d3e9489f6fc17c570e6)
+++ src/libchcore/TTaskConfigTracker.cpp	(.../TTaskConfigTracker.cpp)	(revision 8a2ff3b2b71b45fb525e030167e62f316cb32869)
@@ -25,6 +25,7 @@
 #include "TCoreException.h"
 #include "ErrorCodes.h"
 #include "TStringSet.h"
+#include <boost/thread/locks.hpp>
 
 namespace chcore
 {
@@ -97,7 +98,7 @@
 		{
 			boost::upgrade_to_unique_lock<boost::shared_mutex> upgraded_lock(lock);
 			std::set<ETaskOptions>::iterator iterOption;
-			BOOST_FOREACH(ETaskOptions eOption, setCommon)
+			for(ETaskOptions eOption : setCommon)
 			{
 				iterOption = m_setModified.find(eOption);
 				if (iterOption != m_setModified.end())
@@ -166,7 +167,7 @@
 		std::set_intersection(setOptions.Get().begin(), setOptions.Get().end(), m_setModified.begin(), m_setModified.end(), std::inserter(setCommon, setCommon.begin()));
 
 		std::set<ETaskOptions>::iterator iterOption;
-		BOOST_FOREACH(ETaskOptions eOption, setCommon)
+		for(ETaskOptions eOption : setCommon)
 		{
 			iterOption = m_setModified.find(eOption);
 			if (iterOption != m_setModified.end())
Index: src/libchcore/TTaskInfo.cpp
===================================================================
diff -u -re8f31b0f922b402878356e130c866c4f3682a7f5 -r8a2ff3b2b71b45fb525e030167e62f316cb32869
--- src/libchcore/TTaskInfo.cpp	(.../TTaskInfo.cpp)	(revision e8f31b0f922b402878356e130c866c4f3682a7f5)
+++ src/libchcore/TTaskInfo.cpp	(.../TTaskInfo.cpp)	(revision 8a2ff3b2b71b45fb525e030167e62f316cb32869)
@@ -160,7 +160,7 @@
 
 	void TTaskInfoContainer::Clear()
 	{
-		BOOST_FOREACH(TTaskInfoEntry& rEntry, m_vTaskInfos)
+		for(TTaskInfoEntry& rEntry : m_vTaskInfos)
 		{
 			m_setRemovedTasks.Add(rEntry.GetObjectID());
 		}
@@ -211,7 +211,7 @@
 	{
 		m_setRemovedTasks.Clear();
 
-		BOOST_FOREACH(TTaskInfoEntry& rEntry, m_vTaskInfos)
+		for(TTaskInfoEntry& rEntry : m_vTaskInfos)
 		{
 			// if marked as added, we don't consider it modified anymore
 			rEntry.ResetModifications();
@@ -225,7 +225,7 @@
 		spContainer->DeleteRows(m_setRemovedTasks);
 		m_setRemovedTasks.Clear();
 
-		BOOST_FOREACH(const TTaskInfoEntry& rEntry, m_vTaskInfos)
+		for(const TTaskInfoEntry& rEntry : m_vTaskInfos)
 		{
 			rEntry.Store(spContainer);
 		}
Index: src/libchcore/TTaskLocalStats.cpp
===================================================================
diff -u -re96806b7f8ff7ca7e9f4afbea603e6351a3dc3e3 -r8a2ff3b2b71b45fb525e030167e62f316cb32869
--- src/libchcore/TTaskLocalStats.cpp	(.../TTaskLocalStats.cpp)	(revision e96806b7f8ff7ca7e9f4afbea603e6351a3dc3e3)
+++ src/libchcore/TTaskLocalStats.cpp	(.../TTaskLocalStats.cpp)	(revision 8a2ff3b2b71b45fb525e030167e62f316cb32869)
@@ -27,6 +27,7 @@
 #include "TTaskStatsSnapshot.h"
 #include "ISerializerContainer.h"
 #include "ISerializerRowData.h"
+#include <boost/thread/locks.hpp>
 
 namespace chcore
 {
Index: src/libchcore/TTaskManager.cpp
===================================================================
diff -u -r12b36349f6214befeace08efa9acc7e03be0d847 -r8a2ff3b2b71b45fb525e030167e62f316cb32869
--- src/libchcore/TTaskManager.cpp	(.../TTaskManager.cpp)	(revision 12b36349f6214befeace08efa9acc7e03be0d847)
+++ src/libchcore/TTaskManager.cpp	(.../TTaskManager.cpp)	(revision 8a2ff3b2b71b45fb525e030167e62f316cb32869)
@@ -25,7 +25,6 @@
 #include "TCoreException.h"
 #include "ErrorCodes.h"
 #include "TTaskInfo.h"
-#include <boost/make_shared.hpp>
 #include "SerializerTrace.h"
 #include "TFakeFileSerializer.h"
 
Index: src/libchcore/TTaskManagerStatsSnapshot.cpp
===================================================================
diff -u -re96806b7f8ff7ca7e9f4afbea603e6351a3dc3e3 -r8a2ff3b2b71b45fb525e030167e62f316cb32869
--- src/libchcore/TTaskManagerStatsSnapshot.cpp	(.../TTaskManagerStatsSnapshot.cpp)	(revision e96806b7f8ff7ca7e9f4afbea603e6351a3dc3e3)
+++ src/libchcore/TTaskManagerStatsSnapshot.cpp	(.../TTaskManagerStatsSnapshot.cpp)	(revision 8a2ff3b2b71b45fb525e030167e62f316cb32869)
@@ -81,7 +81,7 @@
 
 	TTaskStatsSnapshotPtr TTaskManagerStatsSnapshot::GetTaskStatsForTaskID(taskid_t tTaskID) const
 	{
-		BOOST_FOREACH(TTaskStatsSnapshotPtr spStats, m_vTasksSnapshots)
+		for(TTaskStatsSnapshotPtr spStats : m_vTasksSnapshots)
 		{
 			if (spStats->GetTaskID() == tTaskID)
 				return spStats;
@@ -104,7 +104,7 @@
 		m_dAvgCountSpeed = 0.0;
 		m_dAvgSizeSpeed = 0.0;
 
-		BOOST_FOREACH(TTaskStatsSnapshotPtr spTaskStats, m_vTasksSnapshots)
+		for(TTaskStatsSnapshotPtr spTaskStats : m_vTasksSnapshots)
 		{
 			m_ullProcessedCount += spTaskStats->GetProcessedCount();
 			m_ullTotalCount += spTaskStats->GetTotalCount();
Index: src/libchcore/TTaskOperationPlan.cpp
===================================================================
diff -u -rbe569bc86280887eeebb8d3e9489f6fc17c570e6 -r8a2ff3b2b71b45fb525e030167e62f316cb32869
--- src/libchcore/TTaskOperationPlan.cpp	(.../TTaskOperationPlan.cpp)	(revision be569bc86280887eeebb8d3e9489f6fc17c570e6)
+++ src/libchcore/TTaskOperationPlan.cpp	(.../TTaskOperationPlan.cpp)	(revision 8a2ff3b2b71b45fb525e030167e62f316cb32869)
@@ -24,6 +24,7 @@
 #include "TTaskOperationPlan.h"
 #include "TCoreException.h"
 #include "ErrorCodes.h"
+#include <boost/thread/locks.hpp>
 
 namespace chcore
 {
Index: src/libchcore/TWorkerThreadController.cpp
===================================================================
diff -u -r8068e0c351055554340ac9755d1bc846893bf2b8 -r8a2ff3b2b71b45fb525e030167e62f316cb32869
--- src/libchcore/TWorkerThreadController.cpp	(.../TWorkerThreadController.cpp)	(revision 8068e0c351055554340ac9755d1bc846893bf2b8)
+++ src/libchcore/TWorkerThreadController.cpp	(.../TWorkerThreadController.cpp)	(revision 8a2ff3b2b71b45fb525e030167e62f316cb32869)
@@ -24,6 +24,7 @@
 #include "TWorkerThreadController.h"
 #include "TCoreWin32Exception.h"
 #include "ErrorCodes.h"
+#include <boost/thread/locks.hpp>
 
 namespace chcore
 {
Index: src/libchcore/TWorkerThreadController.h
===================================================================
diff -u -r89f857792bba8752de98ddd477949e45cef5ba5a -r8a2ff3b2b71b45fb525e030167e62f316cb32869
--- src/libchcore/TWorkerThreadController.h	(.../TWorkerThreadController.h)	(revision 89f857792bba8752de98ddd477949e45cef5ba5a)
+++ src/libchcore/TWorkerThreadController.h	(.../TWorkerThreadController.h)	(revision 8a2ff3b2b71b45fb525e030167e62f316cb32869)
@@ -27,7 +27,10 @@
 
 ///////////////////////////////////////////////////////////////////////////
 // TWorkerThreadController
-
+namespace boost
+{
+	template<class T> class upgrade_lock;
+}
 namespace chcore
 {
 	class LIBCHCORE_API TWorkerThreadController
Index: src/libchcore/stdafx.h
===================================================================
diff -u -r4fe995b304ea342b50293f92d3c1992b43b820f7 -r8a2ff3b2b71b45fb525e030167e62f316cb32869
--- src/libchcore/stdafx.h	(.../stdafx.h)	(revision 4fe995b304ea342b50293f92d3c1992b43b820f7)
+++ src/libchcore/stdafx.h	(.../stdafx.h)	(revision 8a2ff3b2b71b45fb525e030167e62f316cb32869)
@@ -11,7 +11,6 @@
 // Windows Header Files:
 #include <windows.h>
 
-#include <boost/assert.hpp>
 #include <boost/bind.hpp>
 
 #pragma warning(push)
@@ -21,8 +20,6 @@
 
 #pragma warning(pop)
 
-#include <boost/thread/locks.hpp>
-#include <boost/foreach.hpp>
 #include <list>
 #include <set>
 #include <vector>