From 032bcd9fbe280fbf56850fbc1090fa14ecbf6bf1 Mon Sep 17 00:00:00 2001 From: Michele Caini Date: Thu, 18 Jun 2020 14:47:41 +0200 Subject: [PATCH] meta: minor changes --- src/entt/meta/internal.hpp | 5 ----- src/entt/meta/meta.hpp | 37 +++++++++++-------------------------- 2 files changed, 11 insertions(+), 31 deletions(-) diff --git a/src/entt/meta/internal.hpp b/src/entt/meta/internal.hpp index e7c542f4d..40bf87b96 100644 --- a/src/entt/meta/internal.hpp +++ b/src/entt/meta/internal.hpp @@ -135,11 +135,6 @@ public: } } - template - meta_storage & operator=(Type &&value) { - return (*this = meta_storage{std::forward(value)}); - } - meta_storage & operator=(meta_storage other) { swap(other, *this); return *this; diff --git a/src/entt/meta/meta.hpp b/src/entt/meta/meta.hpp index a600d0e0b..a3b2f2c42 100644 --- a/src/entt/meta/meta.hpp +++ b/src/entt/meta/meta.hpp @@ -31,13 +31,13 @@ class meta_container { struct meta_iterator; struct meta_view { - [[nodiscard]] virtual std::size_t size(void *) const ENTT_NOEXCEPT = 0; + [[nodiscard]] virtual std::size_t size(const void *) const ENTT_NOEXCEPT = 0; [[nodiscard]] virtual bool insert(void *, meta_any, meta_any) = 0; [[nodiscard]] virtual bool erase(void *, meta_any) = 0; [[nodiscard]] virtual meta_any begin(void *) const ENTT_NOEXCEPT = 0; [[nodiscard]] virtual meta_any end(void *) const ENTT_NOEXCEPT = 0; [[nodiscard]] virtual meta_any find(void *, meta_any) const ENTT_NOEXCEPT = 0; - [[nodiscard]] virtual meta_any value(meta_any) const ENTT_NOEXCEPT = 0; + [[nodiscard]] virtual meta_any dereference(meta_any) const ENTT_NOEXCEPT = 0; virtual void incr(meta_any) const ENTT_NOEXCEPT = 0; }; @@ -93,8 +93,8 @@ class meta_any { return &common; } - [[nodiscard]] std::size_t size(void *container) const ENTT_NOEXCEPT override { - return static_cast(container)->size(); + [[nodiscard]] std::size_t size(const void *container) const ENTT_NOEXCEPT override { + return static_cast(container)->size(); } [[nodiscard]] bool insert(void *container, meta_any it, meta_any value) override { @@ -133,7 +133,7 @@ class meta_any { return static_cast(container)->end(); } - [[nodiscard]] meta_any value(meta_any it) const ENTT_NOEXCEPT override { + [[nodiscard]] meta_any dereference(meta_any it) const ENTT_NOEXCEPT override { return std::ref(*it.cast()); } @@ -159,8 +159,8 @@ class meta_any { return &common; } - [[nodiscard]] std::size_t size(void *container) const ENTT_NOEXCEPT override { - return static_cast(container)->size(); + [[nodiscard]] std::size_t size(const void *container) const ENTT_NOEXCEPT override { + return static_cast(container)->size(); } [[nodiscard]] bool insert(void *container, meta_any key, meta_any value) override { @@ -202,7 +202,7 @@ class meta_any { return static_cast(container)->end(); } - [[nodiscard]] meta_any value(meta_any it) const ENTT_NOEXCEPT override { + [[nodiscard]] meta_any dereference(meta_any it) const ENTT_NOEXCEPT override { if constexpr(is_key_only_associative_container_v) { return *it.cast(); } else { @@ -279,11 +279,7 @@ public: * @brief Copy constructor. * @param other The instance to copy from. */ - meta_any(const meta_any &other) - : storage{other.storage}, - node{other.node}, - cview{other.cview} - {} + meta_any(const meta_any &other) = default; /** * @brief Move constructor. @@ -302,17 +298,6 @@ public: } } - /** - * @brief Assignment operator. - * @tparam Type Type of object to use to initialize the wrapper. - * @param value An instance of an object to use to initialize the wrapper. - * @return This meta any object. - */ - template - meta_any & operator=(Type &&value) { - return (*this = meta_any{std::forward(value)}); - } - /** * @brief Assignment operator. * @param other The instance to assign from. @@ -443,7 +428,7 @@ public: */ template void emplace(Args &&... args) { - *this = meta_any{std::in_place_type_t{}, std::forward(args)...}; + *this = meta_any{std::in_place_type, std::forward(args)...}; } /** @@ -582,7 +567,7 @@ struct meta_container::meta_iterator { * @return The element to which the meta pointer points. */ [[nodiscard]] reference operator*() const { - return view->value(handle()); + return view->dereference(handle()); } /**