#ifndef SPECTRE_CORE_NONCOPYABLE_H #define SPECTRE_CORE_NONCOPYABLE_H namespace sp { class NonCopyable { protected : NonCopyable() {} private : // Skip implementation to trigger compiler error. NonCopyable(const NonCopyable&); NonCopyable& operator =(const NonCopyable&); }; } // namespace sp #endif /* SPECTRE_CORE_NONCOPYABLE_H */