Index: code/branches/cpp11_v2/src/libraries/core/CorePrecompiledHeaders.h
===================================================================
--- code/branches/cpp11_v2/src/libraries/core/CorePrecompiledHeaders.h	(revision 10770)
+++ code/branches/cpp11_v2/src/libraries/core/CorePrecompiledHeaders.h	(revision 10771)
@@ -50,4 +50,5 @@
 #include <sstream>  // 53
 #include <set>      // 50
+#include <memory>
 
 #include "util/Output.h" // 48
@@ -66,5 +67,4 @@
 #include <OgreColourValue.h> // 36
 #include <boost/preprocessor/cat.hpp> // 27
-#include <boost/shared_ptr.hpp> // 21
 
 #ifdef ORXONOX_COMPILER_MSVC
@@ -76,5 +76,4 @@
 #include "util/SubString.h"  // 14
 
-#include <boost/scoped_ptr.hpp> // 13
 #include <stack> // 12
 
Index: code/branches/cpp11_v2/src/libraries/core/GUIManager.h
===================================================================
--- code/branches/cpp11_v2/src/libraries/core/GUIManager.h	(revision 10770)
+++ code/branches/cpp11_v2/src/libraries/core/GUIManager.h	(revision 10771)
@@ -40,4 +40,5 @@
 #include <map>
 #include <string>
+#include <memory>
 
 #if CEGUI_VERSION >= 0x000800
@@ -48,6 +49,4 @@
 #   include <CEGUIVersion.h>
 #endif
-
-#include <boost/shared_ptr.hpp>
 
 #include "util/DestructionHelper.h"
@@ -196,5 +195,5 @@
         CEGUI::LuaScriptModule*              scriptModule_;         //!< CEGUI's script module to use Lua
         CEGUI::System*                       guiSystem_;            //!< CEGUI's main system
-        shared_ptr<ResourceInfo>             rootFileInfo_;         //!< Resource information about the root script
+        std::shared_ptr<ResourceInfo>        rootFileInfo_;         //!< Resource information about the root script
         CEGUI::Logger*                       ceguiLogger_;          //!< CEGUI's logger to be able to log CEGUI errors in our log
         int                                  outputLevelCeguiLog_;  //!< CEGUI's log level
Index: code/branches/cpp11_v2/src/libraries/core/Game.cc
===================================================================
--- code/branches/cpp11_v2/src/libraries/core/Game.cc	(revision 10770)
+++ code/branches/cpp11_v2/src/libraries/core/Game.cc	(revision 10771)
@@ -36,5 +36,4 @@
 
 #include <exception>
-#include <boost/weak_ptr.hpp>
 #include <loki/ScopeGuard.h>
 
@@ -72,6 +71,6 @@
     {
         std::string name_;
-        weak_ptr<GameStateTreeNode> parent_;
-        std::vector<shared_ptr<GameStateTreeNode>> children_;
+        std::weak_ptr<GameStateTreeNode> parent_;
+        std::vector<std::shared_ptr<GameStateTreeNode>> children_;
     };
 
@@ -124,5 +123,5 @@
 
         // The empty root state is ALWAYS loaded!
-        this->rootStateNode_ = shared_ptr<GameStateTreeNode>(new GameStateTreeNode());
+        this->rootStateNode_ = std::shared_ptr<GameStateTreeNode>(new GameStateTreeNode());
         this->rootStateNode_->name_ = "emptyRootGameState";
         this->loadedTopStateNode_ = this->rootStateNode_;
@@ -137,5 +136,5 @@
 
         assert(loadedStates_.size() <= 1); // Just empty root GameState
-        // Destroy all GameStates (shared_ptrs take care of actual destruction)
+        // Destroy all GameStates (std::shared_ptrs take care of actual destruction)
         constructedStates_.clear();
 
@@ -235,5 +234,5 @@
         while (this->requestedStateNodes_.size() > 0)
         {
-            shared_ptr<GameStateTreeNode> requestedStateNode = this->requestedStateNodes_.front();
+            std::shared_ptr<GameStateTreeNode> requestedStateNode = this->requestedStateNodes_.front();
             assert(this->loadedTopStateNode_);
             if (!this->loadedTopStateNode_->parent_.expired() && requestedStateNode == this->loadedTopStateNode_->parent_.lock())
@@ -281,5 +280,5 @@
                 orxout(user_error) << "This should really never happen!" << endl;
                 orxout(user_error) << "Unloading all GameStates depending on the one that crashed." << endl;
-                shared_ptr<GameStateTreeNode> current = this->loadedTopStateNode_;
+                std::shared_ptr<GameStateTreeNode> current = this->loadedTopStateNode_;
                 while (current->name_ != (*it)->getName() && current)
                     current = current->parent_.lock();
@@ -372,5 +371,5 @@
         }
 
-        shared_ptr<GameStateTreeNode> lastRequestedNode;
+        std::shared_ptr<GameStateTreeNode> lastRequestedNode;
         if (this->requestedStateNodes_.empty())
             lastRequestedNode = this->loadedTopStateNode_;
@@ -384,5 +383,5 @@
 
         // Check children first
