From 38b5c32b1037602068285dc3ad906cc7b94cdcb4 Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Sat, 3 Dec 2022 08:18:55 +0100 Subject: kill compat/optional --- compat/optional.hpp | 25 ------------------------- editor/app.hpp | 2 +- editor/camera.cpp | 4 ++-- editor/draw.cpp | 4 ++-- editor/editor.hpp | 2 +- src/precomp.hpp | 1 - 6 files changed, 6 insertions(+), 32 deletions(-) delete mode 100644 compat/optional.hpp diff --git a/compat/optional.hpp b/compat/optional.hpp deleted file mode 100644 index 6f8a1a89..00000000 --- a/compat/optional.hpp +++ /dev/null @@ -1,25 +0,0 @@ -#pragma once -#include -#include - -namespace std { -template struct tuple_size> : std::integral_constant {}; -template struct tuple_element<0, Corrade::Containers::Optional> { using type = T; }; -template struct tuple_element<1, Corrade::Containers::Optional> { using type = bool; }; -} // namespace std - -namespace Corrade::Containers { - -template -std::tuple_element_t> -get(const Optional& value) noexcept(std::is_nothrow_default_constructible_v && std::is_nothrow_copy_constructible_v) -{ - static_assert(N < 2); - static_assert(std::is_default_constructible_v && std::is_copy_constructible_v); - if constexpr (N == 0) - return value ? *value : T{}; - if constexpr (N == 1) - return bool(value); -} - -} // namespace Corrade::Containers diff --git a/editor/app.hpp b/editor/app.hpp index 25391d62..8d4f0736 100644 --- a/editor/app.hpp +++ b/editor/app.hpp @@ -13,7 +13,7 @@ #include #include -#include "compat/optional.hpp" +#include #include namespace floormat { diff --git a/editor/camera.cpp b/editor/camera.cpp index d7fc8695..2df3dd20 100644 --- a/editor/camera.cpp +++ b/editor/camera.cpp @@ -59,8 +59,8 @@ void app::reset_camera_offset() void app::update_cursor_tile(const Optional& pixel) { cursor.pixel = pixel; - if (const auto [p, b] = pixel; b) - cursor.tile = M->pixel_to_tile(Vector2d{p}); + if (pixel) + cursor.tile = M->pixel_to_tile(Vector2d{*pixel}); else cursor.tile = NullOpt; } diff --git a/editor/draw.cpp b/editor/draw.cpp index 339e0f6c..275d99fc 100644 --- a/editor/draw.cpp +++ b/editor/draw.cpp @@ -18,9 +18,9 @@ void app::draw_cursor() shader.set_tint({1, 0, 0, 1}); const auto inactive_color = 0xff00ffff_rgbaf; - if (const auto [pos, b] = cursor.tile; b && !cursor.in_imgui) + if (cursor.tile && !cursor.in_imgui) { - const auto draw = [&, pos = pos](auto& mesh, const auto& size) { + const auto draw = [&, pos = *cursor.tile](auto& mesh, const auto& size) { const auto pt = pos.to_signed(); const Vector3 center{Vector3i(pt[0], pt[1], 0) * iTILE_SIZE}; mesh.draw(shader, {center, size, LINE_WIDTH}); diff --git a/editor/editor.hpp b/editor/editor.hpp index eac544ad..d9d4d386 100644 --- a/editor/editor.hpp +++ b/editor/editor.hpp @@ -9,7 +9,7 @@ #include #include -#include "compat/optional.hpp" +#include #include namespace floormat { diff --git a/src/precomp.hpp b/src/precomp.hpp index 4808d6a2..75c4f191 100644 --- a/src/precomp.hpp +++ b/src/precomp.hpp @@ -34,7 +34,6 @@ #include #include #include -#include "compat/optional.hpp" #include #include #include -- cgit v1.2.3