$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
Subject: [Boost-commit] svn:boost r83873 - in trunk: boost/log/attributes libs/log/doc
From: andrey.semashev_at_[hidden]
Date: 2013-04-13 12:27:49
Author: andysem
Date: 2013-04-13 12:27:49 EDT (Sat, 13 Apr 2013)
New Revision: 83873
URL: http://svn.boost.org/trac/boost/changeset/83873
Log:
Fixes for better docs generation.
Text files modified: 
   trunk/boost/log/attributes/mutable_constant.hpp |    14 ++++++++++----                          
   trunk/boost/log/attributes/named_scope.hpp      |     4 ++--                                    
   trunk/libs/log/doc/Jamfile.v2                   |    11 +++++++++++                             
   3 files changed, 23 insertions(+), 6 deletions(-)
Modified: trunk/boost/log/attributes/mutable_constant.hpp
==============================================================================
--- trunk/boost/log/attributes/mutable_constant.hpp	(original)
+++ trunk/boost/log/attributes/mutable_constant.hpp	2013-04-13 12:27:49 EDT (Sat, 13 Apr 2013)
@@ -47,10 +47,15 @@
  *
  * The attribute also allows to modify the stored value, even if the attibute is registered in an attribute set.
  * In order to ensure thread safety of such modifications the \c mutable_constant class is also parametrized
- * with three additional template arguments: mutex type, scoped write and scoped read lock types. The implementation
- * may avoid using these types to actually create and use the mutex, if a more efficient synchronization method is
+ * with three additional template arguments: mutex type, scoped write and scoped read lock types. If not specified,
+ * the lock types are automatically deduced based on the mutex type.
+ *
+ * The implementation may avoid using these types to actually create and use the mutex, if a more efficient synchronization method is
  * available (such as atomic operations on the value type). By default no synchronization is done.
  */
+#ifdef BOOST_LOG_DOXYGEN_PASS
+template< typename T, typename MutexT = void, typename ScopedWriteLockT = auto, typename ScopedReadLockT = auto >
+#else // BOOST_LOG_DOXYGEN_PASS
 template<
     typename T,
     typename MutexT = void,
@@ -63,7 +68,7 @@
         >::type,
 #else
         void,
-#endif
+#endif // BOOST_LOG_NO_THREADS
     typename ScopedReadLockT =
 #ifndef BOOST_LOG_NO_THREADS
         typename mpl::if_c<
@@ -73,7 +78,8 @@
         >::type
 #else
         ScopedWriteLockT
-#endif
+#endif // BOOST_LOG_NO_THREADS
+#endif // BOOST_LOG_DOXYGEN_PASS
 >
 class mutable_constant :
     public attribute
Modified: trunk/boost/log/attributes/named_scope.hpp
==============================================================================
--- trunk/boost/log/attributes/named_scope.hpp	(original)
+++ trunk/boost/log/attributes/named_scope.hpp	2013-04-13 12:27:49 EDT (Sat, 13 Apr 2013)
@@ -419,12 +419,12 @@
 
 } // namespace boost
 
-//! \cond
+#ifndef BOOST_LOG_DOXYGEN_PASS
 
 #define BOOST_LOG_NAMED_SCOPE_INTERNAL(var, name, file, line)\
     BOOST_LOG_UNUSED_VARIABLE(::boost::log::attributes::named_scope::sentry, var, (name, file, line));
 
-//! \endcond
+#endif // BOOST_LOG_DOXYGEN_PASS
 
 /*!
  * Macro for scope markup. The specified scope name is pushed to the end of the current thread scope list.
Modified: trunk/libs/log/doc/Jamfile.v2
==============================================================================
--- trunk/libs/log/doc/Jamfile.v2	(original)
+++ trunk/libs/log/doc/Jamfile.v2	2013-04-13 12:27:49 EDT (Sat, 13 Apr 2013)
@@ -20,6 +20,7 @@
 
 path-constant images_location : html ;
 
+# NOTE: At least Doxygen 1.8.2 is needed to generate docs correctly. Older versions don't support C++11 constructs correctly and generate misleading docs.
 local doxygen_params =
         <doxygen:param>RECURSIVE=YES
         <doxygen:param>ALPHABETICAL_INDEX=YES
@@ -49,15 +50,25 @@
                         BOOST_STATIC_ASSERT(x)= \\
                         BOOST_STATIC_ASSERT_MSG(x,y)= \\
                         BOOST_RV_REF(x)=\"x&&\" \\
+                        BOOST_NESTED_TEMPLATE=template \\
+                        BOOST_CONSTEXPR=constexpr \\
+                        BOOST_CONSTEXPR_OR_CONST=constexpr \\
+                        BOOST_NOEXCEPT=noexcept \\
+                        BOOST_NOEXCEPT_IF(x)=noexcept(x) \\
+                        BOOST_NOEXCEPT_OR_NOTHROW=noexcept \\
                         BOOST_COPY_ASSIGN_REF(x)=\"x const&\" \\
                         BOOST_APPEND_EXPLICIT_TEMPLATE_TYPE(x)= \\
                         BOOST_LOG_UNIQUE_IDENTIFIER_NAME(x)=anonymous \\
                         BOOST_LOG_USE_NATIVE_SYSLOG=1 \\
                         BOOST_PARAMETER_KEYWORD(x,y)=\"keyword y;\" \\
                         BOOST_LOG_AUX_VOID_DEFAULT=\"= void\" \\
+                        BOOST_LOG_CONSOLE_SINK_FRONTEND_INTERNAL=sinks::synchronous_sink \\
+                        BOOST_LOG_FILE_SINK_FRONTEND_INTERNAL=sinks::synchronous_sink \\
                         BOOST_LOG_NAMESPACE=log \\
                         BOOST_LOG_OPEN_NAMESPACE=\"namespace log {\" \\
                         BOOST_LOG_CLOSE_NAMESPACE=\"}\" \\
+                        BOOST_LOG_DEFAULTED_FUNCTION(x,y)=\"x = default;\" \\
+                        BOOST_LOG_DELETED_FUNCTION(x)=\"x = delete;\" \\
                         BOOST_LOG_USE_CHAR \\
                         BOOST_LOG_USE_WCHAR_T \\
                         BOOST_LOG_API= \\