From 5ca3a7c2e76bc91356aaa1c6bc3d12bb2a3c6e9c Mon Sep 17 00:00:00 2001 From: Tiger Wang Date: Mon, 8 Mar 2021 16:39:43 +0000 Subject: shared_ptr -> unique_ptr in generators --- src/Generating/ShapeGen.cpp | 26 +++++++++++--------------- 1 file changed, 11 insertions(+), 15 deletions(-) (limited to 'src/Generating/ShapeGen.cpp') diff --git a/src/Generating/ShapeGen.cpp b/src/Generating/ShapeGen.cpp index 1efbf1010..f46c0c8e9 100644 --- a/src/Generating/ShapeGen.cpp +++ b/src/Generating/ShapeGen.cpp @@ -23,7 +23,7 @@ class cTerrainHeightToShapeGen: public cTerrainShapeGen { public: - cTerrainHeightToShapeGen(cTerrainHeightGenPtr a_HeightGen): + cTerrainHeightToShapeGen(std::unique_ptr a_HeightGen): m_HeightGen(std::move(a_HeightGen)) { } @@ -63,7 +63,7 @@ public: protected: /** The height generator being converted. */ - cTerrainHeightGenPtr m_HeightGen; + std::unique_ptr m_HeightGen; }; typedef std::shared_ptr cTerrainHeightToShapeGenPtr; @@ -75,9 +75,9 @@ typedef std::shared_ptr cTerrainHeightToShapeGenPtr; //////////////////////////////////////////////////////////////////////////////// // cTerrainShapeGen: -cTerrainShapeGenPtr cTerrainShapeGen::CreateShapeGen( +std::unique_ptr cTerrainShapeGen::CreateShapeGen( cIniFile & a_IniFile, - const cBiomeGenPtr & a_BiomeGen, + cBiomeGen & a_BiomeGen, int a_Seed, bool & a_CacheOffByDefault ) @@ -92,10 +92,10 @@ cTerrainShapeGenPtr cTerrainShapeGen::CreateShapeGen( // If the shapegen is HeightMap, redirect to older HeightMap-based generators: if (NoCaseCompare(shapeGenName, "HeightMap") == 0) { - cTerrainHeightGenPtr heightGen = cTerrainHeightGen::CreateHeightGen(a_IniFile, a_BiomeGen, a_Seed, a_CacheOffByDefault); + auto heightGen = cTerrainHeightGen::CreateHeightGen(a_IniFile, a_BiomeGen, a_Seed, a_CacheOffByDefault); if (heightGen != nullptr) { - return std::make_shared(heightGen); + return std::make_unique(std::move(heightGen)); } // The height gen was not recognized; several heightgens were promoted to shape gens, so let's try them instead: @@ -110,22 +110,22 @@ cTerrainShapeGenPtr cTerrainShapeGen::CreateShapeGen( // Choose the shape generator based on the name: a_CacheOffByDefault = false; - cTerrainShapeGenPtr res; + std::unique_ptr res; if (NoCaseCompare(shapeGenName, "DistortedHeightmap") == 0) { - res = std::make_shared(a_Seed, a_BiomeGen); + res = std::make_unique(a_Seed, a_BiomeGen); } else if (NoCaseCompare(shapeGenName, "End") == 0) { - res = std::make_shared(a_Seed); + res = std::make_unique(a_Seed); } else if (NoCaseCompare(shapeGenName, "BiomalNoise3D") == 0) { - res = std::make_shared(a_Seed, a_BiomeGen); + res = std::make_unique(a_Seed, a_BiomeGen); } else if (NoCaseCompare(shapeGenName, "Noise3D") == 0) { - res = std::make_shared(a_Seed); + res = std::make_unique(a_Seed); } else if (NoCaseCompare(shapeGenName, "TwoHeights") == 0) { @@ -144,7 +144,3 @@ cTerrainShapeGenPtr cTerrainShapeGen::CreateShapeGen( return res; } - - - - -- cgit v1.2.3