Core/Signal: Add move Connect method
Former-commit-id: 1874faf23299ebac3e433195faa03c9eb6bd9ed4
This commit is contained in:
@@ -20,6 +20,7 @@ class NzSignal
|
|||||||
~NzSignal() = default;
|
~NzSignal() = default;
|
||||||
|
|
||||||
void Connect(const Callback& func);
|
void Connect(const Callback& func);
|
||||||
|
void Connect(Callback&& func);
|
||||||
template<typename O> void Connect(O& object, void (O::*method)(Args...));
|
template<typename O> void Connect(O& object, void (O::*method)(Args...));
|
||||||
template<typename O> void Connect(O* object, void (O::*method)(Args...));
|
template<typename O> void Connect(O* object, void (O::*method)(Args...));
|
||||||
|
|
||||||
|
|||||||
@@ -12,6 +12,12 @@ void NzSignal<Args...>::Connect(const Callback& func)
|
|||||||
m_callbacks.push_back(func);
|
m_callbacks.push_back(func);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
template<typename... Args>
|
||||||
|
void NzSignal<Args...>::Connect(Callback&& func)
|
||||||
|
{
|
||||||
|
m_callbacks.emplace_back(std::move(func));
|
||||||
|
}
|
||||||
|
|
||||||
template<typename... Args>
|
template<typename... Args>
|
||||||
template<typename O>
|
template<typename O>
|
||||||
void NzSignal<Args...>::Connect(O& object, void (O::*method) (Args...))
|
void NzSignal<Args...>::Connect(O& object, void (O::*method) (Args...))
|
||||||
|
|||||||
Reference in New Issue
Block a user