[Orxonox-commit 6114] r10772 - in code/branches/cpp11_v2/src/libraries/core: . input

landauf at orxonox.net landauf at orxonox.net
Sat Nov 7 17:38:22 CET 2015


Author: landauf
Date: 2015-11-07 17:38:21 +0100 (Sat, 07 Nov 2015)
New Revision: 10772

Modified:
   code/branches/cpp11_v2/src/libraries/core/Game.cc
   code/branches/cpp11_v2/src/libraries/core/Game.h
   code/branches/cpp11_v2/src/libraries/core/Loader.cc
   code/branches/cpp11_v2/src/libraries/core/Resource.cc
   code/branches/cpp11_v2/src/libraries/core/input/KeyBinder.cc
Log:
use std::make_shared for better performance with shared_ptr

Modified: code/branches/cpp11_v2/src/libraries/core/Game.cc
===================================================================
--- code/branches/cpp11_v2/src/libraries/core/Game.cc	2015-11-07 16:24:58 UTC (rev 10771)
+++ code/branches/cpp11_v2/src/libraries/core/Game.cc	2015-11-07 16:38:21 UTC (rev 10772)
@@ -122,7 +122,7 @@
         }
 
         // The empty root state is ALWAYS loaded!
-        this->rootStateNode_ = std::shared_ptr<GameStateTreeNode>(new GameStateTreeNode());
+        this->rootStateNode_ = std::shared_ptr<GameStateTreeNode>(std::make_shared<GameStateTreeNode>());
         this->rootStateNode_->name_ = "emptyRootGameState";
         this->loadedTopStateNode_ = this->rootStateNode_;
         this->loadedStates_.push_back(this->getState(rootStateNode_->name_));
@@ -489,7 +489,7 @@
                 ThrowException(GameState, "GameState with name '" << tokens[i] << "' not found!");
             if (tokens[i] == this->rootStateNode_->name_)
                 ThrowException(GameState, "You shouldn't use 'emptyRootGameState' in the hierarchy...");
-            std::shared_ptr<GameStateTreeNode> node(new GameStateTreeNode());
+            std::shared_ptr<GameStateTreeNode> node(std::make_shared<GameStateTreeNode>());
             node->name_ = tokens[i];
             node->parent_ = currentNode;
             currentNode->children_.push_back(node);

Modified: code/branches/cpp11_v2/src/libraries/core/Game.h
===================================================================
--- code/branches/cpp11_v2/src/libraries/core/Game.h	2015-11-07 16:24:58 UTC (rev 10771)
+++ code/branches/cpp11_v2/src/libraries/core/Game.h	2015-11-07 16:38:21 UTC (rev 10772)
@@ -135,7 +135,7 @@
         {
         public:
             std::shared_ptr<GameState> fabricateInternal(const GameStateInfo& info)
-                { return std::shared_ptr<GameState>(new T(info)); }
+                { return std::shared_ptr<GameState>(std::make_shared<T>(info)); }
         };
 
         struct StatisticsTickInfo

Modified: code/branches/cpp11_v2/src/libraries/core/Loader.cc
===================================================================
--- code/branches/cpp11_v2/src/libraries/core/Loader.cc	2015-11-07 16:24:58 UTC (rev 10771)
+++ code/branches/cpp11_v2/src/libraries/core/Loader.cc	2015-11-07 16:38:21 UTC (rev 10772)
@@ -72,7 +72,7 @@
 
         std::string xmlInput;
 
-        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>>>());
+        std::shared_ptr<std::vector<std::vector<std::pair<std::string, size_t>>>> lineTrace(std::make_shared<std::vector<std::vector<std::pair<std::string, size_t>>>>());
         lineTrace->reserve(1000); //arbitrary number
 
 

Modified: code/branches/cpp11_v2/src/libraries/core/Resource.cc
===================================================================
--- code/branches/cpp11_v2/src/libraries/core/Resource.cc	2015-11-07 16:24:58 UTC (rev 10771)
+++ code/branches/cpp11_v2/src/libraries/core/Resource.cc	2015-11-07 16:38:21 UTC (rev 10772)
@@ -94,7 +94,7 @@
         {
             if (it->filename == name)
             {
-                std::shared_ptr<ResourceInfo> ptr(new ResourceInfo());
+                std::shared_ptr<ResourceInfo> ptr(std::make_shared<ResourceInfo>());
                 ptr->filename = name;
                 ptr->path = it->path;
                 ptr->basename = it->basename;

Modified: code/branches/cpp11_v2/src/libraries/core/input/KeyBinder.cc
===================================================================
--- code/branches/cpp11_v2/src/libraries/core/input/KeyBinder.cc	2015-11-07 16:24:58 UTC (rev 10771)
+++ code/branches/cpp11_v2/src/libraries/core/input/KeyBinder.cc	2015-11-07 16:38:21 UTC (rev 10772)
@@ -187,9 +187,9 @@
     void KeyBinder::initialiseJoyStickBindings()
     {
         while (joyStickAxes_.size() < joySticks_.size())
-            joyStickAxes_.push_back(std::shared_ptr<JoyStickAxisVector>(new JoyStickAxisVector()));
+            joyStickAxes_.push_back(std::shared_ptr<JoyStickAxisVector>(std::make_shared<JoyStickAxisVector>()));
         while (joyStickButtons_.size() < joySticks_.size())
-            joyStickButtons_.push_back(std::shared_ptr<JoyStickButtonVector>(new JoyStickButtonVector()));
+            joyStickButtons_.push_back(std::shared_ptr<JoyStickButtonVector>(std::make_shared<JoyStickButtonVector>()));
         // For the case the new size is smaller
         this->joyStickAxes_.resize(joySticks_.size());
         this->joyStickButtons_.resize(joySticks_.size());




More information about the Orxonox-commit mailing list