Boost logo

Boost-Commit :

From: john.groups_at_[hidden]
Date: 2007-10-31 05:06:07


Author: jtorjo
Date: 2007-10-31 05:06:05 EDT (Wed, 31 Oct 2007)
New Revision: 40619
URL: http://svn.boost.org/trac/boost/changeset/40619

Log:
[logging]
v0.9.8, 31 oct 2007
- added small things to make it compile with gcc 4.1 and 4.3
  (note: I just solved some errors that were pointed out by Jens Seidel, not sure if this fixed everything)

Added:
   sandbox/logging/boost/logging/detail/format_write_detail.hpp (contents, props changed)
Text files modified:
   sandbox/logging/boost/logging/changelog.hpp | 4
   sandbox/logging/boost/logging/detail/raw_doc/acknowledgments.hpp | 2
   sandbox/logging/boost/logging/detail/use_format_write.hpp | 3
   sandbox/logging/boost/logging/format.hpp | 3
   sandbox/logging/boost/logging/format/formatter/defaults.hpp | 1
   sandbox/logging/boost/logging/format/formatter/thread_id.hpp | 3
   sandbox/logging/boost/logging/writer/format_write.hpp | 231 ---------------------------------------
   sandbox/logging/lib/logging/samples/vc8/loggingvc8/loggingvc8.vcproj | 217 +++++++++++++++++++-----------------
   sandbox/logging/lib/logging/tests/do_not_use/testfast.cpp | 3
   9 files changed, 132 insertions(+), 335 deletions(-)

Modified: sandbox/logging/boost/logging/changelog.hpp
==============================================================================
--- sandbox/logging/boost/logging/changelog.hpp (original)
+++ sandbox/logging/boost/logging/changelog.hpp 2007-10-31 05:06:05 EDT (Wed, 31 Oct 2007)
@@ -1,6 +1,10 @@
 /**
 @page page_changelog Changelog
 
+v0.9.8, 31 oct 2007
+- added small things to make it compile with gcc 4.1 and 4.3
+ (note: I just solved some errors that were pointed out by Jens Seidel, not sure if this fixed everything)
+
 v0.9.7, 30 oct 2007
 - added small things to make it compile with gcc 4.1 and 4.3
   (note: I just solved some errors that were pointed out by Jens Seidel, not sure if this fixed everything)

Added: sandbox/logging/boost/logging/detail/format_write_detail.hpp
==============================================================================
--- (empty file)
+++ sandbox/logging/boost/logging/detail/format_write_detail.hpp 2007-10-31 05:06:05 EDT (Wed, 31 Oct 2007)
@@ -0,0 +1,262 @@
+// format_write_detail.hpp
+
+// Boost Logging library
+//
+// Author: John Torjo, www.torjo.com
+//
+// Copyright (C) 2007 John Torjo (see www.torjo.com for email)
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org for updates, documentation, and revision history.
+// See http://www.torjo.com/log2/ for more details
+
+#ifndef JT28092007_format_HPP_DEFINED
+#error do not include directly include logging/format.hpp or logging/writer/format_write.hpp instead
+#endif
+
+// this is fixed!
+#ifndef JT28092007_format_write_detail_HPP_DEFINED
+#define JT28092007_format_write_detail_HPP_DEFINED
+
+#if defined(_MSC_VER) && (_MSC_VER >= 1020)
+# pragma once
+#endif
+
+#include <boost/logging/detail/fwd.hpp>
+#include <boost/type_traits/is_base_of.hpp>
+
+namespace boost { namespace logging {
+
+namespace format_and_write {
+ template<class msg_type> struct simple ;
+}
+
+/**
+@brief Classes that write the message, once it's been @ref gather "gathered".
+
+The most important class is writer::format_write
+
+*/
+namespace writer {
+
+/**
+@brief Allows custom formatting of the message before %logging it, and writing it to several destinations.
+
+Once the message has been @ref boost::logging::gather "gathered", it's time to write it.
+The current class defines the following concepts:
+- formatter - allows formatting the message before writing it
+- destination - is a place where the message is to be written to (like, the console, a file, a socket, etc)
+
+You can add several formatters and destinations. Note that each formatter class and each destination class is a @c %manipulator.
+Make sure you know what a manipulator is before using formatters and destinations.
+
+
+
+\n\n
+@section object_router The router object
+
+Once you've added the formatters and destinations, the @ref msg_route "router" comes into play. The @ref msg_route "router"
+specifies how formatters and destinations are called. By default, all formatters are called first, in the order they were added,
+and then all destinations are called, in the order they were added. You can easily access the router() instance.
+
+@code
+typedef logger< gather::ostream_like::return_cache_str<> , format_write< ... > > log_type;
+BOOST_DECLARE_LOG(g_l, log_type)
+BOOST_DECLARE_LOG_FILTER(g_log_filter, filter::no_ts )
+#define L_ BOOST_LOG_USE_LOG_IF_FILTER(g_l, g_log_filter->is_enabled() )
+
+// add formatters : [idx] [time] message [enter]
+g_l->writer().add_formatter( formatter::idx() );
+g_l->writer().add_formatter( formatter::time("$hh:$mm.$ss ") );
+g_l->writer().add_formatter( formatter::append_enter() );
+
+// write to cout and file
+g_l->writer().add_destination( destination::cout() );
+g_l->writer().add_destination( destination::file("out.txt") );
+
+// usage
+int i = 1;
+L_ << "testing " << i << i+1 << i+2;
+@endcode
+
+In the above case, @c formatter::idx() is called, then @c formatter::time(), then @c formatter::append_enter(). Now, the destinations are called:
+@c destinatino::cout(), and then @c destination::file().
+
+Most of the time this is ok, and this is what the @ref msg_route::simple "default router" does. However, there are other routers
+in the msg_route namespace. For instance, take a look at msg_route::with_route class.
+
+
+
+\n\n
+@section apply_format_and_write_object The apply_format_and_write object
+
+Once the formatters and destinations are added, and you know the route, you have an extra object - the format_and_write - which
+contains the logic for calling the formatters and destinations.
+The format_and_write class knows how to call the formatters and destination @c objects. Usually you'll be happy with the
+format_and_write::simple class - which simply calls @c operator() on the formatters , and @c operator() on the destinations.
+Otherwise, take a look at format_and_write namespace.
+
+An object of this type (apply_format_and_write) is created for each new logged message.
+
+
+\n\n
+@note This class is not thread-safe. If you want thread-safety, check out the other writer classes: on_dedicated_thread and ts_write
+
+
+
+\n\n
+@param format_base The base class for all formatter classes from your application. See manipulator.
+
+@param destination_base The base class for all destination classes from your application. See manipulator.
+
+@param apply_format_and_write [optional] The class that knows how to call the formatters and destinations. See @ref apply_format_and_write_object
+
+@param router_type [optional] The class that knows when to call the formatters, and when to call the destinations. See @ref object_router.
+
+
+
+\n\n
+@remarks Normally the router could own the formatters and destination objects. However, then, it would need to own the objects,
+which would mean needing to come up with a smart pointer strategy. This would complicate the router logic.
+Also, iterating over formatters/destinations would be slower, if we were to keep smart pointers within the router itself.
+*/
+template<
+ class formatter_base,
+ class destination_base,
+ class apply_format_and_write = ::boost::logging::format_and_write::simple<typename formatter_base::raw_param>,
+ class router_type = msg_route::simple<formatter_base, destination_base> ,
+ class formatter_array = array::shared_ptr_holder<formatter_base> ,
+ class destination_array = array::shared_ptr_holder<destination_base> >
+struct format_write {
+ typedef typename formatter_base::ptr_type formatter_ptr;
+ typedef typename destination_base::ptr_type destination_ptr;
+
+ format_write() : m_router(m_formatters, m_destinations) {}
+
+
+private:
+
+ // non-generic
+ template<class formatter> void add_formatter_impl(formatter fmt, const boost::false_type& ) {
+ formatter_ptr p = m_formatters.append(fmt);
+ m_router.append_formatter(p);
+ }
+
+ // non-generic
+ template<class formatter> void del_formatter_impl(formatter fmt, const boost::false_type& ) {
+ formatter_ptr p = m_formatters.get_ptr(fmt);
+ m_router.del_formatter(p);
+ m_formatters.del(fmt);
+ }
+
+ // non-generic
+ template<class destination> void add_destination_impl(destination dest, const boost::false_type& ) {
+ destination_ptr p = m_destinations.append(dest);
+ m_router.append_destination(p);
+ }
+
+ // non-generic
+ template<class destination> void del_destination_impl(destination dest, const boost::false_type& ) {
+ destination_ptr p = m_destinations.get_ptr(dest);
+ m_router.del_destination(p);
+ m_destinations.del(dest);
+ }
+
+
+
+
+
+ // generic manipulator
+ template<class formatter> void add_formatter_impl(formatter fmt, const boost::true_type& ) {
+ typedef boost::logging::manipulator::detail::generic_holder<formatter,formatter_base> holder;
+ add_formatter_impl( holder(fmt), boost::false_type() );
+ }
+
+ // generic manipulator
+ template<class formatter> void del_formatter_impl(formatter fmt, const boost::true_type& ) {
+ typedef boost::logging::manipulator::detail::generic_holder<formatter,formatter_base> holder;
+ del_formatter_impl( holder(fmt), boost::false_type() );
+ }
+
+ // generic manipulator
+ template<class destination> void add_destination_impl(destination dest, const boost::true_type& ) {
+ typedef boost::logging::manipulator::detail::generic_holder<destination,destination_base> holder;
+ add_destination_impl( holder(dest), boost::false_type() );
+ }
+
+ // generic manipulator
+ template<class destination> void del_destination_impl(destination dest, const boost::true_type& ) {
+ typedef boost::logging::manipulator::detail::generic_holder<destination,destination_base> holder;
+ del_destination_impl( holder(dest), boost::false_type() );
+ }
+
+
+
+public:
+ /**
+ adds a formatter
+ */
+ template<class formatter> void add_formatter(formatter fmt) {
+ typedef boost::logging::manipulator::is_generic is_generic;
+ add_formatter_impl<formatter>( fmt, boost::is_base_of<is_generic,formatter>() );
+ }
+
+ /**
+ deletes a formatter
+ */
+ template<class formatter> void del_formatter(formatter fmt) {
+ typedef boost::logging::manipulator::is_generic is_generic;
+ del_formatter_impl<formatter>( fmt, boost::is_base_of<is_generic,formatter>() );
+ }
+
+ /**
+ adds a destination
+ */
+ template<class destination> void add_destination(destination dest) {
+ typedef boost::logging::manipulator::is_generic is_generic;
+ add_destination_impl<destination>( dest, boost::is_base_of<is_generic,destination>() );
+ }
+
+ /**
+ deletes a destination
+ */
+ template<class destination> void del_destination(destination dest) {
+ typedef boost::logging::manipulator::is_generic is_generic;
+ del_destination_impl<destination>( dest, boost::is_base_of<is_generic,destination>() );
+ }
+
+ /**
+ returns the object that actually routes the message
+ */
+ router_type& router() { return m_router; }
+
+ /**
+ returns the object that actually routes the message
+ */
+ const router_type& router() const { return m_router; }
+
+ /**
+ does the actual write
+ */
+ template<class msg_type> void operator()(msg_type & msg) const {
+ router().template write<apply_format_and_write>(msg);
+ }
+
+private:
+ formatter_array m_formatters;
+ destination_array m_destinations;
+ router_type m_router;
+};
+
+} // namespace writer
+
+
+}}
+
+#include <boost/logging/detail/use_format_write.hpp>
+
+#endif
+

Modified: sandbox/logging/boost/logging/detail/raw_doc/acknowledgments.hpp
==============================================================================
--- sandbox/logging/boost/logging/detail/raw_doc/acknowledgments.hpp (original)
+++ sandbox/logging/boost/logging/detail/raw_doc/acknowledgments.hpp 2007-10-31 05:06:05 EDT (Wed, 31 Oct 2007)
@@ -9,7 +9,7 @@
 - Charles Brockman - for thoroughly analyzing the docs
 - Darryl Green - for giving me lots of feedback and showing me other ways to solve things
 - Caleb Epstein - for porting parts of my code to any non-Windows OS, and implementing several formatters and destinations
-- Stefan Slapeta and Bill Wade and a lot of others for giving me early feedback.
+- Stefan Slapeta and Bill Wade and a lot of others for giving me early feedback
 - Pavel Vozelinek - for very thourough reviews and lots of comments
 - Pavel Savara - for feedback about docs, thread-safety and gcc
 - Jens Seidel - for helping me with issues with gcc (different versions), and extra feedback

Modified: sandbox/logging/boost/logging/detail/use_format_write.hpp
==============================================================================
--- sandbox/logging/boost/logging/detail/use_format_write.hpp (original)
+++ sandbox/logging/boost/logging/detail/use_format_write.hpp 2007-10-31 05:06:05 EDT (Wed, 31 Oct 2007)
@@ -13,6 +13,9 @@
 // See http://www.boost.org for updates, documentation, and revision history.
 // See http://www.torjo.com/log2/ for more details
 
+#ifndef JT28092007_format_write_detail_HPP_DEFINED
+#error do not include this directly. Include logging/format/format_write.hpp instead
+#endif
 
 #ifndef JT28092007_use_format_write_HPP_DEFINED
 #define JT28092007_use_format_write_HPP_DEFINED

Modified: sandbox/logging/boost/logging/format.hpp
==============================================================================
--- sandbox/logging/boost/logging/format.hpp (original)
+++ sandbox/logging/boost/logging/format.hpp 2007-10-31 05:06:05 EDT (Wed, 31 Oct 2007)
@@ -13,6 +13,7 @@
 // See http://www.boost.org for updates, documentation, and revision history.
 // See http://www.torjo.com/log2/ for more details
 
+// this is fixed!
 #ifndef JT28092007_format_HPP_DEFINED
 #define JT28092007_format_HPP_DEFINED
 
@@ -582,7 +583,7 @@
 }}
 
 #include <boost/logging/detail/manipulator.hpp>
-#include <boost/logging/writer/format_write.hpp>
+#include <boost/logging/detail/format_write_detail.hpp>
 
 #include <boost/logging/format/formatter/defaults.hpp>
 #include <boost/logging/format/destination/defaults.hpp>

Modified: sandbox/logging/boost/logging/format/formatter/defaults.hpp
==============================================================================
--- sandbox/logging/boost/logging/format/formatter/defaults.hpp (original)
+++ sandbox/logging/boost/logging/format/formatter/defaults.hpp 2007-10-31 05:06:05 EDT (Wed, 31 Oct 2007)
@@ -26,6 +26,7 @@
 #include <boost/logging/format/formatter/time.hpp>
 #include <stdio.h>
 #include <time.h>
+#include <sstream>
 
 namespace boost { namespace logging { namespace formatter {
 

Modified: sandbox/logging/boost/logging/format/formatter/thread_id.hpp
==============================================================================
--- sandbox/logging/boost/logging/format/formatter/thread_id.hpp (original)
+++ sandbox/logging/boost/logging/format/formatter/thread_id.hpp 2007-10-31 05:06:05 EDT (Wed, 31 Oct 2007)
@@ -22,6 +22,9 @@
 #endif
 
 #include <boost/logging/detail/fwd.hpp>
+#include <boost/logging/formatter/convert_format.hpp>
+#include <boost/logging/detail/manipulator.hpp> // is_generic
+#include <sstream>
 
 namespace boost { namespace logging { namespace formatter {
 

Modified: sandbox/logging/boost/logging/writer/format_write.hpp
==============================================================================
--- sandbox/logging/boost/logging/writer/format_write.hpp (original)
+++ sandbox/logging/boost/logging/writer/format_write.hpp 2007-10-31 05:06:05 EDT (Wed, 31 Oct 2007)
@@ -13,7 +13,7 @@
 // See http://www.boost.org for updates, documentation, and revision history.
 // See http://www.torjo.com/log2/ for more details
 
-
+// this is fixed!
 #ifndef JT28092007_format_write_HPP_DEFINED
 #define JT28092007_format_write_HPP_DEFINED
 
@@ -21,234 +21,7 @@
 # pragma once
 #endif
 
-#include <boost/logging/detail/fwd.hpp>
-#include <boost/type_traits/is_base_of.hpp>
-
-namespace boost { namespace logging {
-
-/**
-_at_brief Classes that write the message, once it's been @ref gather "gathered".
-
-The most important class is writer::format_write
-
-*/
-namespace writer {
-
-/**
-_at_brief Allows custom formatting of the message before %logging it, and writing it to several destinations.
-
-Once the message has been @ref boost::logging::gather "gathered", it's time to write it.
-The current class defines the following concepts:
-- formatter - allows formatting the message before writing it
-- destination - is a place where the message is to be written to (like, the console, a file, a socket, etc)
-
-You can add several formatters and destinations. Note that each formatter class and each destination class is a @c %manipulator.
-Make sure you know what a manipulator is before using formatters and destinations.
-
-
-
-\n\n
-_at_section object_router The router object
-
-Once you've added the formatters and destinations, the @ref msg_route "router" comes into play. The @ref msg_route "router"
-specifies how formatters and destinations are called. By default, all formatters are called first, in the order they were added,
-and then all destinations are called, in the order they were added. You can easily access the router() instance.
-
-_at_code
-typedef logger< gather::ostream_like::return_cache_str<> , format_write< ... > > log_type;
-BOOST_DECLARE_LOG(g_l, log_type)
-BOOST_DECLARE_LOG_FILTER(g_log_filter, filter::no_ts )
-#define L_ BOOST_LOG_USE_LOG_IF_FILTER(g_l, g_log_filter->is_enabled() )
-
-// add formatters : [idx] [time] message [enter]
-g_l->writer().add_formatter( formatter::idx() );
-g_l->writer().add_formatter( formatter::time("$hh:$mm.$ss ") );
-g_l->writer().add_formatter( formatter::append_enter() );
-
-// write to cout and file
-g_l->writer().add_destination( destination::cout() );
-g_l->writer().add_destination( destination::file("out.txt") );
-
-// usage
-int i = 1;
-L_ << "testing " << i << i+1 << i+2;
-_at_endcode
-
-In the above case, @c formatter::idx() is called, then @c formatter::time(), then @c formatter::append_enter(). Now, the destinations are called:
-_at_c destinatino::cout(), and then @c destination::file().
-
-Most of the time this is ok, and this is what the @ref msg_route::simple "default router" does. However, there are other routers
-in the msg_route namespace. For instance, take a look at msg_route::with_route class.
-
-
-
-\n\n
-_at_section apply_format_and_write_object The apply_format_and_write object
-
-Once the formatters and destinations are added, and you know the route, you have an extra object - the format_and_write - which
-contains the logic for calling the formatters and destinations.
-The format_and_write class knows how to call the formatters and destination @c objects. Usually you'll be happy with the
-format_and_write::simple class - which simply calls @c operator() on the formatters , and @c operator() on the destinations.
-Otherwise, take a look at format_and_write namespace.
-
-An object of this type (apply_format_and_write) is created for each new logged message.
-
-
-\n\n
-_at_note This class is not thread-safe. If you want thread-safety, check out the other writer classes: on_dedicated_thread and ts_write
-
-
-
-\n\n
-_at_param format_base The base class for all formatter classes from your application. See manipulator.
-
-_at_param destination_base The base class for all destination classes from your application. See manipulator.
-
-_at_param apply_format_and_write [optional] The class that knows how to call the formatters and destinations. See @ref apply_format_and_write_object
-
-_at_param router_type [optional] The class that knows when to call the formatters, and when to call the destinations. See @ref object_router.
-
-
-
-\n\n
-_at_remarks Normally the router could own the formatters and destination objects. However, then, it would need to own the objects,
-which would mean needing to come up with a smart pointer strategy. This would complicate the router logic.
-Also, iterating over formatters/destinations would be slower, if we were to keep smart pointers within the router itself.
-*/
-template<
- class formatter_base,
- class destination_base,
- class apply_format_and_write = ::boost::logging::format_and_write::simple<typename formatter_base::raw_param>,
- class router_type = msg_route::simple<formatter_base, destination_base> ,
- class formatter_array = array::shared_ptr_holder<formatter_base> ,
- class destination_array = array::shared_ptr_holder<destination_base> >
-struct format_write {
- typedef typename formatter_base::ptr_type formatter_ptr;
- typedef typename destination_base::ptr_type destination_ptr;
-
- format_write() : m_router(m_formatters, m_destinations) {}
-
-
-private:
-
- // non-generic
- template<class formatter> void add_formatter_impl(formatter fmt, const boost::false_type& ) {
- formatter_ptr p = m_formatters.append(fmt);
- m_router.append_formatter(p);
- }
-
- // non-generic
- template<class formatter> void del_formatter_impl(formatter fmt, const boost::false_type& ) {
- formatter_ptr p = m_formatters.get_ptr(fmt);
- m_router.del_formatter(p);
- m_formatters.del(fmt);
- }
-
- // non-generic
- template<class destination> void add_destination_impl(destination dest, const boost::false_type& ) {
- destination_ptr p = m_destinations.append(dest);
- m_router.append_destination(p);
- }
-
- // non-generic
- template<class destination> void del_destination_impl(destination dest, const boost::false_type& ) {
- destination_ptr p = m_destinations.get_ptr(dest);
- m_router.del_destination(p);
- m_destinations.del(dest);
- }
-
-
-
-
-
- // generic manipulator
- template<class formatter> void add_formatter_impl(formatter fmt, const boost::true_type& ) {
- typedef boost::logging::manipulator::detail::generic_holder<formatter,formatter_base> holder;
- add_formatter_impl( holder(fmt), boost::false_type() );
- }
-
- // generic manipulator
- template<class formatter> void del_formatter_impl(formatter fmt, const boost::true_type& ) {
- typedef boost::logging::manipulator::detail::generic_holder<formatter,formatter_base> holder;
- del_formatter_impl( holder(fmt), boost::false_type() );
- }
-
- // generic manipulator
- template<class destination> void add_destination_impl(destination dest, const boost::true_type& ) {
- typedef boost::logging::manipulator::detail::generic_holder<destination,destination_base> holder;
- add_destination_impl( holder(dest), boost::false_type() );
- }
-
- // generic manipulator
- template<class destination> void del_destination_impl(destination dest, const boost::true_type& ) {
- typedef boost::logging::manipulator::detail::generic_holder<destination,destination_base> holder;
- del_destination_impl( holder(dest), boost::false_type() );
- }
-
-
-
-public:
- /**
- adds a formatter
- */
- template<class formatter> void add_formatter(formatter fmt) {
- typedef boost::logging::manipulator::is_generic is_generic;
- add_formatter_impl<formatter>( fmt, boost::is_base_of<is_generic,formatter>() );
- }
-
- /**
- deletes a formatter
- */
- template<class formatter> void del_formatter(formatter fmt) {
- typedef boost::logging::manipulator::is_generic is_generic;
- del_formatter_impl<formatter>( fmt, boost::is_base_of<is_generic,formatter>() );
- }
-
- /**
- adds a destination
- */
- template<class destination> void add_destination(destination dest) {
- typedef boost::logging::manipulator::is_generic is_generic;
- add_destination_impl<destination>( dest, boost::is_base_of<is_generic,destination>() );
- }
-
- /**
- deletes a destination
- */
- template<class destination> void del_destination(destination dest) {
- typedef boost::logging::manipulator::is_generic is_generic;
- del_destination_impl<destination>( dest, boost::is_base_of<is_generic,destination>() );
- }
-
- /**
- returns the object that actually routes the message
- */
- router_type& router() { return m_router; }
-
- /**
- returns the object that actually routes the message
- */
- const router_type& router() const { return m_router; }
-
- /**
- does the actual write
- */
- template<class msg_type> void operator()(msg_type & msg) const {
- router().template write<apply_format_and_write>(msg);
- }
-
-private:
- formatter_array m_formatters;
- destination_array m_destinations;
- router_type m_router;
-};
-
-} // namespace writer
-
-
-}}
-
-#include <boost/logging/detail/use_format_write.hpp>
+#include <boost/logging/format.hpp>
 
 #endif
 

Modified: sandbox/logging/lib/logging/samples/vc8/loggingvc8/loggingvc8.vcproj
==============================================================================
--- sandbox/logging/lib/logging/samples/vc8/loggingvc8/loggingvc8.vcproj (original)
+++ sandbox/logging/lib/logging/samples/vc8/loggingvc8/loggingvc8.vcproj 2007-10-31 05:06:05 EDT (Wed, 31 Oct 2007)
@@ -325,7 +325,7 @@
                         Name="tests"
>
                         <File
- RelativePath="..\..\..\tests\format\test_format_write_ts.cpp"
+ RelativePath="..\..\..\tests\do_not_use\format\test_format_write_ts.cpp"
>
                                 <FileConfiguration
                                         Name="Test|Win32"
@@ -345,7 +345,7 @@
                                 </FileConfiguration>
                         </File>
                         <File
- RelativePath="..\..\..\tests\format\test_manip_being_func.cpp"
+ RelativePath="..\..\..\tests\do_not_use\format\test_manip_being_func.cpp"
>
                                 <FileConfiguration
                                         Name="Test|Win32"
@@ -365,7 +365,7 @@
                                 </FileConfiguration>
                         </File>
                         <File
- RelativePath="..\..\..\tests\format\test_manip_w_msgroute.cpp"
+ RelativePath="..\..\..\tests\do_not_use\format\test_manip_w_msgroute.cpp"
>
                                 <FileConfiguration
                                         Name="Test|Win32"
@@ -385,7 +385,7 @@
                                 </FileConfiguration>
                         </File>
                         <File
- RelativePath="..\..\..\tests\test_mul_lev_difflogs.cpp"
+ RelativePath="..\..\..\tests\do_not_use\test_mul_lev_difflogs.cpp"
>
                                 <FileConfiguration
                                         Name="Test|Win32"
@@ -405,7 +405,7 @@
                                 </FileConfiguration>
                         </File>
                         <File
- RelativePath="..\..\..\tests\test_mul_lev_samelog.cpp"
+ RelativePath="..\..\..\tests\do_not_use\test_mul_lev_samelog.cpp"
>
                                 <FileConfiguration
                                         Name="Test|Win32"
@@ -425,7 +425,7 @@
                                 </FileConfiguration>
                         </File>
                         <File
- RelativePath="..\..\..\tests\test_multiple_simple_logs.cpp"
+ RelativePath="..\..\..\tests\do_not_use\test_multiple_simple_logs.cpp"
>
                                 <FileConfiguration
                                         Name="Test|Win32"
@@ -445,7 +445,7 @@
                                 </FileConfiguration>
                         </File>
                         <File
- RelativePath="..\..\..\tests\test_ostream_like.cpp"
+ RelativePath="..\..\..\tests\do_not_use\test_ostream_like.cpp"
>
                                 <FileConfiguration
                                         Name="Test|Win32"
@@ -465,7 +465,7 @@
                                 </FileConfiguration>
                         </File>
                         <File
- RelativePath="..\..\..\tests\test_simple_dump_to_cout.cpp"
+ RelativePath="..\..\..\tests\do_not_use\test_simple_dump_to_cout.cpp"
>
                                 <FileConfiguration
                                         Name="Test|Win32"
@@ -485,7 +485,7 @@
                                 </FileConfiguration>
                         </File>
                         <File
- RelativePath="..\..\..\tests\format\test_simple_formatter.cpp"
+ RelativePath="..\..\..\tests\do_not_use\format\test_simple_formatter.cpp"
>
                                 <FileConfiguration
                                         Name="Test|Win32"
@@ -505,11 +505,10 @@
                                 </FileConfiguration>
                         </File>
                         <File
- RelativePath="..\..\..\tests\testfast.cpp"
+ RelativePath="..\..\..\tests\do_not_use\testfast.cpp"
>
                                 <FileConfiguration
                                         Name="Test|Win32"
- ExcludedFromBuild="true"
>
                                         <Tool
                                                 Name="VCCLCompilerTool"
@@ -524,98 +523,6 @@
                                         />
                                 </FileConfiguration>
                         </File>
- <Filter
- Name="scenarios"
- >
- <File
- RelativePath="..\..\scenarios\custom_fmt_dest.cpp"
- >
- <FileConfiguration
- Name="Test|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\scenarios\fastest_no_ostr_like.cpp"
- >
- <FileConfiguration
- Name="Test|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\scenarios\fastest_use_ostr_like.cpp"
- >
- <FileConfiguration
- Name="Test|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\scenarios\mul_levels_mul_logers.cpp"
- >
- </File>
- <File
- RelativePath="..\..\scenarios\mul_levels_one_logger.cpp"
- >
- <FileConfiguration
- Name="Test|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\scenarios\mul_loggers_one_filter.cpp"
- >
- <FileConfiguration
- Name="Test|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\scenarios\no_levels_with_route.cpp"
- >
- <FileConfiguration
- Name="Test|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- <File
- RelativePath="..\..\scenarios\one_loger_one_filter.cpp"
- >
- <FileConfiguration
- Name="Test|Win32"
- ExcludedFromBuild="true"
- >
- <Tool
- Name="VCCLCompilerTool"
- />
- </FileConfiguration>
- </File>
- </Filter>
                 </Filter>
                 <Filter
                         Name="main"
@@ -824,6 +731,10 @@
>
                                 </File>
                                 <File
+ RelativePath="..\..\..\..\..\boost\logging\detail\format_write_detail.hpp"
+ >
+ </File>
+ <File
                                         RelativePath="..\..\..\..\..\boost\logging\detail\manipulator.hpp"
>
                                 </File>
@@ -981,6 +892,106 @@
                                 </File>
                         </Filter>
                 </Filter>
+ <Filter
+ Name="scenarios"
+ >
+ <File
+ RelativePath="..\..\scenarios\custom_fmt_dest.cpp"
+ >
+ <FileConfiguration
+ Name="Test|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\scenarios\fastest_no_ostr_like.cpp"
+ >
+ <FileConfiguration
+ Name="Test|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\scenarios\fastest_use_ostr_like.cpp"
+ >
+ <FileConfiguration
+ Name="Test|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\scenarios\mul_levels_mul_logers.cpp"
+ >
+ <FileConfiguration
+ Name="Test|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\scenarios\mul_levels_one_logger.cpp"
+ >
+ <FileConfiguration
+ Name="Test|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\scenarios\mul_loggers_one_filter.cpp"
+ >
+ <FileConfiguration
+ Name="Test|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\scenarios\no_levels_with_route.cpp"
+ >
+ <FileConfiguration
+ Name="Test|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ <File
+ RelativePath="..\..\scenarios\one_loger_one_filter.cpp"
+ >
+ <FileConfiguration
+ Name="Test|Win32"
+ ExcludedFromBuild="true"
+ >
+ <Tool
+ Name="VCCLCompilerTool"
+ />
+ </FileConfiguration>
+ </File>
+ </Filter>
         </Files>
         <Globals>
         </Globals>

Modified: sandbox/logging/lib/logging/tests/do_not_use/testfast.cpp
==============================================================================
--- sandbox/logging/lib/logging/tests/do_not_use/testfast.cpp (original)
+++ sandbox/logging/lib/logging/tests/do_not_use/testfast.cpp 2007-10-31 05:06:05 EDT (Wed, 31 Oct 2007)
@@ -5,7 +5,8 @@
 // Step 1: Optimize : use a cache string, to make formatting the message faster
 BOOST_LOG_FORMAT_MSG( optimize::cache_string_one_str<> )
 
-#include <boost/logging/format.hpp>
+//#include <boost/logging/format.hpp>
+#include <boost/logging/writer/format_write.hpp>
 
 using namespace boost::logging;
 


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