diff options
Diffstat (limited to 'lib/special_members.hpp')
-rw-r--r-- | lib/special_members.hpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/lib/special_members.hpp b/lib/special_members.hpp new file mode 100644 index 0000000..0d63f58 --- /dev/null +++ b/lib/special_members.hpp @@ -0,0 +1,18 @@ +#ifndef SPECIAL_MEMBERS_H +#define SPECIAL_MEMBERS_H + +#define NO_COPY(TYPE) \ + TYPE(const TYPE &) = delete; \ + void operator=(const TYPE &) = delete + +#define NO_MOVE(TYPE) \ + TYPE(TYPE &&) = delete; \ + void operator=(TYPE &&) = delete + +#define DEFAULT_MOVE_COPY(TYPE) \ + TYPE(const TYPE &) = default; \ + TYPE(TYPE &&) = default; \ + TYPE & operator=(const TYPE &) = default; \ + TYPE & operator=(TYPE &&) = default + +#endif |