2
0
mirror of https://github.com/Laupetin/OpenAssetTools.git synced 2026-05-01 16:09:36 +00:00

refactor: use std::expected instead of custom implementation

This commit is contained in:
Jan Laupetin
2026-04-04 14:47:10 +02:00
parent bd6f42dc54
commit 4242c4a325
9 changed files with 124 additions and 308 deletions
+5 -5
View File
@@ -50,11 +50,11 @@ void FastFileContext::Destroy()
m_loaded_zones.clear();
}
result::Expected<LoadedZone*, std::string> FastFileContext::LoadFastFile(const std::string& path)
std::expected<LoadedZone*, std::string> FastFileContext::LoadFastFile(const std::string& path)
{
auto zone = ZoneLoading::LoadZone(path, std::make_unique<LoadingEventProgressReporter>(fs::path(path).filename().replace_extension().string()));
if (!zone)
return result::Unexpected(std::move(zone.error()));
return std::unexpected(std::move(zone.error()));
auto loadedZone = std::make_unique<LoadedZone>(std::move(*zone), path);
@@ -69,7 +69,7 @@ result::Expected<LoadedZone*, std::string> FastFileContext::LoadFastFile(const s
return result;
}
result::Expected<NoResult, std::string> FastFileContext::UnloadZone(const std::string& zoneName)
std::expected<void, std::string> FastFileContext::UnloadZone(const std::string& zoneName)
{
{
std::lock_guard lock(m_zone_lock);
@@ -83,9 +83,9 @@ result::Expected<NoResult, std::string> FastFileContext::UnloadZone(const std::s
{
m_loaded_zones.erase(existingZone);
ui::NotifyZoneUnloaded(zoneName);
return NoResult();
return {};
}
}
return result::Unexpected(std::format("No zone with name {} loaded", zoneName));
return std::unexpected(std::format("No zone with name {} loaded", zoneName));
}
+3 -3
View File
@@ -1,8 +1,8 @@
#pragma once
#include "Utils/Result.h"
#include "Zone/Zone.h"
#include <expected>
#include <memory>
#include <shared_mutex>
#include <vector>
@@ -21,8 +21,8 @@ class FastFileContext
public:
void Destroy();
result::Expected<LoadedZone*, std::string> LoadFastFile(const std::string& path);
result::Expected<NoResult, std::string> UnloadZone(const std::string& zoneName);
std::expected<LoadedZone*, std::string> LoadFastFile(const std::string& path);
std::expected<void, std::string> UnloadZone(const std::string& zoneName);
std::vector<std::unique_ptr<LoadedZone>> m_loaded_zones;
std::shared_mutex m_zone_lock;