summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/Globals.h10
-rw-r--r--src/Root.cpp4
-rw-r--r--src/World.cpp10
-rw-r--r--src/main.cpp2
4 files changed, 15 insertions, 11 deletions
diff --git a/src/Globals.h b/src/Globals.h
index cee2094bc..27d944fcc 100644
--- a/src/Globals.h
+++ b/src/Globals.h
@@ -433,10 +433,14 @@ typename std::enable_if<std::is_arithmetic<T>::value, C>::type CeilC(T a_Value)
//temporary replacement for std::make_unique until we get c++14
-template <class T, class... Args>
-std::unique_ptr<T> make_unique(Args&&... args)
+
+namespace cpp14
{
- return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
+ template <class T, class... Args>
+ std::unique_ptr<T> make_unique(Args&&... args)
+ {
+ return std::unique_ptr<T>(new T(std::forward<Args>(args)...));
+ }
}
// a tick is 50 ms
diff --git a/src/Root.cpp b/src/Root.cpp
index de53e0cd8..c3c880e73 100644
--- a/src/Root.cpp
+++ b/src/Root.cpp
@@ -133,7 +133,7 @@ void cRoot::Start(std::unique_ptr<cSettingsRepositoryInterface> overridesRepo)
LOG("Reading server config...");
- auto IniFile = make_unique<cIniFile>();
+ auto IniFile = cpp14::make_unique<cIniFile>();
if (!IniFile->ReadFile("settings.ini"))
{
LOGWARN("Regenerating settings.ini, all settings will be reset");
@@ -141,7 +141,7 @@ void cRoot::Start(std::unique_ptr<cSettingsRepositoryInterface> overridesRepo)
IniFile->AddHeaderComment(" Most of the settings here can be configured using the webadmin interface, if enabled in webadmin.ini");
IniFile->AddHeaderComment(" See: http://wiki.mc-server.org/doku.php?id=configure:settings.ini for further configuration help");
}
- auto settingsRepo = make_unique<cOverridesSettingsRepository>(std::move(IniFile), std::move(overridesRepo));
+ auto settingsRepo = cpp14::make_unique<cOverridesSettingsRepository>(std::move(IniFile), std::move(overridesRepo));
LOG("Starting server...");
m_MojangAPI = new cMojangAPI;
diff --git a/src/World.cpp b/src/World.cpp
index c0a79b9d0..eb8835467 100644
--- a/src/World.cpp
+++ b/src/World.cpp
@@ -621,18 +621,18 @@ void cWorld::Start(void)
InitialiseAndLoadMobSpawningValues(IniFile);
SetTimeOfDay(IniFile.GetValueSetI("General", "TimeInTicks", GetTimeOfDay()));
- m_ChunkMap = make_unique<cChunkMap>(this);
+ m_ChunkMap = cpp14::make_unique<cChunkMap>(this);
// preallocate some memory for ticking blocks so we don't need to allocate that often
m_BlockTickQueue.reserve(1000);
m_BlockTickQueueCopy.reserve(1000);
// Simulators:
- m_SimulatorManager = make_unique<cSimulatorManager>(*this);
+ m_SimulatorManager = cpp14::make_unique<cSimulatorManager>(*this);
m_WaterSimulator = InitializeFluidSimulator(IniFile, "Water", E_BLOCK_WATER, E_BLOCK_STATIONARY_WATER);
m_LavaSimulator = InitializeFluidSimulator(IniFile, "Lava", E_BLOCK_LAVA, E_BLOCK_STATIONARY_LAVA);
- m_SandSimulator = make_unique<cSandSimulator>(*this, IniFile);
- m_FireSimulator = make_unique<cFireSimulator>(*this, IniFile);
+ m_SandSimulator = cpp14::make_unique<cSandSimulator>(*this, IniFile);
+ m_FireSimulator = cpp14::make_unique<cFireSimulator>(*this, IniFile);
m_RedstoneSimulator = InitializeRedstoneSimulator(IniFile);
// Water, Lava and Redstone simulators get registered in their initialize function.
@@ -2680,7 +2680,7 @@ void cWorld::UnloadUnusedChunks(void)
void cWorld::QueueUnloadUnusedChunks(void)
{
- QueueTask(make_unique<cWorld::cTaskUnloadUnusedChunks>());
+ QueueTask(cpp14::make_unique<cWorld::cTaskUnloadUnusedChunks>());
}
diff --git a/src/main.cpp b/src/main.cpp
index d37ff0b32..9f57ad6bd 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -376,7 +376,7 @@ std::unique_ptr<cMemorySettingsRepository> parseArguments(int argc, char **argv)
int slots = slotsArg.getValue();
- auto repo = make_unique<cMemorySettingsRepository>();
+ auto repo = cpp14::make_unique<cMemorySettingsRepository>();
repo->SetValueI("Server", "MaxPlayers", slots);