diff --git a/source/mijin/container/map_view.hpp b/source/mijin/container/map_view.hpp index a70afc0..f85a25c 100644 --- a/source/mijin/container/map_view.hpp +++ b/source/mijin/container/map_view.hpp @@ -81,6 +81,9 @@ public: template MapView(TMap& map) -> MapView; +template +MapView(const TMap& map) -> MapView; + // // public functions // diff --git a/source/mijin/types/script_value.hpp b/source/mijin/types/script_value.hpp index af6db39..d0d5efa 100644 --- a/source/mijin/types/script_value.hpp +++ b/source/mijin/types/script_value.hpp @@ -324,10 +324,10 @@ public: return std::get(base_).values; } - MapView mapView() const MIJIN_NOEXCEPT + auto mapView() const MIJIN_NOEXCEPT { MIJIN_ASSERT_FATAL(isMap(), "Called iterateMap() on a non-map value."); - return std::get(base_).values; + return MapView(std::get(base_).values); } };