- ~Mutex();
- // No copy:
- /** You cannot create a new mutex by copying an existing one. Use MutexPtr instead */
- Mutex(Mutex const&) = delete;
- /** You cannot create a new mutex by value assignment either. Use MutexPtr instead */
- Mutex& operator=(Mutex const&) = delete;
-
- /** Constructs a new mutex */
- static MutexPtr create();
+ ~Mutex() = default;
+#ifndef DOXYGEN
+ Mutex(Mutex const&) = delete; // No copy constructor; Use MutexPtr instead
+ Mutex& operator=(Mutex const&) = delete; // No direct assignment either. Use MutexPtr instead
+#endif
+
+public:
+ /** \static Constructs a new mutex */
+ static MutexPtr create(bool recursive = false);
+