ShaderNode: Add save/load

This commit is contained in:
Lynix
2020-06-04 18:31:35 +02:00
parent 5790b502f7
commit 0888589716
17 changed files with 358 additions and 12 deletions

View File

@@ -1 +1,15 @@
#include <ShaderNode/Enums.hpp>
template<typename T>
std::optional<T> DecodeEnum(const std::string_view& str)
{
constexpr std::size_t ValueCount = static_cast<std::size_t>(T::Max) + 1;
for (std::size_t i = 0; i < ValueCount; ++i)
{
T value = static_cast<T>(i);
if (str == EnumToString(value))
return value;
}
return {};
}