Improve docs for mutexes
authorJonathan Wakely <jwakely@redhat.com>
Thu, 2 May 2019 15:46:42 +0000 (16:46 +0100)
committerJonathan Wakely <redi@gcc.gnu.org>
Thu, 2 May 2019 15:46:42 +0000 (16:46 +0100)
* include/bits/unique_lock.h: Fix/improve doxygen markup.
* include/std/mutex: Likewise.
* include/std/shared_mutex: Likewise.

From-SVN: r270812

libstdc++-v3/ChangeLog
libstdc++-v3/include/bits/unique_lock.h
libstdc++-v3/include/std/mutex
libstdc++-v3/include/std/shared_mutex

index 52d3adf251edeaf76edf5d8b6789827ec2aa4b79..8c4bee2699471f7cf07af8e102a9433c47d413d1 100644 (file)
@@ -1,5 +1,9 @@
 2019-05-02  Jonathan Wakely  <jwakely@redhat.com>
 
+       * include/bits/unique_lock.h: Fix/improve doxygen markup.
+       * include/std/mutex: Likewise.
+       * include/std/shared_mutex: Likewise.
+
        * include/bits/fs_dir.h: Fix/improve doxygen markup.
        * include/bits/fs_fwd.h: Likewise.
        * include/bits/fs_ops.h: Likewise.
index 9aceb6b61244140547f5908059cc5e441ad3ceb8..9eb5f227faa864c092dd4752bed7c562ccc17572 100644 (file)
@@ -43,17 +43,14 @@ namespace std _GLIBCXX_VISIBILITY(default)
 {
 _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
-  /**
-   * @ingroup mutexes
-   * @{
-   */
-
   /** @brief A movable scoped lock type.
    *
    * A unique_lock controls mutex ownership within a scope. Ownership of the
    * mutex can be delayed until after construction and can be transferred
    * to another unique_lock by move construction or move assignment. If a
    * mutex lock is owned when the destructor runs ownership will be released.
+   *
+   * @ingroup mutexes
    */
   template<typename _Mutex>
     class unique_lock
@@ -232,12 +229,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     };
 
   /// Swap overload for unique_lock objects.
+  /// @relates unique_lock
   template<typename _Mutex>
     inline void
     swap(unique_lock<_Mutex>& __x, unique_lock<_Mutex>& __y) noexcept
     { __x.swap(__y); }
 
-  // @} group mutexes
 _GLIBCXX_END_NAMESPACE_VERSION
 } // namespace
 
index dfb5f7eb31a4a590300a7fa09458ee3e33667a14..ca2c669db9aed72ad1e564d4174d096b729870bf 100644 (file)
@@ -55,7 +55,7 @@ namespace std _GLIBCXX_VISIBILITY(default)
 _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
   /**
-   * @ingroup mutexes
+   * @addtogroup mutexes
    * @{
    */
 
@@ -463,6 +463,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 #endif
 #endif // _GLIBCXX_HAS_GTHREADS
 
+  /// @cond undocumented
   template<typename _Lock>
     inline unique_lock<_Lock>
     __try_to_lock(_Lock& __l)
@@ -504,6 +505,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
             }
        }
     };
+  /// @endcond
 
   /** @brief Generic try_lock.
    *  @param __l1 Meets Lockable requirements (try_lock() may throw).
@@ -624,7 +626,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 #endif // C++17
 
 #ifdef _GLIBCXX_HAS_GTHREADS
-  /// once_flag
+  /// Flag type used by std::call_once
   struct once_flag
   {
   private:
@@ -645,6 +647,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
       call_once(once_flag& __once, _Callable&& __f, _Args&&... __args);
   };
 
+  /// @cond undocumented
 #ifdef _GLIBCXX_HAVE_TLS
   extern __thread void* __once_callable;
   extern __thread void (*__once_call)();
@@ -659,8 +662,9 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 #endif
 
   extern "C" void __once_proxy(void);
+  /// @endcond
 
-  /// call_once
+  /// Invoke a callable and synchronize with other calls using the same flag
   template<typename _Callable, typename... _Args>
     void
     call_once(once_flag& __once, _Callable&& __f, _Args&&... __args)
index be64144dfb0a8daf9c7c5072c9d3b9f7b1adeb51..ffd93fb1e15447763cf23c3edb2690d7a4921f8a 100644 (file)
@@ -42,7 +42,7 @@ namespace std _GLIBCXX_VISIBILITY(default)
 _GLIBCXX_BEGIN_NAMESPACE_VERSION
 
   /**
-   * @ingroup mutexes
+   * @addtogroup mutexes
    * @{
    */
 
@@ -56,6 +56,8 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
 #define __cpp_lib_shared_timed_mutex 201402
   class shared_timed_mutex;
 
+  /// @cond undocumented
+
 #if _GLIBCXX_USE_PTHREAD_RWLOCK_T
 #ifdef __gthrw
 #define _GLIBCXX_GTHRW(name) \
@@ -395,6 +397,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     }
   };
 #endif
+  /// @endcond
 
 #if __cplusplus > 201402L
   /// The standard shared mutex type.
@@ -432,11 +435,13 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
   };
 #endif // C++17
 
+  /// @cond undocumented
 #if _GLIBCXX_USE_PTHREAD_RWLOCK_T && _GTHREAD_USE_MUTEX_TIMEDLOCK
   using __shared_timed_mutex_base = __shared_mutex_pthread;
 #else
   using __shared_timed_mutex_base = __shared_mutex_cv;
 #endif
+  /// @endcond
 
   /// The standard shared timed mutex type.
   class shared_timed_mutex
@@ -754,6 +759,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION
     };
 
   /// Swap specialization for shared_lock
+  /// @relates shared_mutex
   template<typename _Mutex>
     void
     swap(shared_lock<_Mutex>& __x, shared_lock<_Mutex>& __y) noexcept