diff --git a/docs/html/_delegate_8h_source.html b/docs/html/_delegate_8h_source.html
index 96dc624..31d139e 100644
--- a/docs/html/_delegate_8h_source.html
+++ b/docs/html/_delegate_8h_source.html
@@ -632,7 +632,7 @@
-
Delegate container for storing and iterating over a collection of delegate instances. Class is not thread safe.
+
Delegate container for storing and iterating over a collection of delegate instances. Class is not thread-safe.
More...
#include "Delegate.h"
#include <list>
@@ -125,7 +125,7 @@
|
-
Delegate container for storing and iterating over a collection of delegate instances. Class is not thread safe.
+
Delegate container for storing and iterating over a collection of delegate instances. Class is not thread-safe.
diff --git a/docs/html/_multicast_delegate_8h_source.html b/docs/html/_multicast_delegate_8h_source.html
index 1bed6e9..6b2ab67 100644
--- a/docs/html/_multicast_delegate_8h_source.html
+++ b/docs/html/_multicast_delegate_8h_source.html
@@ -123,124 +123,139 @@
-
-
-
36 for (
auto delegate : rhs.m_delegates) {
-
37 auto delegateClone = delegate->Clone();
-
38 std::shared_ptr<DelegateType> sharedDelegate(delegateClone);
-
39 m_delegates.push_back(sharedDelegate);
-
-
+
+
+
+
+
+
+
45 for (
auto delegate : m_delegates)
+
+
-
-
-
-
-
-
51 for (
auto delegate : m_delegates)
-
-
+
+
-
-
-
-
58 auto delegateClone = delegate.
Clone();
-
59 std::shared_ptr<DelegateType> sharedDelegate(delegateClone);
-
60 m_delegates.push_back(sharedDelegate);
-
-
-
-
-
-
66 auto delegateClone = delegate.Clone();
-
67 std::shared_ptr<DelegateType> sharedDelegate(delegateClone);
-
68 m_delegates.push_back(std::move(sharedDelegate));
-
-
-
-
-
-
74 for (
auto it = m_delegates.begin(); it != m_delegates.end(); ++it) {
-
75 if (delegate == **it) {
-
76 m_delegates.erase(it);
-
-
+
+
+
+
+
+
+
+
+
+
-
-
-
-
85 for (
auto it = m_delegates.begin(); it != m_delegates.end(); ++it) {
-
86 if (delegate == **it) {
-
87 m_delegates.erase(it);
-
-
+
+
+
+
+
88 m_delegates = rhs.m_delegates;
+
-
+
+
-
-
-
-
-
-
99 for (
auto delegate : rhs.m_delegates) {
-
100 auto delegateClone = delegate->Clone();
-
101 std::shared_ptr<DelegateType> sharedDelegate(delegateClone);
-
102 m_delegates.push_back(sharedDelegate);
-
-
-
-
+
+
95 virtual void operator=(std::nullptr_t)
noexcept { Clear(); }
+
+
+
+
100 auto delegateClone = delegate.
Clone();
+
+
+
+
+
105 std::shared_ptr<DelegateType> sharedDelegate(delegateClone);
+
106 m_delegates.push_back(std::forward<std::shared_ptr<DelegateType>>(sharedDelegate));
+
+
+
+
+
-
-
-
-
-
113 m_delegates = rhs.m_delegates;
-
-
-
-
-
-
-
120 virtual void operator=(std::nullptr_t)
noexcept { Clear(); }
+
+
+
+
+
117 auto it = std::find_if(m_delegates.begin(), m_delegates.end(),
+
118 [&delegate](
const std::shared_ptr<DelegateType>& item) {
+
119 return *item == delegate;
+
-
124 bool Empty()
const {
return m_delegates.empty(); }
-
-
127 void Clear() { m_delegates.clear(); }
-
-
131 std::size_t
Size()
const {
return m_delegates.size(); }
-
-
135 explicit operator bool()
const {
return !Empty(); }
-
-
-
-
+
+
123 if (it != m_delegates.end()) {
+
124 m_delegates.erase(it);
+
+
+
+
+
130 bool Empty()
const {
return m_delegates.empty(); }
+
+
133 void Clear() { m_delegates.clear(); }
+
+
137 std::size_t
Size()
const {
return m_delegates.size(); }
+
+
141 explicit operator bool()
const {
return !Empty(); }
+
+
+
+
147 for (
auto delegate : other.m_delegates) {
+
148 auto delegateClone = delegate->Clone();
+
+
+
+
+
153 std::shared_ptr<DelegateType> sharedDelegate(delegateClone);
+
154 m_delegates.push_back(sharedDelegate);
+
+
+
+
+
+
+
+
+
-
-
-
-
+
+
+
+
Delegate series of classes are used to invoke a function synchronously.
std::list< T, Alloc > xlist
Definition DelegateOpt.h:33
+
#define BAD_ALLOC()
Definition DelegateOpt.h:18
Template base class for all delegates.
Definition Delegate.h:77
virtual Delegate * Clone() const =0
Clone an instance of a Delegate instance.
-
void operator-=(const DelegateType &delegate)
Definition MulticastDelegate.h:73
-
void operator-=(DelegateType &&delegate)
Definition MulticastDelegate.h:84
+
void Remove(const DelegateType &delegate)
Definition MulticastDelegate.h:115
+
void Broadcast(Args... args)
Definition MulticastDelegate.h:52
+
void operator-=(const DelegateType &delegate)
Definition MulticastDelegate.h:66
+
void operator-=(DelegateType &&delegate)
Definition MulticastDelegate.h:70
~MulticastDelegate()
Definition MulticastDelegate.h:28
-
void operator()(Args... args)
Definition MulticastDelegate.h:50
-
void operator+=(const DelegateType &delegate)
Definition MulticastDelegate.h:57
+
void operator()(Args... args)
Definition MulticastDelegate.h:44
+
void operator+=(const DelegateType &delegate)
Definition MulticastDelegate.h:58
MulticastDelegate(const MulticastDelegate &rhs)
Copy constructor that creates a copy of the given instance.
Definition MulticastDelegate.h:35
MulticastDelegate()=default
-
std::size_t Size() const
Definition MulticastDelegate.h:131
-
virtual void operator=(std::nullptr_t) noexcept
Clear the all target functions.
Definition MulticastDelegate.h:120
-
MulticastDelegate(MulticastDelegate &&rhs) noexcept
Move constructor that transfers ownership of resources.
Definition MulticastDelegate.h:45
-
void operator+=(const DelegateType &&delegate)
Definition MulticastDelegate.h:65
-
MulticastDelegate & operator=(const MulticastDelegate &rhs)
Assignment operator that assigns the state of one object to another.
Definition MulticastDelegate.h:96
-
void Clear()
Removal all registered delegates.
Definition MulticastDelegate.h:127
-
MulticastDelegate & operator=(MulticastDelegate &&rhs) noexcept
Move assignment operator that transfers ownership of resources.
Definition MulticastDelegate.h:111
-
bool Empty() const
Definition MulticastDelegate.h:124
+
std::size_t Size() const
Definition MulticastDelegate.h:137
+
virtual void operator=(std::nullptr_t) noexcept
Clear the all target functions.
Definition MulticastDelegate.h:95
+
MulticastDelegate(MulticastDelegate &&rhs) noexcept
Move constructor that transfers ownership of resources.
Definition MulticastDelegate.h:39
+
MulticastDelegate & operator=(const MulticastDelegate &rhs)
Assignment operator that assigns the state of one object to another.
Definition MulticastDelegate.h:75
+
void Clear()
Removal all registered delegates.
Definition MulticastDelegate.h:133
+
MulticastDelegate & operator=(MulticastDelegate &&rhs) noexcept
Move assignment operator that transfers ownership of resources.
Definition MulticastDelegate.h:86
+
void PushBack(const DelegateType &delegate)
Definition MulticastDelegate.h:99
+
void operator+=(DelegateType &&delegate)
Definition MulticastDelegate.h:62
+
bool Empty() const
Definition MulticastDelegate.h:130
Definition MulticastDelegate.h:16
diff --git a/docs/html/_multicast_delegate_safe_8h_source.html b/docs/html/_multicast_delegate_safe_8h_source.html
index 45e6f1b..a8a2aa7 100644
--- a/docs/html/_multicast_delegate_safe_8h_source.html
+++ b/docs/html/_multicast_delegate_safe_8h_source.html
@@ -131,111 +131,135 @@
-
-
-
40 const std::lock_guard<std::mutex> lock(m_lock);
-
41 BaseType::operator +=(delegate);
-
-
-
-
-
-
47 const std::lock_guard<std::mutex> lock(m_lock);
-
48 BaseType::operator +=(delegate);
-
-
-
-
-
-
54 const std::lock_guard<std::mutex> lock(m_lock);
-
55 BaseType::operator -=(delegate);
-
-
-
-
-
-
61 const std::lock_guard<std::mutex> lock(m_lock);
-
62 BaseType::operator -=(delegate);
-
-
-
+
+
+
41 const std::lock_guard<std::mutex> lock(m_lock);
+
42 BaseType::Broadcast(args...);
+
+
+
+
+
+
48 const std::lock_guard<std::mutex> lock(m_lock);
+
49 BaseType::operator +=(delegate);
+
+
+
+
+
+
55 const std::lock_guard<std::mutex> lock(m_lock);
+
56 BaseType::operator +=(delegate);
+
+
+
+
+
+
62 const std::lock_guard<std::mutex> lock(m_lock);
+
63 BaseType::operator -=(delegate);
+
+
+
-
+
69 const std::lock_guard<std::mutex> lock(m_lock);
-
70 BaseType::operator=(rhs);
-
-
-
-
-
-
-
78 const std::lock_guard<std::mutex> lock(m_lock);
-
79 BaseType::operator=(std::forward<MulticastDelegateSafe>(rhs));
-
-
-
-
-
-
-
85 const std::lock_guard<std::mutex> lock(m_lock);
-
86 return BaseType::Clear();
-
-
-
-
-
-
92 const std::lock_guard<std::mutex> lock(m_lock);
-
93 return BaseType::Empty();
-
-
-
-
-
-
98 const std::lock_guard<std::mutex> lock(m_lock);
-
-
-
-
-
-
-
105 const std::lock_guard<std::mutex> lock(m_lock);
-
106 return BaseType::Size();
-
-
-
-
-
111 explicit operator bool() {
-
112 const std::lock_guard<std::mutex> lock(m_lock);
-
113 return BaseType::operator bool();
-
-
-
-
-
-
-
-
-
-
-
+
70 BaseType::operator -=(delegate);
+
+
+
+
+
+
77 const std::lock_guard<std::mutex> lock(m_lock);
+
78 BaseType::operator=(rhs);
+
+
+
+
+
+
+
86 const std::lock_guard<std::mutex> lock(m_lock);
+
87 BaseType::operator=(std::forward<MulticastDelegateSafe>(rhs));
+
+
+
+
+
+
+
93 const std::lock_guard<std::mutex> lock(m_lock);
+
94 return BaseType::Clear();
+
+
+
+
+
+
100 const std::lock_guard<std::mutex> lock(m_lock);
+
101 return BaseType::PushBack(delegate);
+
+
+
+
+
+
107 const std::lock_guard<std::mutex> lock(m_lock);
+
108 return BaseType::Remove(delegate);
+
+
+
+
+
+
114 const std::lock_guard<std::mutex> lock(m_lock);
+
115 return BaseType::Empty();
+
+
+
+
+
+
120 const std::lock_guard<std::mutex> lock(m_lock);
+
+
+
+
+
+
+
127 const std::lock_guard<std::mutex> lock(m_lock);
+
128 return BaseType::Size();
+
+
+
+
+
133 explicit operator bool() {
+
134 const std::lock_guard<std::mutex> lock(m_lock);
+
135 return BaseType::operator bool();
+
+
+
+
+
+
+
+
+
+
+
Delegate container for storing and iterating over a collection of delegate instances....
Template base class for all delegates.
Definition Delegate.h:77
Not thread-safe multicast delegate container class. The class has a list of Delegate<> instances....
Definition MulticastDelegate.h:23
void operator()(Args... args)
Definition MulticastDelegateSafe.h:32
MulticastDelegateSafe(MulticastDelegateSafe &&rhs)=delete
MulticastDelegateSafe()=default
-
MulticastDelegateSafe & operator=(MulticastDelegateSafe &&rhs) noexcept
Move assignment operator that transfers ownership of resources.
Definition MulticastDelegateSafe.h:77
-
void operator+=(const Delegate< RetType(Args...)> &delegate)
Definition MulticastDelegateSafe.h:39
+
MulticastDelegateSafe & operator=(MulticastDelegateSafe &&rhs) noexcept
Move assignment operator that transfers ownership of resources.
Definition MulticastDelegateSafe.h:85
+
void operator-=(Delegate< RetType(Args...)> &&delegate)
Definition MulticastDelegateSafe.h:68
+
void Remove(const DelegateType &delegate)
Definition MulticastDelegateSafe.h:106
+
void Broadcast(Args... args)
Definition MulticastDelegateSafe.h:40
+
void operator+=(const Delegate< RetType(Args...)> &delegate)
Definition MulticastDelegateSafe.h:47
~MulticastDelegateSafe()=default
-
void operator-=(const Delegate< RetType(Args...)> &delegate)
Definition MulticastDelegateSafe.h:53
-
MulticastDelegateSafe & operator=(const MulticastDelegateSafe &rhs)
Assignment operator that assigns the state of one object to another.
Definition MulticastDelegateSafe.h:68
-
void Clear()
Removal all registered delegates.
Definition MulticastDelegateSafe.h:97
+
void operator-=(const Delegate< RetType(Args...)> &delegate)
Definition MulticastDelegateSafe.h:61
+
MulticastDelegateSafe & operator=(const MulticastDelegateSafe &rhs)
Assignment operator that assigns the state of one object to another.
Definition MulticastDelegateSafe.h:76
+
void Clear()
Removal all registered delegates.
Definition MulticastDelegateSafe.h:119
MulticastDelegateSafe(const MulticastDelegateSafe &rhs)=delete
-
void operator-=(const Delegate< RetType(Args...)> &&delegate)
Definition MulticastDelegateSafe.h:60
-
bool Empty()
Definition MulticastDelegateSafe.h:91
-
void operator+=(const Delegate< RetType(Args...)> &&delegate)
Definition MulticastDelegateSafe.h:46
-
virtual void operator=(std::nullptr_t) noexcept
Clear the all target functions.
Definition MulticastDelegateSafe.h:84
-
std::size_t Size()
Definition MulticastDelegateSafe.h:104
+
bool Empty()
Definition MulticastDelegateSafe.h:113
+
void PushBack(const DelegateType &delegate)
Definition MulticastDelegateSafe.h:99
+
void operator+=(Delegate< RetType(Args...)> &&delegate)
Definition MulticastDelegateSafe.h:54
+
virtual void operator=(std::nullptr_t) noexcept
Clear the all target functions.
Definition MulticastDelegateSafe.h:92
+
std::size_t Size()
Definition MulticastDelegateSafe.h:126
Definition MulticastDelegate.h:16
diff --git a/docs/html/_unicast_delegate_8h.html b/docs/html/_unicast_delegate_8h.html
index 54975ff..3efa491 100644
--- a/docs/html/_unicast_delegate_8h.html
+++ b/docs/html/_unicast_delegate_8h.html
@@ -103,7 +103,7 @@
-
Delegate container for storing an invoking a single delegate instance. Class is not thread safe.
+
Delegate container for storing an invoking a single delegate instance. Class is not thread-safe.
More...
#include "Delegate.h"
#include <memory>
@@ -124,7 +124,7 @@
|
-
Delegate container for storing an invoking a single delegate instance. Class is not thread safe.
+
Delegate container for storing an invoking a single delegate instance. Class is not thread-safe.
diff --git a/docs/html/_unicast_delegate_8h_source.html b/docs/html/_unicast_delegate_8h_source.html
index bf12925..0b51532 100644
--- a/docs/html/_unicast_delegate_8h_source.html
+++ b/docs/html/_unicast_delegate_8h_source.html
@@ -138,75 +138,82 @@