Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class NonCopyable {
- public:
- virtual ~NonCopyable () {}
- NonCopyable (const NonCopyable & rhv) {} = delete;
- NonCopyable & operator=(const NonCopyable & rhv) = delete;
- NonCopyable (const NonCopyable && rhv) {} = default;
- NonCopyable & operator=(const NonCopyable && rhv) = default;
- private:
- NonCopyable () {}
- };
- class NonMovable {
- public:
- virtual ~NonMovable () {}
- NonMovable (const NonMovable & rhv) {} = default;
- NonMovable & operator=(const NonMovable & rhv) = default;
- NonMovable (const NonMovable && rhv) {} = delete;
- NonMovable & operator=(const NonMovable && rhv) = delete;
- private:
- NonMovable () {}
- };
- class One : public NonCopyable {};
- class Two : public NonMovable {};
- class Three : public NonMovable, public NonCopyable {};
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement