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.