Loading...
Searching...
No Matches
Go to the documentation of this file.
20#define ABSTRACT_BASE_CLASS(cls) \
22 cls(const cls &) = delete; \
23 cls &operator=(const cls &) = delete; \
24 cls(cls &&) = delete; \
25 cls &operator=(cls &&) = delete; \
26 virtual ~cls() = default; \
29#define DEFAULT_COPYABLE(cls) \
30 cls(const cls &) = default; \
31 cls &operator=(const cls &) = default; \
32 cls(cls &&) = default; \
33 cls &operator=(cls &&) = default; \
34 virtual ~cls() = default;
37#define NON_COPYABLE(cls) \
38 cls(const cls &) = delete; \
39 cls &operator=(const cls &) = delete; \
40 cls(cls &&) = delete; \
41 cls &operator=(cls &&) = delete; \
44#define ONLY_DEFAULT_MOVABLE(cls) \
45 cls(const cls &) = delete; \
46 cls &operator=(const cls &) = delete; \
47 cls(cls &&) = default; \
48 cls &operator=(cls &&) = default; \
50#define ONLY_MOVABLE_DECL(cls) \
51 cls(const cls &) = delete; \
52 cls &operator=(const cls &) = delete; \
54 cls &operator=(cls &&); \
56#define DEFAULT_MOVABLE_IMPL(cls) \
57 cls::cls(cls &&) = default; \
58 cls &cls::operator=(cls &&) = default; \