--- /dev/null
+#ifndef _pthread_noncopyable_\r
+#define _pthread_noncopyable_\r
+\r
+namespace PThread\r
+{\r
+\r
+class NonCopyable\r
+{\r
+protected:\r
+ NonCopyable() {}\r
+ ~NonCopyable() {}\r
+\r
+private:\r
+ // restrict copy and assignment\r
+ NonCopyable(const NonCopyable &rhs);\r
+ const NonCopyable &operator=(const NonCopyable &rhs);\r
+};\r
+ \r
+} // namespace\r
+\r
+#endif // _pthread_noncopyable_\r