#ifndef NONCOPYABLE_H #define NONCOPYABLE_H class noncopyable { protected: noncopyable() = default; ~noncopyable() = default; noncopyable(noncopyable const&) = delete; noncopyable(noncopyable&&) = delete; noncopyable& operator=(noncopyable const&) = delete; noncopyable& operator=(noncopyable&&) = delete; }; #endif // !NONCOPYABLE_H