Make sure all classes have sensible copy semantics
[libs/core.git] / source / core / mutex.h
index 71fbdf0c6e5796423274049dc28a05dfba42cbb2..3d3dc84dd3bca28e65c0ea770b00cc6851b6f552 100644 (file)
@@ -1,6 +1,7 @@
 #ifndef MSP_CORE_MUTEX_H_
 #define MSP_CORE_MUTEX_H_
 
 #ifndef MSP_CORE_MUTEX_H_
 #define MSP_CORE_MUTEX_H_
 
+#include "noncopyable.h"
 #include "refptr.h"
 
 namespace Msp {
 #include "refptr.h"
 
 namespace Msp {
@@ -9,7 +10,7 @@ namespace Msp {
 A class for controlling mutually exclusive access to a resource.  Only one
 thread can hold a lock on the mutex at a time.
 */
 A class for controlling mutually exclusive access to a resource.  Only one
 thread can hold a lock on the mutex at a time.
 */
-class Mutex
+class Mutex: private NonCopyable
 {
        friend class Semaphore;
 
 {
        friend class Semaphore;
 
@@ -18,8 +19,6 @@ private:
 
        Private *priv;
 
 
        Private *priv;
 
-       Mutex(const Mutex &);
-       Mutex &operator=(const Mutex &);
 public:
        Mutex();
        ~Mutex();
 public:
        Mutex();
        ~Mutex();