aboutsummaryrefslogtreecommitdiff
path: root/src/common/Collision/Maps/MapTree.cpp
diff options
context:
space:
mode:
authorShauren <shauren.trinity@gmail.com>2024-10-01 21:03:44 +0200
committerShauren <shauren.trinity@gmail.com>2024-10-01 21:03:44 +0200
commitb13b5142f1009a71ff06786ac8c8db92891f566a (patch)
treeda6b6ab4b0b47e5ac9b219507c9049c4b59d798b /src/common/Collision/Maps/MapTree.cpp
parent0d496b14d54d723090ea36760ee0e8d47e53891c (diff)
Core/Utilities: Extend make_unique_ptr_with_deleter functionality to allow it to create deleters with compile time constant functions (reduces its size to just sizeof(void*))
Diffstat (limited to 'src/common/Collision/Maps/MapTree.cpp')
-rw-r--r--src/common/Collision/Maps/MapTree.cpp10
1 files changed, 5 insertions, 5 deletions
diff --git a/src/common/Collision/Maps/MapTree.cpp b/src/common/Collision/Maps/MapTree.cpp
index bde07b30065..d828326806c 100644
--- a/src/common/Collision/Maps/MapTree.cpp
+++ b/src/common/Collision/Maps/MapTree.cpp
@@ -196,11 +196,11 @@ namespace VMAP
struct TileFileOpenResult
{
- using FileHandle = decltype(Trinity::make_unique_ptr_with_deleter<FILE>(nullptr, &::fclose));
+ using FileDeleter = decltype(Trinity::unique_ptr_deleter<FILE*, &::fclose>());
std::string Name;
- FileHandle TileFile = { nullptr, &::fclose };
- FileHandle SpawnIndicesFile = { nullptr, &::fclose };
+ std::unique_ptr<FILE, FileDeleter> TileFile;
+ std::unique_ptr<FILE, FileDeleter> SpawnIndicesFile;
int32 UsedMapId;
explicit operator bool() const { return TileFile && SpawnIndicesFile; }
@@ -239,7 +239,7 @@ namespace VMAP
basePath.push_back('/');
std::string fullname = basePath + VMapManager2::getMapFileName(mapID);
- auto rf = Trinity::make_unique_ptr_with_deleter(fopen(fullname.c_str(), "rb"), &::fclose);
+ auto rf = Trinity::make_unique_ptr_with_deleter<&::fclose>(fopen(fullname.c_str(), "rb"));
if (!rf)
return LoadResult::FileNotFound;
@@ -263,7 +263,7 @@ namespace VMAP
{
TC_LOG_DEBUG("maps", "StaticMapTree::InitMap() : initializing StaticMapTree '{}'", fname);
std::string fullname = iBasePath + fname;
- auto rf = Trinity::make_unique_ptr_with_deleter(fopen(fullname.c_str(), "rb"), &::fclose);
+ auto rf = Trinity::make_unique_ptr_with_deleter<&::fclose>(fopen(fullname.c_str(), "rb"));
if (!rf)
return LoadResult::FileNotFound;