$include_dir="/home/hyper-archives/boost-commit/include"; include("$include_dir/msg-header.inc") ?>
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;