summaryrefslogtreecommitdiffhomepage
path: root/serialize
diff options
context:
space:
mode:
authorStanislaw Halik <sthalik@misaki.pl>2022-10-07 10:10:01 +0200
committerStanislaw Halik <sthalik@misaki.pl>2022-10-07 10:10:01 +0200
commit7740c71ecedd90f9b465dc35994e64915dbda826 (patch)
tree787b64948b03e64bbb6a655297889e757012354a /serialize
parent853049b279fa5adb3522bba671188247a1bc7141 (diff)
a
Diffstat (limited to 'serialize')
-rw-r--r--serialize/json-helper.hpp2
-rw-r--r--serialize/magnum-vector.hpp7
-rw-r--r--serialize/magnum-vector2i.hpp4
3 files changed, 8 insertions, 5 deletions
diff --git a/serialize/json-helper.hpp b/serialize/json-helper.hpp
index 6be7f74c..b8e290b7 100644
--- a/serialize/json-helper.hpp
+++ b/serialize/json-helper.hpp
@@ -9,7 +9,7 @@
struct json_helper final {
template<typename t>
[[nodiscard]]
- static std::tuple<t, bool> from_json(const std::filesystem::path& pathname);
+ static std::tuple<t, bool> from_json(const std::filesystem::path& pathname);
template<typename t>
[[nodiscard]]
diff --git a/serialize/magnum-vector.hpp b/serialize/magnum-vector.hpp
index 8ea5e13a..61e127b1 100644
--- a/serialize/magnum-vector.hpp
+++ b/serialize/magnum-vector.hpp
@@ -22,13 +22,16 @@ void adl_serializer<Magnum::Math::Vector<N, T>>::to_json(json& j, const vec& val
std::array<T, N> array{};
for (std::size_t i = 0; i < N; i++)
array[i] = val[i];
- j = array;
+ using nlohmann::to_json;
+ to_json(j, array);
}
template <std::size_t N, typename T>
void adl_serializer<Magnum::Math::Vector<N, T>>::from_json(const json& j, vec& val)
{
- std::array<T, N> array = j;
+ std::array<T, N> array{};
+ using nlohmann::from_json;
+ from_json(j, array);
for (std::size_t i = 0; i < N; i++)
val[i] = array[i];
}
diff --git a/serialize/magnum-vector2i.hpp b/serialize/magnum-vector2i.hpp
index eb445e21..c8c52e7e 100644
--- a/serialize/magnum-vector2i.hpp
+++ b/serialize/magnum-vector2i.hpp
@@ -27,12 +27,12 @@ struct adl_serializer<Magnum::Math::Vector2<t>> final {
type x = 0, y = 0;
int n = 0;
int ret = std::sscanf(str.c_str(), format_string, &x, &y, &n);
- if (ret != 2 || (std::size_t)n != str.size() || x != (type)x || y != (type)y)
+ if (ret != 2 || (std::size_t)n != str.size() || x != (t)x || y != (t)y)
{
std::string msg; msg.reserve(128);
msg += "failed to parse string '";
msg += str;
- msg += "' as Magnum::Vector2i";
+ msg += "' as Magnum::Vector2";
throw std::invalid_argument(msg);
}
val = { (t)x, (t)y };