summaryrefslogtreecommitdiffstats
path: root/src/core/macros.hh
diff options
context:
space:
mode:
Diffstat (limited to 'src/core/macros.hh')
-rw-r--r--src/core/macros.hh19
1 files changed, 19 insertions, 0 deletions
diff --git a/src/core/macros.hh b/src/core/macros.hh
new file mode 100644
index 0000000..9a76109
--- /dev/null
+++ b/src/core/macros.hh
@@ -0,0 +1,19 @@
+#ifndef CORE_MACROS_HH
+#define CORE_MACROS_HH 1
+#pragma once
+
+#define DISABLE_COPY_OPERATORS(class_name) \
+public: \
+ explicit class_name(const class_name& other) = delete; \
+ class_name& operator=(const class_name& other) = delete
+
+#define DISABLE_MOVE_OPERATORS(class_name) \
+public: \
+ explicit class_name(class_name&& other) = delete; \
+ class_name& operator=(class_name&& other) = delete
+
+#define DECLARE_DEFAULT_CONSTRUCTOR(class_name) \
+public: \
+ class_name(void) = default
+
+#endif /* CORE_MACROS_HH */