summaryrefslogtreecommitdiffhomepage
path: root/Kernel/CompilerKit/Detail.hxx
blob: 2bb73a7b98c39e9b3eab619991254e2cef9ae05f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
/* -------------------------------------------

	Copyright SoftwareLabs

------------------------------------------- */

#pragma once

#ifdef __KERNEL__
#include <NewKit/Defines.hpp>
#endif // ifdef __KERNEL__

#define NEWOS_COPY_DELETE(KLASS)             \
	KLASS& operator=(const KLASS&) = delete; \
	KLASS(const KLASS&)			   = delete;

#define NEWOS_COPY_DEFAULT(KLASS)             \
	KLASS& operator=(const KLASS&) = default; \
	KLASS(const KLASS&)			   = default;

#define NEWOS_MOVE_DELETE(KLASS)        \
	KLASS& operator=(KLASS&&) = delete; \
	KLASS(KLASS&&)			  = delete;

#define NEWOS_MOVE_DEFAULT(KLASS)        \
	KLASS& operator=(KLASS&&) = default; \
	KLASS(KLASS&&)			  = default;