add SlotGuard doc

This commit is contained in:
2025-08-06 14:15:13 +02:00
parent 0d9e5b647f
commit 5d196c4b61

View File

@@ -5,11 +5,18 @@
namespace td { namespace td {
namespace utils { namespace utils {
/**
* \brief Wrapper class to automatically disconnect from a Signal on object destruction
* \sa Signal
*/
class SlotGuard { class SlotGuard {
private: private:
std::vector<std::function<void()>> m_Deleters; std::vector<std::function<void()>> m_Deleters;
public: public:
/**
* \brief Connect a signal to a function (with the same signature)
*/
template <typename... Args> template <typename... Args>
void Connect(Signal<Args...>& a_Signal, const typename Signal<Args...>::CallBack& a_Callback) { void Connect(Signal<Args...>& a_Signal, const typename Signal<Args...>::CallBack& a_Callback) {
a_Signal.Connect(a_Callback); a_Signal.Connect(a_Callback);