27 using destroyer_type = std::function<void()>;
39 template<
class destroyer_t>
49 destroyer_type m_Destroyer;
54 std::swap(m_Destroyer, other.m_Destroyer);
57 inline destruction_callback& destruction_callback::operator=(destruction_callback&& other) noexcept
59 std::swap(m_Destroyer, other.m_Destroyer);
63 inline destruction_callback::~destruction_callback()
69 template<
class destroyer_t>
70 destruction_callback::destruction_callback(destroyer_t destroyer) : m_Destroyer(std::move(destroyer))
Class for RAII: functor passed in constructor will be called in destructor.
#define QX_NONCOPYABLE(className)
Define class as non copyable.