aboutsummaryrefslogtreecommitdiff
path: root/include/cru/common
diff options
context:
space:
mode:
author杨宇千 <crupest@outlook.com>2019-08-11 22:08:49 +0800
committer杨宇千 <crupest@outlook.com>2019-08-11 22:08:49 +0800
commit99a322a6badf5b6d95be4944e80d92fc1cb2589e (patch)
tree4227de0cbb1fd73ef99de4bc57041492a0450208 /include/cru/common
parent3a8abe0aed9bb72ed64cbfe9f2f83a0db285e14c (diff)
downloadcru-99a322a6badf5b6d95be4944e80d92fc1cb2589e.tar.gz
cru-99a322a6badf5b6d95be4944e80d92fc1cb2589e.tar.bz2
cru-99a322a6badf5b6d95be4944e80d92fc1cb2589e.zip
...
Diffstat (limited to 'include/cru/common')
-rw-r--r--include/cru/common/base.hpp16
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: