polybar/include/utils/mixins.hpp

36 lines
616 B
C++

#pragma once
#include "common.hpp"
LEMONBUDDY_NS
/**
* Base class for non copyable objects
*/
template <class T>
class non_copyable_mixin {
protected:
non_copyable_mixin() {}
~non_copyable_mixin() {}
private:
non_copyable_mixin(const non_copyable_mixin&);
non_copyable_mixin& operator=(const non_copyable_mixin&);
};
/**
* Base class for non movable objects
*/
template <class T>
class non_movable_mixin {
protected:
non_movable_mixin() {}
~non_movable_mixin() {}
private:
non_movable_mixin(non_movable_mixin&&);
non_movable_mixin& operator=(non_movable_mixin&&);
};
LEMONBUDDY_NS_END