diff options
Diffstat (limited to 'include/cru/common')
-rw-r--r-- | include/cru/common/ClonablePtr.hpp | 7 | ||||
-rw-r--r-- | include/cru/common/Event.hpp | 4 |
2 files changed, 7 insertions, 4 deletions
diff --git a/include/cru/common/ClonablePtr.hpp b/include/cru/common/ClonablePtr.hpp index 47a1d3bd..5e4b80c9 100644 --- a/include/cru/common/ClonablePtr.hpp +++ b/include/cru/common/ClonablePtr.hpp @@ -8,13 +8,16 @@ namespace cru { template <typename TClonable> class ClonablePtr { + template <typename T> + friend class ClonablePtr; + public: using element_type = typename std::unique_ptr<TClonable>::element_type; using pointer = typename std::unique_ptr<TClonable>::pointer; ClonablePtr() = default; ClonablePtr(std::nullptr_t) noexcept : ptr_(nullptr) {} - ClonablePtr(pointer p) noexcept : ptr_(p) {} + explicit ClonablePtr(pointer p) noexcept : ptr_(p) {} ClonablePtr(std::unique_ptr<element_type>&& p) noexcept : ptr_(std::move(p)) {} template <typename O, @@ -52,7 +55,7 @@ class ClonablePtr { } ClonablePtr& operator=(const ClonablePtr& other) { if (this != &other) { - ptr_ = std::unique_ptr<element_type>(other.ptr->Clone()); + ptr_ = std::unique_ptr<element_type>(other.ptr_->Clone()); } return *this; } diff --git a/include/cru/common/Event.hpp b/include/cru/common/Event.hpp index 59502527..7f7b4dd4 100644 --- a/include/cru/common/Event.hpp +++ b/include/cru/common/Event.hpp @@ -98,7 +98,7 @@ struct IBaseEvent { using SpyOnlyHandler = std::function<void()>; public: - virtual EventRevoker AddHandler(SpyOnlyHandler handler) = 0; + virtual EventRevoker AddSpyOnlyHandler(SpyOnlyHandler handler) = 0; }; // Provides an interface of event. @@ -147,7 +147,7 @@ class Event : public details::EventBase, public IEvent<TEventArgs> { CRU_DEFAULT_MOVE(Event) ~Event() = default; - EventRevoker AddHandler(SpyOnlyHandler handler) override { + EventRevoker AddSpyOnlyHandler(SpyOnlyHandler handler) override { const auto token = current_token_++; this->handler_data_list_.emplace_back(token, std::move(handler)); return CreateRevoker(token); |