00001 #ifndef GLW_NONCOPYABLE_H 00002 #define GLW_NONCOPYABLE_H 00003 00004 #include "./common.h" 00005 00006 namespace glw 00007 { 00008 00009 namespace detail 00010 { 00011 00012 class NonCopyable 00013 { 00014 public: 00015 00016 typedef void BaseType; 00017 typedef NonCopyable ThisType; 00018 00019 NonCopyable(void) 00020 { 00021 ; 00022 } 00023 00024 private: 00025 00026 NonCopyable(const ThisType & that) 00027 { 00028 (void)that; 00029 } 00030 00031 ThisType & operator = (const ThisType & that) 00032 { 00033 (void)that; 00034 return (*this); 00035 } 00036 }; 00037 00038 }; 00039 00040 }; 00041 00042 #endif // GLW_NONCOPYABLE_H