-        std::vector<shared_ptr<GameStateTreeNode>> requestedNodes;
+        std::vector<std::shared_ptr<GameStateTreeNode>> requestedNodes;
         for (unsigned int i = 0; i < lastRequestedNode->children_.size(); ++i)
         {
@@ -397,5 +396,5 @@
         {
             // Check parent and all its grand parents
-            shared_ptr<GameStateTreeNode> currentNode = lastRequestedNode;
+            std::shared_ptr<GameStateTreeNode> currentNode = lastRequestedNode;
             while (currentNode != nullptr)
             {
@@ -424,5 +423,5 @@
     void Game::popState()
     {
-        shared_ptr<GameStateTreeNode> lastRequestedNode;
+        std::shared_ptr<GameStateTreeNode> lastRequestedNode;
         if (this->requestedStateNodes_.empty())
             lastRequestedNode = this->loadedTopStateNode_;
@@ -435,5 +434,5 @@
     }
 
-    shared_ptr<GameState> Game::getState(const std::string& name)
+    std::shared_ptr<GameState> Game::getState(const std::string& name)
     {
         GameStateMap::const_iterator it = constructedStates_.find(name);
@@ -447,5 +446,5 @@
             else
                 orxout(internal_error) << "Could not find GameState '" << name << "'." << endl;
-            return shared_ptr<GameState>();
+            return std::shared_ptr<GameState>();
         }
     }
@@ -479,5 +478,5 @@
     /*** Internal ***/
 
-    void Game::parseStates(std::vector<std::pair<std::string, int>>::const_iterator& it, shared_ptr<GameStateTreeNode> currentNode)
+    void Game::parseStates(std::vector<std::pair<std::string, int>>::const_iterator& it, std::shared_ptr<GameStateTreeNode> currentNode)
     {
         SubString tokens(it->first, ",");
@@ -491,5 +490,5 @@
             if (tokens[i] == this->rootStateNode_->name_)
                 ThrowException(GameState, "You shouldn't use 'emptyRootGameState' in the hierarchy...");
-            shared_ptr<GameStateTreeNode> node(new GameStateTreeNode());
+            std::shared_ptr<GameStateTreeNode> node(new GameStateTreeNode());
             node->name_ = tokens[i];
             node->parent_ = currentNode;
@@ -527,5 +526,5 @@
                 {
                     // Game state loading failure is serious --> don't catch
-                    shared_ptr<GameState> gameState = GameStateFactory::fabricate(it->second);
+                    std::shared_ptr<GameState> gameState = GameStateFactory::fabricate(it->second);
                     if (!constructedStates_.insert(std::make_pair(
                         it->second.stateName, gameState)).second)
@@ -582,5 +581,5 @@
             graphicsUnloader.Dismiss();
 
-        shared_ptr<GameState> state = this->getState(name);
+        std::shared_ptr<GameState> state = this->getState(name);
         state->activateInternal();
         if (!this->loadedStates_.empty())
@@ -599,5 +598,5 @@
         try
         {
-            shared_ptr<GameState> state = this->getState(name);
+            std::shared_ptr<GameState> state = this->getState(name);
             state->activity_.topState = false;
             this->loadedStates_.pop_back();
@@ -620,13 +619,13 @@
     }
 
-    /*static*/ std::map<std::string, shared_ptr<Game::GameStateFactory>>& Game::GameStateFactory::getFactories()
-    {
-        static std::map<std::string, shared_ptr<GameStateFactory>> factories;
+    /*static*/ std::map<std::string, std::shared_ptr<Game::GameStateFactory>>& Game::GameStateFactory::getFactories()
+    {
+        static std::map<std::string, std::shared_ptr<GameStateFactory>> factories;
         return factories;
     }
 
-    /*static*/ shared_ptr<GameState> Game::GameStateFactory::fabricate(const GameStateInfo& info)
-    {
-        std::map<std::string, shared_ptr<Game::GameStateFactory>>::const_iterator it = getFactories().find(info.className);
+    /*static*/ std::shared_ptr<GameState> Game::GameStateFactory::fabricate(const GameStateInfo& info)
+    {
+        std::map<std::string, std::shared_ptr<Game::GameStateFactory>>::const_iterator it = getFactories().find(info.className);
         assert(it != getFactories().end());
         return it->second->fabricateInternal(info);
Index: code/branches/cpp11_v2/src/libraries/core/Game.h
===================================================================
--- code/branches/cpp11_v2/src/libraries/core/Game.h	(revision 10770)
+++ code/branches/cpp11_v2/src/libraries/core/Game.h	(revision 10771)
@@ -44,5 +44,5 @@
 #include <string>
 #include <vector>
-#include <boost/shared_ptr.hpp>
+#include <memory>
 #include <boost/preprocessor/cat.hpp>
 
@@ -84,7 +84,7 @@
     { // tolua_export
         friend class Singleton<Game>;
-        typedef std::vector<shared_ptr<GameState>> GameStateVector;
-        typedef std::map<std::string, shared_ptr<GameState>> GameStateMap;
-        typedef shared_ptr<GameStateTreeNode> GameStateTreeNodePtr;
+        typedef std::vector<std::shared_ptr<GameState>> GameStateVector;
+        typedef std::map<std::string, std::shared_ptr<GameState>> GameStateMap;
+        typedef std::shared_ptr<GameStateTreeNode> GameStateTreeNodePtr;
 
     public:
@@ -97,5 +97,5 @@
 
         void setStateHierarchy(const std::string& str);
-        shared_ptr<GameState> getState(const std::string& name);
+        std::shared_ptr<GameState> getState(const std::string& name);
 
         void run();
@@ -123,11 +123,11 @@
         public:
             virtual ~GameStateFactory() { }
-            static shared_ptr<GameState> fabricate(const GameStateInfo& info);
+            static std::shared_ptr<GameState> fabricate(const GameStateInfo& info);
             template <class T>
             static void createFactory(const std::string& className)
                 { getFactories()[className].reset(new TemplateGameStateFactory<T>()); }
 
-            virtual shared_ptr<GameState> fabricateInternal(const GameStateInfo& info) = 0;
-            static std::map<std::string, shared_ptr<GameStateFactory>>& getFactories();
+            virtual std::shared_ptr<GameState> fabricateInternal(const GameStateInfo& info) = 0;
+            static std::map<std::string, std::shared_ptr<GameStateFactory>>& getFactories();
         };
         template <class T>
@@ -135,6 +135,6 @@
         {
         public:
-            shared_ptr<GameState> fabricateInternal(const GameStateInfo& info)
-                { return shared_ptr<GameState>(new T(info)); }
+            std::shared_ptr<GameState> fabricateInternal(const GameStateInfo& info)
+                { return std::shared_ptr<GameState>(new T(info)); }
         };
 
@@ -150,5 +150,5 @@
         void unloadGraphics(bool loadGraphicsManagerWithoutRenderer = true);
 
-        void parseStates(std::vector<std::pair<std::string, int>>::const_iterator& it, shared_ptr<GameStateTreeNode> currentNode);
+        void parseStates(std::vector<std::pair<std::string, int>>::const_iterator& it, std::shared_ptr<GameStateTreeNode> currentNode);
         bool checkState(const std::string& name) const;
         void loadState(const std::string& name);
Index: code/branches/cpp11_v2/src/libraries/core/GraphicsManager.cc
===================================================================
--- code/branches/cpp11_v2/src/libraries/core/GraphicsManager.cc	(revision 10770)
+++ code/branches/cpp11_v2/src/libraries/core/GraphicsManager.cc	(revision 10771)
@@ -34,5 +34,4 @@
 #include <sstream>
 #include <boost/filesystem.hpp>
-#include <boost/shared_array.hpp>
 
 #include <OgreFrameListener.h>
Index: code/branches/cpp11_v2/src/libraries/core/GraphicsManager.h
===================================================================
--- code/branches/cpp11_v2/src/libraries/core/GraphicsManager.h	(revision 10770)
+++ code/branches/cpp11_v2/src/libraries/core/GraphicsManager.h	(revision 10771)
@@ -47,6 +47,7 @@
 #include <cassert>
 #include <string>
+#include <memory>
+
 #include <OgreLog.h>
-#include <boost/shared_ptr.hpp>
 
 #include "util/DestructionHelper.h"
@@ -130,7 +131,7 @@
 
         // XML files for the resources and the debug overlay
-        shared_ptr<XMLFile> resources_;                //!< XML with resource locations
-        shared_ptr<XMLFile> extResources_;             //!< XML with resource locations in the external path (only for dev runs)
-        shared_ptr<XMLFile> debugOverlay_;             //!< XML with various debug overlays
+        std::shared_ptr<XMLFile> resources_;           //!< XML with resource locations
+        std::shared_ptr<XMLFile> extResources_;        //!< XML with resource locations in the external path (only for dev runs)
+        std::shared_ptr<XMLFile> debugOverlay_;        //!< XML with various debug overlays
 
         // config values
Index: code/branches/cpp11_v2/src/libraries/core/Loader.cc
===================================================================
--- code/branches/cpp11_v2/src/libraries/core/Loader.cc	(revision 10770)
+++ code/branches/cpp11_v2/src/libraries/core/Loader.cc	(revision 10771)
@@ -73,5 +73,5 @@
         std::string xmlInput;
 
-        shared_ptr<std::vector<std::vector<std::pair<std::string, size_t>>>> lineTrace(new std::vector<std::vector<std::pair<std::string, size_t>>>());
+        std::shared_ptr<std::vector<std::vector<std::pair<std::string, size_t>>>> lineTrace(new std::vector<std::vector<std::pair<std::string, size_t>>>());
         lineTrace->reserve(1000); //arbitrary number
 
@@ -80,5 +80,5 @@
         {
             // Use the LuaState to replace the XML tags (calls our function)
-            scoped_ptr<LuaState> luaState(new LuaState());
+            boost::scoped_ptr<LuaState> luaState(new LuaState());
             luaState->setTraceMap(lineTrace);
             luaState->setIncludeParser(&Loader::replaceLuaTags);
@@ -88,5 +88,5 @@
         else
         {
-            shared_ptr<ResourceInfo> info = Resource::getInfo(file->getFilename());
+            std::shared_ptr<ResourceInfo> info = Resource::getInfo(file->getFilename());
             if (info == nullptr)
             {
Index: code/branches/cpp11_v2/src/libraries/core/LuaState.cc
===================================================================
--- code/branches/cpp11_v2/src/libraries/core/LuaState.cc	(revision 10770)
+++ code/branches/cpp11_v2/src/libraries/core/LuaState.cc	(revision 10771)
@@ -79,8 +79,8 @@
     }
 
-    shared_ptr<ResourceInfo> LuaState::getFileInfo(const std::string& filename)
+    std::shared_ptr<ResourceInfo> LuaState::getFileInfo(const std::string& filename)
     {
         // Look in the current directory first
-        shared_ptr<ResourceInfo> sourceInfo = Resource::getInfo(sourceFileInfo_->path + filename);
+        std::shared_ptr<ResourceInfo> sourceInfo = Resource::getInfo(sourceFileInfo_->path + filename);
         // Continue search in root directories
         if (sourceInfo == nullptr && !sourceFileInfo_->path.empty())
@@ -91,5 +91,5 @@
     bool LuaState::includeFile(const std::string& filename)
     {
-        shared_ptr<ResourceInfo> sourceInfo = this->getFileInfo(filename);
+        std::shared_ptr<ResourceInfo> sourceInfo = this->getFileInfo(filename);
         if (sourceInfo != nullptr)
             return this->includeString(Resource::open(sourceInfo)->getAsString(), sourceInfo);
@@ -101,5 +101,5 @@
     }
 
-    bool LuaState::includeString(const std::string& code, const shared_ptr<ResourceInfo>& sourceFileInfo)
+    bool LuaState::includeString(const std::string& code, const std::shared_ptr<ResourceInfo>& sourceFileInfo)
     {
         // Parse string with provided include parser (otherwise don't preparse at all)
@@ -131,5 +131,5 @@
     bool LuaState::doFile(const std::string& filename)
     {
-        shared_ptr<ResourceInfo> sourceInfo = this->getFileInfo(filename);
+        std::shared_ptr<ResourceInfo> sourceInfo = this->getFileInfo(filename);
         if (sourceInfo != nullptr)
             return this->doString(Resource::open(sourceInfo)->getAsString(), sourceInfo);
@@ -141,8 +141,8 @@
     }
 
-    bool LuaState::doString(const std::string& code, const shared_ptr<ResourceInfo>& sourceFileInfo)
+    bool LuaState::doString(const std::string& code, const std::shared_ptr<ResourceInfo>& sourceFileInfo)
     {
         // Save the old source file info
-        shared_ptr<ResourceInfo> oldSourceFileInfo = sourceFileInfo_;
+        std::shared_ptr<ResourceInfo> oldSourceFileInfo = sourceFileInfo_;
         // Only override if sourceFileInfo provides useful information
         if (sourceFileInfo != nullptr)
@@ -285,5 +285,5 @@
     bool LuaState::fileExists(const std::string& filename)
     {
-        shared_ptr<ResourceInfo> info = this->getFileInfo(filename);
+        std::shared_ptr<ResourceInfo> info = this->getFileInfo(filename);
         if (info == nullptr)
             return false;
@@ -300,5 +300,5 @@
         if (it != this->sourceCodeMap_.end())
             return it->second;
-        shared_ptr<ResourceInfo> info = Resource::getInfo(filename);
+        std::shared_ptr<ResourceInfo> info = Resource::getInfo(filename);
         if (info == nullptr)
             return "";
Index: code/branches/cpp11_v2/src/libraries/core/LuaState.h
===================================================================
--- code/branches/cpp11_v2/src/libraries/core/LuaState.h	(revision 10770)
+++ code/branches/cpp11_v2/src/libraries/core/LuaState.h	(revision 10771)
@@ -47,5 +47,5 @@
 #include <string>
 #include <vector>
-#include <boost/shared_ptr.hpp>
+#include <memory>
 
 #include "util/Output.h"
@@ -79,8 +79,8 @@
 
         bool doFile(const std::string& filename); // tolua_export
-        bool doString(const std::string& code, const shared_ptr<ResourceInfo>& sourceFileInfo = shared_ptr<ResourceInfo>());
+        bool doString(const std::string& code, const std::shared_ptr<ResourceInfo>& sourceFileInfo = std::shared_ptr<ResourceInfo>());
 
         bool includeFile(const std::string& filename); // tolua_export
-        bool includeString(const std::string& code, const shared_ptr<ResourceInfo>& sourceFileInfo = shared_ptr<ResourceInfo>());
+        bool includeString(const std::string& code, const std::shared_ptr<ResourceInfo>& sourceFileInfo = std::shared_ptr<ResourceInfo>());
 
         void luaPrint(const std::string& str); // tolua_export
@@ -94,5 +94,5 @@
         void clearOutput() { output_.clear(); } // tolua_export
 
-        void setTraceMap(shared_ptr<std::vector<std::vector<std::pair<std::string, size_t>>>> map)
+        void setTraceMap(std::shared_ptr<std::vector<std::vector<std::pair<std::string, size_t>>>> map)
             { map->push_back(std::vector<std::pair<std::string, size_t>>()); lineTrace_ = map; }
 
@@ -100,6 +100,6 @@
         lua_State* getInternalLuaState() { return luaState_; }
 
-        void setDefaultResourceInfo(const shared_ptr<ResourceInfo>& sourceFileInfo) { this->sourceFileInfo_ = sourceFileInfo; }
-        const shared_ptr<ResourceInfo>& getDefaultResourceInfo() { return this->sourceFileInfo_; }
+        void setDefaultResourceInfo(const std::shared_ptr<ResourceInfo>& sourceFileInfo) { this->sourceFileInfo_ = sourceFileInfo; }
+        const std::shared_ptr<ResourceInfo>& getDefaultResourceInfo() { return this->sourceFileInfo_; }
 
         LuaFunctor* createLuaFunctor(const std::string& code) { return new LuaFunctor(code, this); } // tolua_export
@@ -115,11 +115,11 @@
 
     private:
-        shared_ptr<ResourceInfo> getFileInfo(const std::string& filename);
-        shared_ptr<std::vector<std::vector<std::pair<std::string, size_t>>>> lineTrace_;
+        std::shared_ptr<ResourceInfo> getFileInfo(const std::string& filename);
+        std::shared_ptr<std::vector<std::vector<std::pair<std::string, size_t>>>> lineTrace_;
         
         std::stringstream output_;
         lua_State* luaState_;
         bool bIsRunning_;
-        shared_ptr<ResourceInfo> sourceFileInfo_;
+        std::shared_ptr<ResourceInfo> sourceFileInfo_;
         std::map<std::string, std::string> sourceCodeMap_;
         std::string (*includeParseFunction_)(const std::string&);
Index: code/branches/cpp11_v2/src/libraries/core/Resource.cc
===================================================================
--- code/branches/cpp11_v2/src/libraries/core/Resource.cc	(revision 10770)
+++ code/branches/cpp11_v2/src/libraries/core/Resource.cc	(revision 10771)
@@ -79,5 +79,5 @@
     }
 
-    shared_ptr<ResourceInfo> Resource::getInfo(const std::string& name)
+    std::shared_ptr<ResourceInfo> Resource::getInfo(const std::string& name)
     {
         std::string group;
@@ -88,5 +88,5 @@
         catch (const Ogre::Exception&)
         {
-            return shared_ptr<ResourceInfo>();
+            return std::shared_ptr<ResourceInfo>();
         }
         Ogre::FileInfoListPtr infos = Ogre::ResourceGroupManager::getSingleton().findResourceFileInfo(group, name);
@@ -95,5 +95,5 @@
             if (it->filename == name)
             {
-                shared_ptr<ResourceInfo> ptr(new ResourceInfo());
+                std::shared_ptr<ResourceInfo> ptr(new ResourceInfo());
                 ptr->filename = name;
                 ptr->path = it->path;
@@ -114,5 +114,5 @@
             }
         }
-        return shared_ptr<ResourceInfo>();
+        return std::shared_ptr<ResourceInfo>();
     }
 
Index: code/branches/cpp11_v2/src/libraries/core/Resource.h
===================================================================
--- code/branches/cpp11_v2/src/libraries/core/Resource.h	(revision 10770)
+++ code/branches/cpp11_v2/src/libraries/core/Resource.h	(revision 10771)
@@ -42,5 +42,6 @@
 #include "CorePrereqs.h"
 
-#include <boost/shared_ptr.hpp>
+#include <memory>
+
 #include <OgreDataStream.h>
 #include <OgreStringVector.h>
@@ -93,5 +94,5 @@
 
         //! Similar to open(string, string, bool), but with a fileInfo struct
-        static DataStreamPtr open(shared_ptr<ResourceInfo> fileInfo)
+        static DataStreamPtr open(std::shared_ptr<ResourceInfo> fileInfo)
         {
             return open(fileInfo->filename);
@@ -125,5 +126,5 @@
             Fully qualified name of the file to test for
         */
-        static shared_ptr<ResourceInfo> getInfo(const std::string& name);
+        static std::shared_ptr<ResourceInfo> getInfo(const std::string& name);
 
         /**
Index: code/branches/cpp11_v2/src/libraries/core/input/KeyBinder.cc
===================================================================
--- code/branches/cpp11_v2/src/libraries/core/input/KeyBinder.cc	(revision 10770)
+++ code/branches/cpp11_v2/src/libraries/core/input/KeyBinder.cc	(revision 10771)
@@ -188,7 +188,7 @@
     {
         while (joyStickAxes_.size() < joySticks_.size())
-            joyStickAxes_.push_back(shared_ptr<JoyStickAxisVector>(new JoyStickAxisVector()));
+            joyStickAxes_.push_back(std::shared_ptr<JoyStickAxisVector>(new JoyStickAxisVector()));
         while (joyStickButtons_.size() < joySticks_.size())
-            joyStickButtons_.push_back(shared_ptr<JoyStickButtonVector>(new JoyStickButtonVector()));
+            joyStickButtons_.push_back(std::shared_ptr<JoyStickButtonVector>(new JoyStickButtonVector()));
         // For the case the new size is smaller
         this->joyStickAxes_.resize(joySticks_.size());
Index: code/branches/cpp11_v2/src/libraries/core/input/KeyBinder.h
===================================================================
--- code/branches/cpp11_v2/src/libraries/core/input/KeyBinder.h	(revision 10770)
+++ code/branches/cpp11_v2/src/libraries/core/input/KeyBinder.h	(revision 10771)
@@ -36,5 +36,5 @@
 #include <vector>
 #include <map>
-#include <boost/shared_ptr.hpp>
+#include <memory>
 
 #include "InputHandler.h"
@@ -127,5 +127,5 @@
         };
         //! Actual key bindings for joy stick buttons
-        std::vector<shared_ptr<JoyStickButtonVector>> joyStickButtons_;
+        std::vector<std::shared_ptr<JoyStickButtonVector>> joyStickButtons_;
         //! Helper class to use something like std:vector<HalfAxis[48]>
         struct JoyStickAxisVector
@@ -135,5 +135,5 @@
         };
         //! Actual key bindings for joy stick axes (and sliders)
-        std::vector<shared_ptr<JoyStickAxisVector>> joyStickAxes_;
+        std::vector<std::shared_ptr<JoyStickAxisVector>> joyStickAxes_;
 
         //! Pointer map with all Buttons, including half axes
