36 lines
616 B
C++
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
|