aboutsummaryrefslogtreecommitdiff
path: root/include/cru/common
diff options
context:
space:
mode:
Diffstat (limited to 'include/cru/common')
-rw-r--r--include/cru/common/ClonablePtr.hpp7
-rw-r--r--include/cru/common/Event.hpp4
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);