diff options
Diffstat (limited to 'include/cru/common')
-rw-r--r-- | include/cru/common/base.hpp | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/include/cru/common/base.hpp b/include/cru/common/base.hpp index d72b97f2..920fe569 100644 --- a/include/cru/common/base.hpp +++ b/include/cru/common/base.hpp @@ -1,6 +1,22 @@ #pragma once #include "pre_config.hpp" +#define CRU_DEFAULT_COPY(classname) \ + classname(const classname&) = default; \ + classname& operator=(const classname&) = default; + +#define CRU_DEFAULT_MOVE(classname) \ + classname(classname&&) = default; \ + classname& operator=(classname&&) = default; + +#define CRU_DELETE_COPY(classname) \ + classname(const classname&) = delete; \ + classname& operator=(const classname&) = delete; + +#define CRU_DELETE_MOVE(classname) \ + classname(classname&&) = delete; \ + classname& operator=(classname&&) = delete; + namespace cru { class Object { public: |