Files
Commonwealth-Online-Public/plugin/lib/commonlibf4/include/RE/B/BSShaderTechniqueIDMap.h
T
2026-05-30 18:33:24 +12:00

36 lines
633 B
C++

#pragma once
#include "RE/B/BSTHashMap.h"
namespace RE
{
namespace BSShaderTechniqueIDMap
{
template <class T>
class HashPolicy
{
public:
[[nodiscard]] std::uint32_t operator()(const T a_shader) const noexcept
{
assert(a_shader != nullptr);
return a_shader->id;
}
};
template <class T>
class ComparePolicy
{
public:
[[nodiscard]] bool operator()(const T a_lhs, const T a_rhs) const noexcept
{
assert(a_lhs != nullptr);
assert(a_rhs != nullptr);
return a_lhs->id == a_rhs->id;
}
};
template <class T>
using MapType = BSTSet<T, HashPolicy<T>, ComparePolicy<T>>;
}
}