Boost logo

Boost-Commit :

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= \\


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk