#ifndef SPECTRE_CORE_NONCOPYABLE_H #define SPECTRE_CORE_NONCOPYABLE_H namespace sp { class NonCopyable { protected : NonCopyable() = default; virtual ~NonCopyable() = default; // Delete Copy constructor and assignment. NonCopyable(const NonCopyable&) = delete; NonCopyable& operator =(const NonCopyable&) = delete; }; } // namespace sp #endif /* SPECTRE_CORE_NONCOPYABLE_H */