Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r85982 - in trunk: boost/log/expressions/formatters libs/log/doc libs/log/src
From: andrey.semashev_at_[hidden]
Date: 2013-09-28 11:46:24


Author: andysem
Date: 2013-09-28 11:46:24 EDT (Sat, 28 Sep 2013)
New Revision: 85982
URL: http://svn.boost.org/trac/boost/changeset/85982

Log:
Fixed #9160.

Text files modified:
   trunk/boost/log/expressions/formatters/named_scope.hpp | 13 ++++++++++---
   trunk/libs/log/doc/log.qbk | 1 +
   trunk/libs/log/src/named_scope_format_parser.cpp | 26 ++++++++++++++++----------
   3 files changed, 27 insertions(+), 13 deletions(-)

Modified: trunk/boost/log/expressions/formatters/named_scope.hpp
==============================================================================
--- trunk/boost/log/expressions/formatters/named_scope.hpp Sat Sep 28 11:22:14 2013 (r85981)
+++ trunk/boost/log/expressions/formatters/named_scope.hpp 2013-09-28 11:46:24 EDT (Sat, 28 Sep 2013) (r85982)
@@ -71,10 +71,17 @@
 
 namespace aux {
 
+#ifdef BOOST_LOG_USE_CHAR
 //! Parses the named scope format string and constructs the formatter function
-template< typename CharT >
-BOOST_LOG_API boost::log::aux::light_function< void (basic_formatting_ostream< CharT >&, attributes::named_scope::value_type::value_type const&) >
-parse_named_scope_format(const CharT* begin, const CharT* end);
+BOOST_LOG_API boost::log::aux::light_function< void (basic_formatting_ostream< char >&, attributes::named_scope::value_type::value_type const&) >
+parse_named_scope_format(const char* begin, const char* end);
+#endif
+
+#ifdef BOOST_LOG_USE_WCHAR_T
+//! Parses the named scope format string and constructs the formatter function
+BOOST_LOG_API boost::log::aux::light_function< void (basic_formatting_ostream< wchar_t >&, attributes::named_scope::value_type::value_type const&) >
+parse_named_scope_format(const wchar_t* begin, const wchar_t* end);
+#endif
 
 //! Parses the named scope format string and constructs the formatter function
 template< typename CharT >

Modified: trunk/libs/log/doc/log.qbk
==============================================================================
--- trunk/libs/log/doc/log.qbk Sat Sep 28 11:22:14 2013 (r85981)
+++ trunk/libs/log/doc/log.qbk 2013-09-28 11:46:24 EDT (Sat, 28 Sep 2013) (r85982)
@@ -166,6 +166,7 @@
 * MSVC 8.0 (without SP1) and older.
 * GCC 4.0 and older.
 * Borland C++ 5.5.1 (free version). Newer versions might or might not work.
+* Solaris Studio 12.3 and older.
 * Windows 9x, ME, NT4 and older are not supported.
 
 Boost.Log should be compatible with all hardware architectures supported by Boost. However, in case of 32 bit x86 architecture the library requires at least i586 class CPU to run.

Modified: trunk/libs/log/src/named_scope_format_parser.cpp
==============================================================================
--- trunk/libs/log/src/named_scope_format_parser.cpp Sat Sep 28 11:22:14 2013 (r85981)
+++ trunk/libs/log/src/named_scope_format_parser.cpp 2013-09-28 11:46:24 EDT (Sat, 28 Sep 2013) (r85982)
@@ -151,12 +151,10 @@
     }
 };
 
-} // namespace
-
 //! Parses the named scope format string and constructs the formatter function
 template< typename CharT >
-boost::log::aux::light_function< void (basic_formatting_ostream< CharT >&, attributes::named_scope::value_type::value_type const&) >
-parse_named_scope_format(const CharT* begin, const CharT* end)
+BOOST_FORCEINLINE boost::log::aux::light_function< void (basic_formatting_ostream< CharT >&, attributes::named_scope::value_type::value_type const&) >
+do_parse_named_scope_format(const CharT* begin, const CharT* end)
 {
     typedef CharT char_type;
     typedef boost::log::aux::light_function< void (basic_formatting_ostream< char_type >&, attributes::named_scope::value_type::value_type const&) > result_type;
@@ -217,20 +215,28 @@
     return result_type(boost::move(fmt));
 }
 
+} // namespace
+
 
 #ifdef BOOST_LOG_USE_CHAR
 
-template BOOST_LOG_API
-boost::log::aux::light_function< void (basic_formatting_ostream< char >&, attributes::named_scope::value_type::value_type const&) >
-parse_named_scope_format(const char* begin, const char* end);
+//! Parses the named scope format string and constructs the formatter function
+BOOST_LOG_API boost::log::aux::light_function< void (basic_formatting_ostream< char >&, attributes::named_scope::value_type::value_type const&) >
+parse_named_scope_format(const char* begin, const char* end)
+{
+ return do_parse_named_scope_format(begin, end);
+}
 
 #endif // BOOST_LOG_USE_CHAR
 
 #ifdef BOOST_LOG_USE_WCHAR_T
 
-template BOOST_LOG_API
-boost::log::aux::light_function< void (basic_formatting_ostream< wchar_t >&, attributes::named_scope::value_type::value_type const&) >
-parse_named_scope_format(const wchar_t* begin, const wchar_t* end);
+//! Parses the named scope format string and constructs the formatter function
+BOOST_LOG_API boost::log::aux::light_function< void (basic_formatting_ostream< wchar_t >&, attributes::named_scope::value_type::value_type const&) >
+parse_named_scope_format(const wchar_t* begin, const wchar_t* end)
+{
+ return do_parse_named_scope_format(begin, end);
+}
 
 #endif // BOOST_LOG_USE_WCHAR_T
 


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