[boost-doc-zh] r322 committed - 转换至1.40.0,第6批,完成以下库:...

  • From: codesite-noreply@xxxxxxxxxx
  • To: boost-doc-zh-notify@xxxxxxxxxxxxx
  • Date: Fri, 04 Sep 2009 11:09:52 +0000

Revision: 322
Author: alai04
Date: Fri Sep  4 04:09:20 2009
Log: 转换至1.40.0,第6批,完成以下库:
assign
bimap
bind & mem_fn
call_traits
circular_buffer
compatibility
compressed_pair
config
conversion
crc
dynamic_bitset
enable_if
exception
operators
http://code.google.com/p/boost-doc-zh/source/detail?r=322

Added:
 /trunk/libs/bind/doc
 /trunk/libs/bind/doc/ref.xml
 /trunk/libs/crc/test
 /trunk/libs/crc/test/crc_test.cpp
 /trunk/libs/exception/doc/boost_exception_all_hpp.html
 /trunk/libs/exception/doc/boost_exception_diagnostic_information_hpp.html
 /trunk/libs/exception/doc/boost_exception_enable_current_exception_hpp.html
 /trunk/libs/exception/doc/boost_exception_enable_error_info_hpp.html
 /trunk/libs/exception/doc/boost_exception_errinfo_api_function_hpp.html
 /trunk/libs/exception/doc/boost_exception_errinfo_at_line_hpp.html
 /trunk/libs/exception/doc/boost_exception_errinfo_errno_hpp.html
 /trunk/libs/exception/doc/boost_exception_errinfo_file_handle_hpp.html
 /trunk/libs/exception/doc/boost_exception_errinfo_file_name_hpp.html
 /trunk/libs/exception/doc/boost_exception_errinfo_file_open_mode_hpp.html
 /trunk/libs/exception/doc/boost_exception_errinfo_type_info_name_hpp.html
 /trunk/libs/exception/doc/boost_exception_error_info_hpp.html
 /trunk/libs/exception/doc/boost_exception_exception_hpp.html
 /trunk/libs/exception/doc/boost_exception_get_error_info_hpp.html
 /trunk/libs/exception/doc/boost_exception_hpp.html
 /trunk/libs/exception/doc/boost_exception_info_hpp.html
 /trunk/libs/exception/doc/boost_exception_info_tuple_hpp.html
 /trunk/libs/exception/doc/boost_exception_ptr_hpp.html
 /trunk/libs/exception/doc/boost_throw_exception_hpp.html
 /trunk/libs/exception/doc/errinfo_api_function.html
 /trunk/libs/exception/doc/errinfo_at_line.html
 /trunk/libs/exception/doc/errinfo_errno.html
 /trunk/libs/exception/doc/errinfo_file_handle.html
 /trunk/libs/exception/doc/errinfo_file_name.html
 /trunk/libs/exception/doc/errinfo_file_open_mode.html
 /trunk/libs/exception/doc/errinfo_type_info_name.html
Deleted:
 /trunk/libs/crc/crc_test.cpp
 /trunk/libs/exception/doc/exception_cloning_hpp.html
 /trunk/libs/exception/doc/exception_diagnostic_information_hpp.html
 /trunk/libs/exception/doc/exception_enable_current_exception_hpp.html
 /trunk/libs/exception/doc/exception_enable_error_info_hpp.html
 /trunk/libs/exception/doc/exception_error_info_group_hpp.html
 /trunk/libs/exception/doc/exception_error_info_hpp.html
 /trunk/libs/exception/doc/exception_error_info_value_hpp.html
 /trunk/libs/exception/doc/exception_exception_hpp.html
 /trunk/libs/exception/doc/exception_get_error_info_hpp.html
 /trunk/libs/exception/doc/exception_hpp.html
Modified:
 /trunk/libs/circular_buffer/doc/circular_buffer.html
 /trunk/libs/config/doc/html/boost_config/boost_macro_reference.html
 /trunk/libs/config/doc/html/index.html
 /trunk/libs/crc/crc.html
 /trunk/libs/exception/doc/current_exception.html
 /trunk/libs/exception/doc/current_exception_diagnostic_information.html
 /trunk/libs/exception/doc/diagnostic_information.html
 /trunk/libs/exception/doc/enable_current_exception.html
 /trunk/libs/exception/doc/enable_error_info.html
 /trunk/libs/exception/doc/error_info.html
 /trunk/libs/exception/doc/error_info_error_info.html
 /trunk/libs/exception/doc/error_info_value.html
 /trunk/libs/exception/doc/exception.html
 /trunk/libs/exception/doc/exception_operator_shl.html
 /trunk/libs/exception/doc/exception_ptr.html
 /trunk/libs/exception/doc/frequently_asked_questions.html
 /trunk/libs/exception/doc/get_error_info.html
 /trunk/libs/exception/doc/headers.html
 /trunk/libs/exception/doc/page_idx.html
 /trunk/libs/exception/doc/rethrow_exception.html
 /trunk/libs/exception/doc/synopsis.html
 /trunk/libs/exception/doc/throw_exception.html
 /trunk/libs/exception/doc/tuple_operator_shl.html
 /trunk/libs/exception/doc/tutorial_diagnostic_information.html
 /trunk/libs/exception/doc/tutorial_enable_error_info.html
 /trunk/libs/exception/doc/tutorial_exception_ptr.html
 /trunk/libs/exception/doc/tutorial_transporting_data.html
 /trunk/libs/exception/doc/types.html
 /trunk/libs/exception/doc/unknown_exception.html
 /trunk/libs/utility/operators.htm

=======================================
--- /dev/null
+++ /trunk/libs/bind/doc/ref.xml        Fri Sep  4 04:09:20 2009
@@ -0,0 +1,262 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE library PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
+  "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd";>
+<library name="Ref" dirname="ref" id="ref" last-revision="$Date: 2009-06-03 10:36:08 -0400 (Wed, 03 Jun 2009) $">
+  <libraryinfo>
+    <author>
+      <firstname>Jaakko</firstname>
+      <surname>J&auml;rvi</surname>
+    </author>
+    <author>
+      <firstname>Peter</firstname>
+      <surname>Dimov</surname>
+    </author>
+    <author>
+      <firstname>Douglas</firstname>
+      <surname>Gregor</surname>
+    </author>
+    <author>
+      <firstname>Dave</firstname>
+      <surname>Abrahams</surname>
+    </author>
+
+    <copyright>
+      <year>1999</year>
+      <year>2000</year>
+      <holder>Jaakko J&auml;rvi</holder>
+    </copyright>
+
+    <copyright>
+      <year>2001</year>
+      <year>2002</year>
+      <holder>Peter Dimov</holder>
+    </copyright>
+
+    <copyright>
+      <year>2002</year>
+      <holder>David Abrahams</holder>
+    </copyright>
+
+    <legalnotice>
+      <para>Subject to the Boost Software License, Version 1.0. See
+      accompanying file <filename>LICENSE_1_0.txt</filename> or copy at
+ <ulink url="http://www.boost.org/LICENSE_1_0.txt";>http://www.boost.org/LICENSE_1_0.txt</ulink>.
+      </para>
+    </legalnotice>
+
+ <librarypurpose>A utility library for passing references to generic functions</librarypurpose>
+    <librarycategory name="category:higher-order"/>
+  </libraryinfo>
+
+<title>Boost.Ref</title>
+
+<section id="ref.intro">
+  <title>Introduction</title>
+
+  <using-namespace name="boost"/>
+
+  <para>The Ref library is a small library that is useful for passing
+  references to function templates (algorithms) that would usually
+  take copies of their arguments. It defines the class template
+  <code><classname>boost::reference_wrapper&lt;T&gt;</classname></code>,
+  two functions
+  <code><functionname>boost::ref</functionname></code> and
+  <code><functionname>boost::cref</functionname></code> that return
+  instances of <code>boost::reference_wrapper&lt;T&gt;</code>,
+  a function <code><functionname>boost::unwrap_ref</functionname></code>
+  that unwraps a <code>boost::reference_wrapper&lt;T&gt;</code> or
+  returns a reference to any other type of object, and the
+  two traits classes
+  <code><classname>boost::is_reference_wrapper&lt;T&gt;</classname></code>
+  and
+ <code><classname>boost::unwrap_reference&lt;T&gt;</classname></code>.</para>
+
+  <para>The purpose of
+  <code>boost::reference_wrapper&lt;T&gt;</code> is to
+  contain a reference to an object of type T. It is primarily used to
+  "feed" references to function templates (algorithms) that take their
+  parameter by value.</para>
+
+  <para>To support this usage,
+  <code>boost::reference_wrapper&lt;T&gt;</code> provides an implicit
+  conversion to <code>T&amp;</code>. This usually allows the function
+  templates to work on references unmodified.</para>
+
+  <para><code>boost::reference_wrapper&lt;T&gt;</code> is
+  both CopyConstructible and Assignable (ordinary references are not
+  Assignable).</para>
+
+  <para>The expression <code>boost::ref(x)</code>
+  returns a
+  <code>boost::reference_wrapper&lt;X&gt;(x)</code> where X
+  is the type of x. Similarly,
+  <code>boost::cref(x)</code> returns a
+  <code>boost::reference_wrapper&lt;X const&gt;(x)</code>.</para>
+
+  <para>The expression <code>boost::unwrap_ref(x)</code>
+  returns a
+  <code>boost::unwrap_reference&lt;X&gt;::type&amp;</code> where X
+  is the type of x.</para>
+
+  <para>The expression
+  <code>boost::is_reference_wrapper&lt;T&gt;::value</code>
+  is true if T is a <code>reference_wrapper</code>, and
+  false otherwise.</para>
+
+  <para>The type-expression
+  <code>boost::unwrap_reference&lt;T&gt;::type</code> is T::type if T
+  is a <code>reference_wrapper</code>, T otherwise.</para>
+</section>
+
+<library-reference>
+<header name="boost/ref.hpp">
+  <namespace name="boost">
+    <class name="reference_wrapper">
+      <template>
+        <template-type-parameter name="T"/>
+      </template>
+      <purpose>
+        Contains a reference to an object of type
+        <computeroutput>T</computeroutput>.
+      </purpose>
+
+      <description>
+ <para><computeroutput><classname>reference_wrapper</classname></computeroutput>
+        is primarily used to "feed" references to function templates
+        (algorithms) that take their parameter by value.  It provides
+        an implicit conversion to
+        <computeroutput>T&amp;</computeroutput>, which usually allows
+        the function templates to work on references
+        unmodified.</para>
+      </description>
+
+      <typedef name="type"><type>T</type></typedef>
+
+      <constructor specifiers="explicit">
+        <parameter name="t">
+          <paramtype>T&amp;</paramtype>
+        </parameter>
+
+        <effects><simpara>Constructs a
+ <computeroutput><classname>reference_wrapper</classname></computeroutput>
+        object that stores a reference to
+        <computeroutput>t</computeroutput>.</simpara></effects>
+
+        <throws><simpara>Does not throw.</simpara></throws>
+      </constructor>
+
+      <method-group name="access">
+        <method name="conversion-operator" cv="const">
+          <type>T&amp;</type>
+          <returns><simpara>The stored reference.</simpara></returns>
+          <throws><simpara>Does not throw.</simpara></throws>
+        </method>
+
+        <method name="get" cv="const">
+          <type>T&amp;</type>
+          <returns><simpara>The stored reference.</simpara></returns>
+          <throws><simpara>Does not throw.</simpara></throws>
+        </method>
+
+        <method name="get_pointer" cv="const">
+          <type>T*</type>
+ <returns><simpara>A pointer to the object referenced by the stored reference.</simpara></returns>
+          <throws><simpara>Does not throw.</simpara></throws>
+        </method>
+      </method-group>
+
+      <free-function-group name="constructors">
+        <function name="ref">
+          <type>reference_wrapper&lt;T&gt;</type>
+          <parameter name="t">
+            <paramtype>T&amp;</paramtype>
+          </parameter>
+
+ <returns><simpara><computeroutput><classname>reference_wrapper</classname>&lt;T&gt;(t)</computeroutput></simpara></returns>
+
+          <throws><simpara>Does not throw.</simpara></throws>
+        </function>
+
+        <function name="cref">
+          <type>reference_wrapper&lt;T const&gt;</type>
+          <parameter name="t">
+            <paramtype>T const&amp;</paramtype>
+          </parameter>
+
+ <returns><simpara><computeroutput><classname>reference_wrapper</classname>&lt;T const&gt;(t)</computeroutput></simpara></returns>
+
+          <throws><simpara>Does not throw.</simpara></throws>
+        </function>
+      </free-function-group>
+
+      <free-function-group name="access">
+        <function name="unwrap_ref">
+          <type>unwrap_reference&lt;T&gt;::type&amp;</type>
+          <parameter name="t">
+            <paramtype>T&amp;</paramtype>
+          </parameter>
+
+ <returns><simpara><computeroutput><classname>unwrap_reference</classname>&lt;T&gt;::type&amp;(t)</computeroutput></simpara></returns>
+
+          <throws><simpara>Does not throw.</simpara></throws>
+        </function>
+      </free-function-group>
+    </class>
+
+    <class name="is_reference_wrapper">
+      <template>
+        <template-type-parameter name="T"/>
+      </template>
+
+ <purpose>Determine if a type <computeroutput>T</computeroutput> is an instantiation of <computeroutput><classname>reference_wrapper</classname></computeroutput>.</purpose>
+
+      <description>
+        <para>The <computeroutput>value</computeroutput> static
+        constant will be <computeroutput>true</computeroutput> iff the
+        type <computeroutput>T</computeroutput> is a specialization of
+ <computeroutput><classname>reference_wrapper</classname></computeroutput>.</para>
+      </description>
+
+      <static-constant name="value">
+        <type>bool</type>
+        <default><emphasis>unspecified</emphasis></default>
+      </static-constant>
+    </class>
+
+    <class name="unwrap_reference">
+      <template>
+        <template-type-parameter name="T"/>
+      </template>
+
+ <purpose>Find the type in a <computeroutput><classname>reference_wrapper</classname></computeroutput>.</purpose>
+
+      <description>
+        <para>The typedef <computeroutput>type</computeroutput> is
+        <computeroutput>T::type</computeroutput> if
+        <computeroutput>T</computeroutput> is a
+ <computeroutput><classname>reference_wrapper</classname></computeroutput>,
+        <computeroutput>T</computeroutput> otherwise.</para>
+      </description>
+
+ <typedef name="type"><type><emphasis>unspecified</emphasis></type></typedef>
+    </class>
+  </namespace>
+</header>
+</library-reference>
+
+<section id="ref.ack">
+  <title>Acknowledgements</title>
+
+  <using-namespace name="boost"/>
+
+ <para><functionname>ref</functionname> and <functionname>cref</functionname>
+  were originally part of the <libraryname>Tuple</libraryname> library
+  by Jaakko J&auml;rvi. They were "promoted to boost:: status" by
+  Peter Dimov because they are generally useful.  Douglas Gregor and
+  Dave Abrahams contributed
+  <classname>is_reference_wrapper</classname> and
+  <classname>unwrap_reference</classname>.  Frank Mori Hess and Ronald
+  Garcia contributed <functionname>boost::unwrap_ref</functionname></para>
+</section>
+
+</library>
=======================================
--- /dev/null
+++ /trunk/libs/crc/test/crc_test.cpp   Fri Sep  4 04:09:20 2009
@@ -0,0 +1,761 @@
+// Boost CRC test program file ---------------------------------------------//
+
+//  Copyright 2001, 2003, 2004 Daryle Walker.  Use, modification, and
+// distribution are subject to the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or a copy at
+//  <http://www.boost.org/LICENSE_1_0.txt>.)
+
+//  See <http://www.boost.org/libs/crc/> for the library's home page.
+
+//  Revision History
+//  28 Aug 2004  Added CRC tests for polynominals shorter than 8 bits
+//               (Daryle Walker, by patch from Bert Klaps)
+//  23 Aug 2003  Adjust to updated Test framework (Daryle Walker)
+//  14 May 2001  Initial version (Daryle Walker)
+
+
+#include <boost/config.hpp>                      // for BOOST_MSVC, etc.
+#include <boost/crc.hpp> // for boost::crc_basic, etc. +#include <boost/cstdint.hpp> // for boost::uint16_t, etc.
+#include <boost/cstdlib.hpp>                     // for boost::exit_success
+#include <boost/integer.hpp>                     // for boost::uint_t
+#include <boost/random/linear_congruential.hpp>  // for boost::minstd_rand
+#include <boost/test/minimal.hpp>                // for main, etc.
+#include <boost/timer.hpp>                       // for boost::timer
+
+#include <algorithm>  // for std::for_each, std::generate_n, std::count
+#include <climits>    // for CHAR_BIT
+#include <cstddef>    // for std::size_t
+#include <iostream> // for std::cout (std::ostream and std::endl indirectly)
+
+
+#if CHAR_BIT != 8
+#error The expected results assume an eight-bit byte.
+#endif
+
+#if !(defined(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS) || (defined(BOOST_MSVC) && (BOOST_MSVC <= 1300)))
+#define CRC_PARM_TYPE  typename boost::uint_t<Bits>::fast
+#else
+#define CRC_PARM_TYPE  unsigned long
+#endif
+
+#if !defined(BOOST_MSVC) && !defined(__GNUC__)
+#define PRIVATE_DECLARE_BOOST( TypeName )  using boost:: TypeName
+#else
+#define PRIVATE_DECLARE_BOOST( TypeName ) typedef boost:: TypeName TypeName
+#endif
+
+
+// Types
+template < std::size_t Bits, CRC_PARM_TYPE TrPo, CRC_PARM_TYPE InRe,
+           CRC_PARM_TYPE FiXo, bool ReIn, bool ReRe >
+class crc_tester
+{
+public:
+    // All the following were separate function templates, but they have
+    // been moved to class-static member functions of a class template
+    // because MS VC++ 6 can't handle function templates that can't
+    // deduce all their template arguments from their function arguments.
+
+    typedef typename boost::uint_t<Bits>::fast  value_type;
+
+ static void master_test( char const *test_name, value_type expected );
+
+private:
+    typedef boost::crc_optimal<Bits, TrPo, InRe, FiXo, ReIn, ReRe>
+      optimal_crc_type;
+    typedef boost::crc_basic<Bits>  basic_crc_type;
+
+    static  void  compute_test( value_type expected );
+    static  void  interrupt_test( value_type expected );
+    static  void  error_test();
+
+};  // crc_tester
+
+// Global data
+unsigned char const std_data[] = { 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
+                      0x38, 0x39 };
+std::size_t const std_data_len = sizeof( std_data ) / sizeof( std_data[0] );
+
+boost::uint16_t const  std_crc_ccitt_result = 0x29B1;
+boost::uint16_t const  std_crc_16_result = 0xBB3D;
+boost::uint32_t const  std_crc_32_result = 0xCBF43926;
+
+// Function prototypes
+void             timing_test();
+boost::uint32_t  basic_crc32( void const *buffer, std::size_t byte_count );
+boost::uint32_t optimal_crc32( void const *buffer, std::size_t byte_count );
+boost::uint32_t  quick_crc32( void const *buffer, std::size_t byte_count );
+boost::uint32_t  quick_reflect( boost::uint32_t value, std::size_t bits );
+double           time_trial( char const *name,
+ boost::uint32_t (*crc_func)(void const *, std::size_t),
+ boost::uint32_t expected, void const *data, std::size_t length );
+
+void             augmented_tests();
+boost::uint32_t  native_to_big( boost::uint32_t x );
+boost::uint32_t  big_to_native( boost::uint32_t x );
+
+void  small_crc_test1();
+void  small_crc_test2();
+
+
+// Macro to compact code
+#define PRIVATE_TESTER_NAME  crc_tester<Bits, TrPo, InRe, FiXo, ReIn, ReRe>
+
+// Run a test on slow and fast CRC computers and function
+template < std::size_t Bits, CRC_PARM_TYPE TrPo, CRC_PARM_TYPE InRe,
+           CRC_PARM_TYPE FiXo, bool ReIn, bool ReRe >
+void
+PRIVATE_TESTER_NAME::compute_test
+(
+    typename PRIVATE_TESTER_NAME::value_type  expected
+)
+{
+    std::cout << "\tDoing computation tests." << std::endl;
+
+    optimal_crc_type  fast_crc;
+    basic_crc_type    slow_crc( TrPo, InRe, FiXo, ReIn, ReRe );
+ value_type const func_result = boost::crc<Bits, TrPo, InRe, FiXo, ReIn,
+     ReRe>( std_data, std_data_len );
+
+    fast_crc.process_bytes( std_data, std_data_len );
+    slow_crc.process_bytes( std_data, std_data_len );
+    BOOST_CHECK( fast_crc.checksum() == expected );
+    BOOST_CHECK( slow_crc.checksum() == expected );
+    BOOST_CHECK( func_result == expected );
+}
+
+// Run a test in two runs, and check all the inspectors
+template < std::size_t Bits, CRC_PARM_TYPE TrPo, CRC_PARM_TYPE InRe,
+           CRC_PARM_TYPE FiXo, bool ReIn, bool ReRe >
+void
+PRIVATE_TESTER_NAME::interrupt_test
+(
+    typename PRIVATE_TESTER_NAME::value_type  expected
+)
+{
+    std::cout << "\tDoing interrupt tests." << std::endl;
+
+    // Process the first half of the data (also test accessors)
+    optimal_crc_type  fast_crc1;
+    basic_crc_type    slow_crc1( fast_crc1.get_truncated_polynominal(),
+     fast_crc1.get_initial_remainder(), fast_crc1.get_final_xor_value(),
+     fast_crc1.get_reflect_input(), fast_crc1.get_reflect_remainder() );
+
+    BOOST_CHECK( fast_crc1.get_interim_remainder() ==
+     slow_crc1.get_initial_remainder() );
+
+    std::size_t const            mid_way = std_data_len / 2;
+    unsigned char const * const  std_data_end = std_data + std_data_len;
+
+    fast_crc1.process_bytes( std_data, mid_way );
+    slow_crc1.process_bytes( std_data, mid_way );
+    BOOST_CHECK( fast_crc1.checksum() == slow_crc1.checksum() );
+
+    // Process the second half of the data (also test accessors)
+    boost::crc_optimal<optimal_crc_type::bit_count,
+ optimal_crc_type::truncated_polynominal, optimal_crc_type::initial_remainder,
+     optimal_crc_type::final_xor_value, optimal_crc_type::reflect_input,
+     optimal_crc_type::reflect_remainder>
+      fast_crc2( fast_crc1.get_interim_remainder() );
+    boost::crc_basic<basic_crc_type::bit_count>  slow_crc2(
+ slow_crc1.get_truncated_polynominal(), slow_crc1.get_interim_remainder(),
+     slow_crc1.get_final_xor_value(), slow_crc1.get_reflect_input(),
+     slow_crc1.get_reflect_remainder() );
+
+    fast_crc2.process_block( std_data + mid_way, std_data_end );
+    slow_crc2.process_block( std_data + mid_way, std_data_end );
+    BOOST_CHECK( fast_crc2.checksum() == slow_crc2.checksum() );
+    BOOST_CHECK( fast_crc2.checksum() == expected );
+    BOOST_CHECK( slow_crc2.checksum() == expected );
+}
+
+// Run a test to see if a single-bit error is detected
+template < std::size_t Bits, CRC_PARM_TYPE TrPo, CRC_PARM_TYPE InRe,
+           CRC_PARM_TYPE FiXo, bool ReIn, bool ReRe >
+void
+PRIVATE_TESTER_NAME::error_test
+(
+)
+{
+    PRIVATE_DECLARE_BOOST( uint32_t );
+
+    // A single-bit error is ensured to be detected if the polynominal
+    // has at least two bits set.  The highest bit is what is removed
+    // to give the truncated polynominal, and it is always set.  This
+    // means that the truncated polynominal needs at least one of its
+    // bits set, which implies that it cannot be zero.
+    if ( !(TrPo & boost::detail::mask_uint_t<Bits>::sig_bits_fast) )
+    {
+        BOOST_FAIL( "truncated CRC polymonial is zero" );
+    }
+
+    std::cout << "\tDoing error tests." << std::endl;
+
+    // Create a random block of data
+    uint32_t           ran_data[ 256 ];
+    std::size_t const  ran_length = sizeof(ran_data) / sizeof(ran_data[0]);
+
+    std::generate_n( ran_data, ran_length, boost::minstd_rand() );
+
+    // Create computers and compute the checksum of the data
+    optimal_crc_type  fast_tester;
+    basic_crc_type    slow_tester( TrPo, InRe, FiXo, ReIn, ReRe );
+
+    fast_tester.process_bytes( ran_data, sizeof(ran_data) );
+    slow_tester.process_bytes( ran_data, sizeof(ran_data) );
+
+    uint32_t const  fast_checksum = fast_tester.checksum();
+    uint32_t const  slow_checksum = slow_tester.checksum();
+
+    BOOST_CHECK( fast_checksum == slow_checksum );
+
+    // Do the checksum again (and test resetting ability)
+    fast_tester.reset();
+    slow_tester.reset( InRe );
+    fast_tester.process_bytes( ran_data, sizeof(ran_data) );
+    slow_tester.process_bytes( ran_data, sizeof(ran_data) );
+    BOOST_CHECK( fast_tester.checksum() == slow_tester.checksum() );
+    BOOST_CHECK( fast_tester.checksum() == fast_checksum );
+    BOOST_CHECK( slow_tester.checksum() == slow_checksum );
+
+    // Produce a single-bit error
+    ran_data[ ran_data[0] % ran_length ] ^= ( 1 << (ran_data[1] % 32) );
+
+    // Compute the checksum of the errorenous data
+    // (and continue testing resetting ability)
+    fast_tester.reset( InRe );
+    slow_tester.reset();
+    fast_tester.process_bytes( ran_data, sizeof(ran_data) );
+    slow_tester.process_bytes( ran_data, sizeof(ran_data) );
+    BOOST_CHECK( fast_tester.checksum() == slow_tester.checksum() );
+    BOOST_CHECK( fast_tester.checksum() != fast_checksum );
+    BOOST_CHECK( slow_tester.checksum() != slow_checksum );
+}
+
+// Run the other CRC object tests
+template < std::size_t Bits, CRC_PARM_TYPE TrPo, CRC_PARM_TYPE InRe,
+           CRC_PARM_TYPE FiXo, bool ReIn, bool ReRe >
+void
+PRIVATE_TESTER_NAME::master_test
+(
+    char const *                              test_name,
+    typename PRIVATE_TESTER_NAME::value_type  expected
+)
+{
+    std::cout << "Doing test suite for " << test_name << '.' << std::endl;
+    compute_test( expected );
+    interrupt_test( expected );
+    error_test();
+}
+
+// Undo limited macros
+#undef PRIVATE_TESTER_NAME
+
+
+// A CRC-32 computer based on crc_basic, for timing
+boost::uint32_t
+basic_crc32
+(
+    void const *  buffer,
+    std::size_t   byte_count
+)
+{
+ static boost::crc_basic<32> computer( 0x04C11DB7, 0xFFFFFFFF, 0xFFFFFFFF,
+     true, true );
+
+    computer.reset();
+    computer.process_bytes( buffer, byte_count );
+    return computer.checksum();
+}
+
+// A CRC-32 computer based on crc_optimal, for timing
+inline
+boost::uint32_t
+optimal_crc32
+(
+    void const *  buffer,
+    std::size_t   byte_count
+)
+{
+    static  boost::crc_32_type  computer;
+
+    computer.reset();
+    computer.process_bytes( buffer, byte_count );
+    return computer.checksum();
+}
+
+// Reflect the lower "bits" bits of a "value"
+boost::uint32_t
+quick_reflect
+(
+    boost::uint32_t  value,
+    std::size_t      bits
+)
+{
+    boost::uint32_t  reflection = 0;
+    for ( std::size_t i = 0 ; i < bits ; ++i )
+    {
+        if ( value & (1u << i) )
+        {
+            reflection |= 1 << ( bits - 1 - i );
+        }
+    }
+
+    return reflection;
+}
+
+// A customized CRC-32 computer, for timing
+boost::uint32_t
+quick_crc32
+(
+    void const *  buffer,
+    std::size_t   byte_count
+)
+{
+    PRIVATE_DECLARE_BOOST( uint32_t );
+    typedef unsigned char  byte_type;
+
+    // Compute the CRC table (first run only)
+    static  bool      did_init = false;
+    static  uint32_t  crc_table[ 1ul << CHAR_BIT ];
+    if ( !did_init )
+    {
+        uint32_t const  value_high_bit = static_cast<uint32_t>(1) << 31u;
+
+        byte_type  dividend = 0;
+        do
+        {
+            uint32_t  remainder = 0;
+ for ( byte_type mask = 1u << (CHAR_BIT - 1u) ; mask ; mask >>= 1 )
+            {
+                if ( dividend & mask )
+                {
+                    remainder ^= value_high_bit;
+                }
+
+                if ( remainder & value_high_bit )
+                {
+                    remainder <<= 1;
+                    remainder ^= 0x04C11DB7u;
+                }
+                else
+                {
+                    remainder <<= 1;
+                }
+            }
+
+            crc_table[ quick_reflect(dividend, CHAR_BIT) ]
+             = quick_reflect( remainder, 32 );
+        }
+        while ( ++dividend );
+
+        did_init = true;
+    }
+
+    // Compute the CRC of the data
+    uint32_t  rem = 0xFFFFFFFF;
+
+ byte_type const * const b_begin = static_cast<byte_type const *>( buffer );
+    byte_type const * const  b_end = b_begin + byte_count;
+    for ( byte_type const *p = b_begin ; p < b_end ; ++p )
+    {
+        byte_type const  byte_index = *p ^ rem;
+        rem >>= CHAR_BIT;
+        rem ^= crc_table[ byte_index ];
+    }
+
+    return ~rem;
+}
+
+// Run an individual timing trial
+double
+time_trial
+(
+    char const *       name,
+    boost::uint32_t  (*crc_func)(void const *, std::size_t),
+    boost::uint32_t    expected,
+    void const *       data,
+    std::size_t        length
+)
+{
+    PRIVATE_DECLARE_BOOST( uint32_t );
+    using std::cout;
+
+    // Limits of a trial
+    static uint32_t const  max_count = 1L << 16;  // ~square-root of max
+    static double const    max_time = 3.14159;    // easy as pi(e)
+
+    // Mark the trial
+    cout << '\t' << name << " CRC-32: ";
+
+    // Trial loop
+    uint32_t      trial_count = 0, wrong_count = 0;
+    double        elapsed_time = 0.0;
+    boost::timer  t;
+
+    do
+    {
+        uint32_t const  scratch = (*crc_func)( data, length );
+
+        if ( scratch != expected )
+        {
+            ++wrong_count;
+        }
+        elapsed_time = t.elapsed();
+        ++trial_count;
+    } while ( (trial_count < max_count) && (elapsed_time < max_time) );
+
+    if ( wrong_count )
+    {
+        BOOST_ERROR( "at least one time trial didn't match expected" );
+    }
+
+    // Report results
+    double const  rate = trial_count / elapsed_time;
+
+    cout << trial_count << " runs, " << elapsed_time << " s, " << rate
+     << " run/s" << std::endl;
+    return rate;
+}
+
+// Time runs of Boost CRCs vs. a customized CRC function
+void
+timing_test
+(
+)
+{
+    PRIVATE_DECLARE_BOOST( uint32_t );
+    using std::cout;
+    using std::endl;
+
+    cout << "Doing timing tests." << endl;
+
+    // Create a random block of data
+    boost::int32_t     ran_data[ 256 ];
+    std::size_t const  ran_length = sizeof(ran_data) / sizeof(ran_data[0]);
+
+    std::generate_n( ran_data, ran_length, boost::minstd_rand() );
+
+    // Use the first runs as a check.  This gives a chance for first-
+    // time static initialization to not interfere in the timings.
+ uint32_t const basic_result = basic_crc32( ran_data, sizeof(ran_data) ); + uint32_t const optimal_result = optimal_crc32( ran_data, sizeof(ran_data) ); + uint32_t const quick_result = quick_crc32( ran_data, sizeof(ran_data) );
+
+    BOOST_CHECK( basic_result == optimal_result );
+    BOOST_CHECK( optimal_result == quick_result );
+    BOOST_CHECK( quick_result == basic_result );
+
+    // Run trials
+    double const  basic_rate = time_trial( "Boost-Basic", basic_crc32,
+     basic_result, ran_data, sizeof(ran_data) );
+ double const optimal_rate = time_trial( "Boost-Optimal", optimal_crc32,
+     optimal_result, ran_data, sizeof(ran_data) );
+    double const  quick_rate = time_trial( "Reference", quick_crc32,
+     quick_result, ran_data, sizeof(ran_data) );
+
+    // Report results
+ cout << "\tThe optimal Boost version is " << (quick_rate - optimal_rate)
+     / quick_rate * 100.0 << "% slower than the reference version.\n";
+    cout << "\tThe basic Boost version is " << (quick_rate - basic_rate)
+     / quick_rate * 100.0 << "% slower than the reference version.\n";
+    cout << "\tThe basic Boost version is " << (optimal_rate - basic_rate)
+     / optimal_rate * 100.0 << "% slower than the optimal Boost version."
+     << endl;
+}
+
+
+// Reformat an integer to the big-endian storage format
+boost::uint32_t
+native_to_big
+(
+    boost::uint32_t  x
+)
+{
+    boost::uint32_t  temp;
+    unsigned char *  tp = reinterpret_cast<unsigned char *>( &temp );
+
+    for ( std::size_t i = sizeof(x) ; i > 0 ; --i )
+    {
+        tp[ i - 1 ] = static_cast<unsigned char>( x );
+        x >>= CHAR_BIT;
+    }
+
+    return temp;
+}
+
+// Restore an integer from the big-endian storage format
+boost::uint32_t
+big_to_native
+(
+    boost::uint32_t  x
+)
+{
+    boost::uint32_t  temp = 0;
+    unsigned char *  xp = reinterpret_cast<unsigned char *>( &x );
+
+    for ( std::size_t i = 0 ; i < sizeof(x) ; ++i )
+    {
+        temp <<= CHAR_BIT;
+        temp |= xp[ i ];
+    }
+
+    return temp;
+}
+
+// Run tests on using CRCs on augmented messages
+void
+augmented_tests
+(
+)
+{
+    #define PRIVATE_ACRC_FUNC  boost::augmented_crc<32, 0x04C11DB7>
+
+    using std::size_t;
+    PRIVATE_DECLARE_BOOST( uint32_t );
+
+    std::cout << "Doing CRC-augmented message tests." << std::endl;
+
+    // Create a random block of data, with space for a CRC.
+    uint32_t      ran_data[ 257 ];
+    size_t const  ran_length = sizeof(ran_data) / sizeof(ran_data[0]);
+    size_t const  data_length = ran_length - 1;
+
+    std::generate_n( ran_data, data_length, boost::minstd_rand() );
+
+    // When creating a CRC for an augmented message, use
+    // zeros in the appended CRC spot for the first run.
+    uint32_t &  ran_crc = ran_data[ data_length ];
+
+    ran_crc = 0;
+
+    // Compute the CRC with augmented-CRC computing function
+    typedef boost::uint_t<32>::fast  return_type;
+
+    ran_crc = PRIVATE_ACRC_FUNC( ran_data, sizeof(ran_data) );
+
+ // With the appended CRC set, running the checksum again should get zero.
+    // NOTE: CRC algorithm assumes numbers are in big-endian format
+    ran_crc = native_to_big( ran_crc );
+
+ uint32_t ran_crc_check = PRIVATE_ACRC_FUNC( ran_data, sizeof(ran_data) );
+
+    BOOST_CHECK( 0 == ran_crc_check );
+
+    // Compare that result with other CRC computing functions
+    // and classes, which don't accept augmented messages.
+    typedef boost::crc_optimal<32, 0x04C11DB7>  fast_crc_type;
+    typedef boost::crc_basic<32>                slow_crc_type;
+
+    fast_crc_type   fast_tester;
+    slow_crc_type   slow_tester( 0x04C11DB7 );
+    size_t const    data_size = data_length * sizeof(ran_data[0]);
+    uint32_t const  func_tester = boost::crc<32, 0x04C11DB7, 0, 0, false,
+     false>( ran_data, data_size );
+
+    fast_tester.process_bytes( ran_data, data_size );
+    slow_tester.process_bytes( ran_data, data_size );
+    BOOST_CHECK( fast_tester.checksum() == slow_tester.checksum() );
+    ran_crc = big_to_native( ran_crc );
+    BOOST_CHECK( fast_tester.checksum() == ran_crc );
+    BOOST_CHECK( func_tester == ran_crc );
+
+    // Do a single-bit error test
+    ran_crc = native_to_big( ran_crc );
+    ran_data[ ran_data[0] % ran_length ] ^= ( 1 << (ran_data[1] % 32) );
+    ran_crc_check = PRIVATE_ACRC_FUNC( ran_data, sizeof(ran_data) );
+    BOOST_CHECK( 0 != ran_crc_check );
+
+    // Run a version of these tests with a nonzero initial remainder.
+    uint32_t const  init_rem = ran_data[ ran_data[2] % ran_length ];
+
+    ran_crc = 0;
+    ran_crc = PRIVATE_ACRC_FUNC( ran_data, sizeof(ran_data), init_rem );
+
+    // Have some fun by processing data in two steps.
+    size_t const  mid_index = ran_length / 2;
+
+    ran_crc = native_to_big( ran_crc );
+    ran_crc_check = PRIVATE_ACRC_FUNC( ran_data, mid_index
+     * sizeof(ran_data[0]), init_rem );
+ ran_crc_check = PRIVATE_ACRC_FUNC( &ran_data[mid_index], sizeof(ran_data)
+     - mid_index * sizeof(ran_data[0]), ran_crc_check );
+    BOOST_CHECK( 0 == ran_crc_check );
+
+    // This substep translates an augmented-CRC initial
+    // remainder to an unaugmented-CRC initial remainder.
+    uint32_t const  zero = 0;
+    uint32_t const  new_init_rem = PRIVATE_ACRC_FUNC( &zero, sizeof(zero),
+     init_rem );
+    slow_crc_type   slow_tester2( 0x04C11DB7, new_init_rem );
+
+    slow_tester2.process_bytes( ran_data, data_size );
+    ran_crc = big_to_native( ran_crc );
+    BOOST_CHECK( slow_tester2.checksum() == ran_crc );
+
+    // Redo single-bit error test
+    ran_data[ ran_data[3] % ran_length ] ^= ( 1 << (ran_data[4] % 32) );
+ ran_crc_check = PRIVATE_ACRC_FUNC( ran_data, sizeof(ran_data), init_rem );
+    BOOST_CHECK( 0 != ran_crc_check );
+
+    #undef PRIVATE_ACRC_FUNC
+}
+
+
+// Run tests on CRCs below a byte in size (here, 3 bits)
+void
+small_crc_test1
+(
+)
+{
+    std::cout << "Doing short-CRC (3-bit augmented) message tests."
+     << std::endl;
+
+ // The CRC standard is a SDH/SONET Low Order LCAS control word with CRC-3
+    // taken from ITU-T G.707 (12/03) XIII.2.
+
+    // Four samples, each four bytes; should all have a CRC of zero
+    unsigned char const  samples[4][4]
+      = {
+            { 0x3A, 0xC4, 0x08, 0x06 },
+            { 0x42, 0xC5, 0x0A, 0x41 },
+            { 0x4A, 0xC5, 0x08, 0x22 },
+            { 0x52, 0xC4, 0x08, 0x05 }
+        };
+
+    // Basic computer
+    boost::crc_basic<3>  tester1( 0x03 );
+
+    tester1.process_bytes( samples[0], 4 );
+    BOOST_CHECK( tester1.checksum() == 0 );
+
+    tester1.reset();
+    tester1.process_bytes( samples[1], 4 );
+    BOOST_CHECK( tester1.checksum() == 0 );
+
+    tester1.reset();
+    tester1.process_bytes( samples[2], 4 );
+    BOOST_CHECK( tester1.checksum() == 0 );
+
+    tester1.reset();
+    tester1.process_bytes( samples[3], 4 );
+    BOOST_CHECK( tester1.checksum() == 0 );
+
+    // Optimal computer
+    #define PRIVATE_CRC_FUNC   boost::crc<3, 0x03, 0, 0, false, false>
+    #define PRIVATE_ACRC_FUNC  boost::augmented_crc<3, 0x03>
+
+    BOOST_CHECK( 0 == PRIVATE_CRC_FUNC(samples[0], 4) );
+    BOOST_CHECK( 0 == PRIVATE_CRC_FUNC(samples[1], 4) );
+    BOOST_CHECK( 0 == PRIVATE_CRC_FUNC(samples[2], 4) );
+    BOOST_CHECK( 0 == PRIVATE_CRC_FUNC(samples[3], 4) );
+
+ // maybe the fix to CRC functions needs to be applied to augmented CRCs?
+
+    #undef PRIVATE_ACRC_FUNC
+    #undef PRIVATE_CRC_FUNC
+}
+
+// Run tests on CRCs below a byte in size (here, 7 bits)
+void
+small_crc_test2
+(
+)
+{
+    std::cout << "Doing short-CRC (7-bit augmented) message tests."
+     << std::endl;
+
+ // The CRC standard is a SDH/SONET J0/J1/J2/N1/N2/TR TTI (trace message)
+    // with CRC-7, o.a. ITU-T G.707 Annex B, G.832 Annex A.
+
+    // Two samples, each sixteen bytes
+    // Sample 1 is '\x80' + ASCII("123456789ABCDEF")
+    // Sample 2 is '\x80' + ASCII("TTI UNAVAILABLE")
+    unsigned char const  samples[2][16]
+      = {
+ { 0x80, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x41,
+              0x42, 0x43, 0x44, 0x45, 0x46 },
+ { 0x80, 0x54, 0x54, 0x49, 0x20, 0x55, 0x4E, 0x41, 0x56, 0x41, 0x49,
+              0x4C, 0x41, 0x42, 0x4C, 0x45 }
+        };
+    unsigned const       results[2] = { 0x62, 0x23 };
+
+    // Basic computer
+    boost::crc_basic<7>  tester1( 0x09 );
+
+    tester1.process_bytes( samples[0], 16 );
+    BOOST_CHECK( tester1.checksum() == results[0] );
+
+    tester1.reset();
+    tester1.process_bytes( samples[1], 16 );
+    BOOST_CHECK( tester1.checksum() == results[1] );
+
+    // Optimal computer
+    #define PRIVATE_CRC_FUNC   boost::crc<7, 0x09, 0, 0, false, false>
+    #define PRIVATE_ACRC_FUNC  boost::augmented_crc<7, 0x09>
+
+    BOOST_CHECK( results[0] == PRIVATE_CRC_FUNC(samples[0], 16) );
+    BOOST_CHECK( results[1] == PRIVATE_CRC_FUNC(samples[1], 16) );
+
+ // maybe the fix to CRC functions needs to be applied to augmented CRCs?
+
+    #undef PRIVATE_ACRC_FUNC
+    #undef PRIVATE_CRC_FUNC
+}
+
+
+#ifndef BOOST_MSVC
+// Explicit template instantiations
+// (needed to fix a link error in Metrowerks CodeWarrior Pro 5.3)
+template class crc_tester<16, 0x1021, 0xFFFF, 0, false, false>;
+template class crc_tester<16, 0x8005, 0, 0, true, true>;
+template class crc_tester<32, 0x04C11DB7, 0xFFFFFFFF, 0xFFFFFFFF, true, true>;
+#endif
+
+// Main testing function
+int
+test_main
+(
+    int         ,   // "argc" is unused
+    char *      []  // "argv" is unused
+)
+{
+    using std::cout;
+    using std::endl;
+
+    // Run simulations on some CRC types
+ typedef crc_tester<16, 0x1021, 0xFFFF, 0, false, false> crc_ccitt_tester;
+    typedef crc_tester<16, 0x8005, 0, 0, true, true>         crc_16_tester;
+    typedef crc_tester<32, 0x04C11DB7, 0xFFFFFFFF, 0xFFFFFFFF, true, true>
+      crc_32_tester;
+
+    crc_ccitt_tester::master_test( "CRC-CCITT", std_crc_ccitt_result );
+    crc_16_tester::master_test( "CRC-16", std_crc_16_result );
+    crc_32_tester::master_test( "CRC-32", std_crc_32_result );
+
+    // Run a timing comparison test
+    timing_test();
+
+    // Test using augmented messages
+    augmented_tests();
+
+    // Test with CRC types smaller than a byte
+    small_crc_test1();
+    small_crc_test2();
+
+    // Try a CRC based on the (x + 1) polynominal, which is a factor in
+    // many real-life polynominals and doesn't fit evenly in a byte.
+    cout << "Doing one-bit polynominal CRC test." << endl;
+    boost::crc_basic<1>  crc_1( 1 );
+    crc_1.process_bytes( std_data, std_data_len );
+    BOOST_CHECK( crc_1.checksum() == 1 );
+
+    // Test the function object interface
+    cout << "Doing functional object interface test." << endl;
+    boost::crc_optimal<16, 0x8005, 0, 0, true, true>  crc_16;
+    crc_16 = std::for_each( std_data, std_data + std_data_len, crc_16 );
+    BOOST_CHECK( crc_16() == std_crc_16_result );
+
+    return boost::exit_success;
+}
=======================================
--- /dev/null
+++ /trunk/libs/exception/doc/boost_exception_all_hpp.html Fri Sep 4 04:09:20 2009
@@ -0,0 +1,64 @@
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+<head>
+       <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
+       <title>boost/exception/all.hpp</title>
+       <link href='reno.css' type='text/css' rel='stylesheet'/>
+</head>
+<body>
+<div class="body-0">
+<div class="body-1">
+<div class="body-2">
+<div>
+<div id="boost_logo">
+<a href="http://www.boost.org";><img style="border:0" src="../../../boost.png" alt="Boost" width="277" height="86"/></a>
+</div>
+<h1>Boost Exception</h1>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) --> +<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>boost/exception/all.hpp</h2>
+</div>
+<h3>Synopsis</h3>
+<div class="RenoIncludeDIV"><pre><span class="RenoIncludeSPAN">#include &lt;<span class="RenoLink"><a href="boost_exception_diagnostic_information_hpp.html">boost/exception/diagnostic_information.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_error_info_hpp.html">boost/exception/error_info.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_exception_hpp.html">boost/exception/exception.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_get_error_info_hpp.html">boost/exception/get_error_info.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_info_hpp.html">boost/exception/info.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_info_tuple_hpp.html">boost/exception/info_tuple.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_ptr_hpp.html">boost/exception_ptr.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_api_function_hpp.html">boost/exception/errinfo_api_function.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_at_line_hpp.html">boost/exception/errinfo_at_line.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_errno_hpp.html">boost/exception/errinfo_errno.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_file_handle_hpp.html">boost/exception/errinfo_file_handle.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_file_name_hpp.html">boost/exception/errinfo_file_name.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_file_open_mode_hpp.html">boost/exception/errinfo_file_open_mode.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_type_info_name_hpp.html">boost/exception/errinfo_type_info_name.hpp</a></span>&gt;</span></pre>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
+<div class="RenoPageList"><a href="boost_exception_hpp.html">boost/exception.hpp<br/> +</a><a href="tutorial_diagnostic_information.html">Diagnostic Information<br/> +</a><a href="tutorial_enable_error_info.html">Integrating Boost Exception in Existing Exception Class Hierarchies<br/>
+</a><a href="synopsis.html">Synopsis<br/>
+</a></div>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) -->
+<div id="footer">
+<p>&nbsp;</p>
+<hr/>
+<p>
+<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer";><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a> +<a class="logo" href="http://validator.w3.org/check?uri=referer";><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a> +<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/> +Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt";>Boost Software License, Version 1.0</a>.</small>
+</p>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
=======================================
--- /dev/null
+++ /trunk/libs/exception/doc/boost_exception_diagnostic_information_hpp.html Fri Sep 4 04:09:20 2009
@@ -0,0 +1,64 @@
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+<head>
+       <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
+       <title>boost/exception/diagnostic_information.hpp</title>
+       <link href='reno.css' type='text/css' rel='stylesheet'/>
+</head>
+<body>
+<div class="body-0">
+<div class="body-1">
+<div class="body-2">
+<div>
+<div id="boost_logo">
+<a href="http://www.boost.org";><img style="border:0" src="../../../boost.png" alt="Boost" width="277" height="86"/></a>
+</div>
+<h1>Boost Exception</h1>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) --> +<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>boost/exception/diagnostic_information.hpp</h2>
+</div>
+<h3>Synopsis</h3>
+<div class="RenoIncludeDIV"><pre>#include &lt;string&gt;
+
+namespace
+boost
+    {
+<span class="RenoIncludeSPAN"> class <span class="RenoLink"><a href="exception.html">exception</a></span>;</span>
+
+<span class="RenoIncludeSPAN"> <span class="RenoIncludeSPAN">template &lt;class E&gt; + std::string <span class="RenoLink"><a href="diagnostic_information.html">diagnostic_information</a></span>( E const &amp; e );
+
+ std::string <span class="RenoLink"><a href="diagnostic_information.html">diagnostic_information</a></span>( <span class="RenoLink"><a href="exception_ptr.html">exception_ptr</a></span> const &amp; p );</span>
+
+ <span class="RenoIncludeSPAN">std::string <span class="RenoLink"><a href="current_exception_diagnostic_information.html">current_exception_diagnostic_information</a></span>();</span></span>
+    }</pre>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
+<div class="RenoPageList"><a href="boost_exception_all_hpp.html">boost/exception/all.hpp<br/> +</a><a href="current_exception_diagnostic_information.html">current_exception_diagnostic_information<br/>
+</a><a href="diagnostic_information.html">diagnostic_information<br/>
+</a><a href="synopsis.html">Synopsis<br/>
+</a></div>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) -->
+<div id="footer">
+<p>&nbsp;</p>
+<hr/>
+<p>
+<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer";><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a> +<a class="logo" href="http://validator.w3.org/check?uri=referer";><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a> +<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/> +Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt";>Boost Software License, Version 1.0</a>.</small>
+</p>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
=======================================
--- /dev/null
+++ /trunk/libs/exception/doc/boost_exception_enable_current_exception_hpp.html Fri Sep 4 04:09:20 2009
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+<head>
+       <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
+       <title>boost/exception/enable_current_exception.hpp</title>
+       <link href='reno.css' type='text/css' rel='stylesheet'/>
+</head>
+<body>
+<div class="body-0">
+<div class="body-1">
+<div class="body-2">
+<div>
+<div id="boost_logo">
+<a href="http://www.boost.org";><img style="border:0" src="../../../boost.png" alt="Boost" width="277" height="86"/></a>
+</div>
+<h1>Boost Exception</h1>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) --> +<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>boost/exception/enable_current_exception.hpp</h3>
+</div>
+<h3>Synopsis</h3>
+<div class="RenoIncludeDIV"><pre>#include &lt;<span class="RenoLink"><a href="boost_exception_exception_hpp.html">boost/exception/exception.hpp</a></span>&gt;
+
+namespace
+boost
+    {
+<span class="RenoIncludeSPAN"> <span class="RenoIncludeSPAN">template &lt;class T&gt; + ---unspecified--- <span class="RenoLink"><a href="enable_current_exception.html">enable_current_exception</a></span>( T const &amp; e );</span></span>
+    }</pre>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
+<div class="RenoPageList"><a href="enable_current_exception.html">enable_current_exception<br/>
+</a><a href="synopsis.html">Synopsis<br/>
+</a></div>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) -->
+<div id="footer">
+<p>&nbsp;</p>
+<hr/>
+<p>
+<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer";><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a> +<a class="logo" href="http://validator.w3.org/check?uri=referer";><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a> +<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/> +Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt";>Boost Software License, Version 1.0</a>.</small>
+</p>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
=======================================
--- /dev/null
+++ /trunk/libs/exception/doc/boost_exception_enable_error_info_hpp.html Fri Sep 4 04:09:20 2009
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+<head>
+       <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
+       <title>boost/exception/enable_error_info.hpp</title>
+       <link href='reno.css' type='text/css' rel='stylesheet'/>
+</head>
+<body>
+<div class="body-0">
+<div class="body-1">
+<div class="body-2">
+<div>
+<div id="boost_logo">
+<a href="http://www.boost.org";><img style="border:0" src="../../../boost.png" alt="Boost" width="277" height="86"/></a>
+</div>
+<h1>Boost Exception</h1>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) --> +<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>boost/exception/enable_error_info.hpp</h3>
+</div>
+<h3>Synopsis</h3>
+<div class="RenoIncludeDIV"><pre>#include &lt;<span class="RenoLink"><a href="boost_exception_exception_hpp.html">boost/exception/exception.hpp</a></span>&gt;
+
+namespace
+boost
+    {
+<span class="RenoIncludeSPAN"> <span class="RenoIncludeSPAN">template &lt;class T&gt; + ---unspecified--- <span class="RenoLink"><a href="enable_error_info.html">enable_error_info</a></span>( T const &amp; x );</span></span>
+    }</pre>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
+<div class="RenoPageList"><a href="enable_error_info.html">enable_error_info<br/>
+</a><a href="synopsis.html">Synopsis<br/>
+</a></div>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) -->
+<div id="footer">
+<p>&nbsp;</p>
+<hr/>
+<p>
+<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer";><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a> +<a class="logo" href="http://validator.w3.org/check?uri=referer";><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a> +<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/> +Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt";>Boost Software License, Version 1.0</a>.</small>
+</p>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
=======================================
--- /dev/null
+++ /trunk/libs/exception/doc/boost_exception_errinfo_api_function_hpp.html Fri Sep 4 04:09:20 2009
@@ -0,0 +1,55 @@
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+<head>
+       <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
+       <title>boost/exception/errinfo_api_function.hpp</title>
+       <link href='reno.css' type='text/css' rel='stylesheet'/>
+</head>
+<body>
+<div class="body-0">
+<div class="body-1">
+<div class="body-2">
+<div>
+<div id="boost_logo">
+<a href="http://www.boost.org";><img style="border:0" src="../../../boost.png" alt="Boost" width="277" height="86"/></a>
+</div>
+<h1>Boost Exception</h1>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) --> +<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>boost/exception/errinfo_api_function.hpp</h2>
+</div>
+<h3>Synopsis</h3>
+<div class="RenoIncludeDIV"><pre>#include &lt;<span class="RenoLink"><a href="boost_exception_error_info_hpp.html">boost/exception/error_info.hpp</a></span>&gt;
+
+namespace
+boost
+    {
+<span class="RenoIncludeSPAN"> <span class="RenoIncludeSPAN">typedef <span class="RenoLink"><a href="error_info.html">error_info</a></span>&lt;struct errinfo_api_function_,int&gt; <span class="RenoLink"><a href="errinfo_api_function.html">errinfo_api_function</a></span>;</span></span>
+    }</pre>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
+<div class="RenoPageList"><a href="boost_exception_all_hpp.html">boost/exception/all.hpp<br/>
+</a><a href="synopsis.html">Synopsis<br/>
+</a></div>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) -->
+<div id="footer">
+<p>&nbsp;</p>
+<hr/>
+<p>
+<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer";><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a> +<a class="logo" href="http://validator.w3.org/check?uri=referer";><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a> +<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/> +Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt";>Boost Software License, Version 1.0</a>.</small>
+</p>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
=======================================
--- /dev/null
+++ /trunk/libs/exception/doc/boost_exception_errinfo_at_line_hpp.html Fri Sep 4 04:09:20 2009
@@ -0,0 +1,55 @@
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+<head>
+       <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
+       <title>boost/exception/errinfo_at_line.hpp</title>
+       <link href='reno.css' type='text/css' rel='stylesheet'/>
+</head>
+<body>
+<div class="body-0">
+<div class="body-1">
+<div class="body-2">
+<div>
+<div id="boost_logo">
+<a href="http://www.boost.org";><img style="border:0" src="../../../boost.png" alt="Boost" width="277" height="86"/></a>
+</div>
+<h1>Boost Exception</h1>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) --> +<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>boost/exception/errinfo_at_line.hpp</h2>
+</div>
+<h3>Synopsis</h3>
+<div class="RenoIncludeDIV"><pre>#include &lt;<span class="RenoLink"><a href="boost_exception_error_info_hpp.html">boost/exception/error_info.hpp</a></span>&gt;
+
+namespace
+boost
+    {
+<span class="RenoIncludeSPAN"> <span class="RenoIncludeSPAN">typedef <span class="RenoLink"><a href="error_info.html">error_info</a></span>&lt;struct errinfo_at_line_,int&gt; <span class="RenoLink"><a href="errinfo_at_line.html">errinfo_at_line</a></span>;</span></span>
+    }</pre>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
+<div class="RenoPageList"><a href="boost_exception_all_hpp.html">boost/exception/all.hpp<br/>
+</a><a href="synopsis.html">Synopsis<br/>
+</a></div>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) -->
+<div id="footer">
+<p>&nbsp;</p>
+<hr/>
+<p>
+<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer";><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a> +<a class="logo" href="http://validator.w3.org/check?uri=referer";><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a> +<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/> +Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt";>Boost Software License, Version 1.0</a>.</small>
+</p>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
=======================================
--- /dev/null
+++ /trunk/libs/exception/doc/boost_exception_errinfo_errno_hpp.html Fri Sep 4 04:09:20 2009
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+<head>
+       <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
+       <title>boost/exception/errinfo_errno.hpp</title>
+       <link href='reno.css' type='text/css' rel='stylesheet'/>
+</head>
+<body>
+<div class="body-0">
+<div class="body-1">
+<div class="body-2">
+<div>
+<div id="boost_logo">
+<a href="http://www.boost.org";><img style="border:0" src="../../../boost.png" alt="Boost" width="277" height="86"/></a>
+</div>
+<h1>Boost Exception</h1>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) --> +<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>boost/exception/errinfo_errno.hpp</h2>
+</div>
+<h3>Synopsis</h3>
+<div class="RenoIncludeDIV"><pre>#include &lt;<span class="RenoLink"><a href="boost_exception_error_info_hpp.html">boost/exception/error_info.hpp</a></span>&gt;
+#include &lt;errno.h&gt;
+
+namespace
+boost
+    {
+<span class="RenoIncludeSPAN"> <span class="RenoIncludeSPAN">typedef <span class="RenoLink"><a href="error_info.html">error_info</a></span>&lt;struct errinfo_errno_,int&gt; <span class="RenoLink"><a href="errinfo_errno.html">errinfo_errno</a></span>;</span></span>
+    }</pre>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
+<div class="RenoPageList"><a href="boost_exception_all_hpp.html">boost/exception/all.hpp<br/>
+</a><a href="synopsis.html">Synopsis<br/>
+</a></div>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) -->
+<div id="footer">
+<p>&nbsp;</p>
+<hr/>
+<p>
+<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer";><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a> +<a class="logo" href="http://validator.w3.org/check?uri=referer";><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a> +<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/> +Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt";>Boost Software License, Version 1.0</a>.</small>
+</p>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
=======================================
--- /dev/null
+++ /trunk/libs/exception/doc/boost_exception_errinfo_file_handle_hpp.html Fri Sep 4 04:09:20 2009
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+<head>
+       <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
+       <title>boost/exception/errinfo_file_handle.hpp</title>
+       <link href='reno.css' type='text/css' rel='stylesheet'/>
+</head>
+<body>
+<div class="body-0">
+<div class="body-1">
+<div class="body-2">
+<div>
+<div id="boost_logo">
+<a href="http://www.boost.org";><img style="border:0" src="../../../boost.png" alt="Boost" width="277" height="86"/></a>
+</div>
+<h1>Boost Exception</h1>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) --> +<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>boost/exception/errinfo_file_handle.hpp</h2>
+</div>
+<h3>Synopsis</h3>
+<div class="RenoIncludeDIV"><pre>#include &lt;<span class="RenoLink"><a href="boost_exception_error_info_hpp.html">boost/exception/error_info.hpp</a></span>&gt;
+
+namespace
+boost
+    {
+    template &lt;class&gt; class weak_ptr;
+<span class="RenoIncludeSPAN"> <span class="RenoIncludeSPAN">typedef <span class="RenoLink"><a href="error_info.html">error_info</a></span>&lt;struct errinfo_file_handle_,weak_ptr&lt;FILE&gt; &gt; <span class="RenoLink"><a href="errinfo_file_handle.html">errinfo_file_handle</a></span>;</span></span>
+    }</pre>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
+<div class="RenoPageList"><a href="boost_exception_all_hpp.html">boost/exception/all.hpp<br/>
+</a><a href="synopsis.html">Synopsis<br/>
+</a></div>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) -->
+<div id="footer">
+<p>&nbsp;</p>
+<hr/>
+<p>
+<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer";><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a> +<a class="logo" href="http://validator.w3.org/check?uri=referer";><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a> +<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/> +Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt";>Boost Software License, Version 1.0</a>.</small>
+</p>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
=======================================
--- /dev/null
+++ /trunk/libs/exception/doc/boost_exception_errinfo_file_name_hpp.html Fri Sep 4 04:09:20 2009
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+<head>
+       <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
+       <title>boost/exception/errinfo_file_name.hpp</title>
+       <link href='reno.css' type='text/css' rel='stylesheet'/>
+</head>
+<body>
+<div class="body-0">
+<div class="body-1">
+<div class="body-2">
+<div>
+<div id="boost_logo">
+<a href="http://www.boost.org";><img style="border:0" src="../../../boost.png" alt="Boost" width="277" height="86"/></a>
+</div>
+<h1>Boost Exception</h1>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) --> +<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>boost/exception/errinfo_file_name.hpp</h2>
+</div>
+<h3>Synopsis</h3>
+<div class="RenoIncludeDIV"><pre>#include &lt;<span class="RenoLink"><a href="boost_exception_error_info_hpp.html">boost/exception/error_info.hpp</a></span>&gt;
+#include &lt;string&gt;
+
+namespace
+boost
+    {
+<span class="RenoIncludeSPAN"> <span class="RenoIncludeSPAN">typedef <span class="RenoLink"><a href="error_info.html">error_info</a></span>&lt;struct errinfo_file_name_,std::string&gt; <span class="RenoLink"><a href="errinfo_file_name.html">errinfo_file_name</a></span>;</span></span>
+    }</pre>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
+<div class="RenoPageList"><a href="boost_exception_all_hpp.html">boost/exception/all.hpp<br/>
+</a><a href="synopsis.html">Synopsis<br/>
+</a></div>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) -->
+<div id="footer">
+<p>&nbsp;</p>
+<hr/>
+<p>
+<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer";><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a> +<a class="logo" href="http://validator.w3.org/check?uri=referer";><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a> +<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/> +Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt";>Boost Software License, Version 1.0</a>.</small>
+</p>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
=======================================
--- /dev/null
+++ /trunk/libs/exception/doc/boost_exception_errinfo_file_open_mode_hpp.html Fri Sep 4 04:09:20 2009
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+<head>
+       <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
+       <title>boost/exception/errinfo_file_open_mode.hpp</title>
+       <link href='reno.css' type='text/css' rel='stylesheet'/>
+</head>
+<body>
+<div class="body-0">
+<div class="body-1">
+<div class="body-2">
+<div>
+<div id="boost_logo">
+<a href="http://www.boost.org";><img style="border:0" src="../../../boost.png" alt="Boost" width="277" height="86"/></a>
+</div>
+<h1>Boost Exception</h1>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) --> +<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>boost/exception/errinfo_file_open_mode.hpp</h2>
+</div>
+<h3>Synopsis</h3>
+<div class="RenoIncludeDIV"><pre>#include &lt;<span class="RenoLink"><a href="boost_exception_error_info_hpp.html">boost/exception/error_info.hpp</a></span>&gt;
+#include &lt;string&gt;
+
+namespace
+boost
+    {
+<span class="RenoIncludeSPAN"> <span class="RenoIncludeSPAN">typedef <span class="RenoLink"><a href="error_info.html">error_info</a></span>&lt;struct errinfo_file_open_mode_,std::string&gt; <span class="RenoLink"><a href="errinfo_file_open_mode.html">errinfo_file_open_mode</a></span>;</span></span>
+    }</pre>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
+<div class="RenoPageList"><a href="boost_exception_all_hpp.html">boost/exception/all.hpp<br/>
+</a><a href="synopsis.html">Synopsis<br/>
+</a></div>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) -->
+<div id="footer">
+<p>&nbsp;</p>
+<hr/>
+<p>
+<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer";><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a> +<a class="logo" href="http://validator.w3.org/check?uri=referer";><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a> +<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/> +Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt";>Boost Software License, Version 1.0</a>.</small>
+</p>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
=======================================
--- /dev/null
+++ /trunk/libs/exception/doc/boost_exception_errinfo_type_info_name_hpp.html Fri Sep 4 04:09:20 2009
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+<head>
+       <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
+       <title>boost/exception/errinfo_type_info_name.hpp</title>
+       <link href='reno.css' type='text/css' rel='stylesheet'/>
+</head>
+<body>
+<div class="body-0">
+<div class="body-1">
+<div class="body-2">
+<div>
+<div id="boost_logo">
+<a href="http://www.boost.org";><img style="border:0" src="../../../boost.png" alt="Boost" width="277" height="86"/></a>
+</div>
+<h1>Boost Exception</h1>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) --> +<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>boost/exception/errinfo_type_info_name.hpp</h2>
+</div>
+<h3>Synopsis</h3>
+<div class="RenoIncludeDIV"><pre>#include &lt;<span class="RenoLink"><a href="boost_exception_error_info_hpp.html">boost/exception/error_info.hpp</a></span>&gt;
+#include &lt;string&gt;
+
+namespace
+boost
+    {
+<span class="RenoIncludeSPAN"> <span class="RenoIncludeSPAN">typedef <span class="RenoLink"><a href="error_info.html">error_info</a></span>&lt;struct errinfo_type_info_name_,std::string&gt; <span class="RenoLink"><a href="errinfo_type_info_name.html">errinfo_type_info_name</a></span>;</span></span>
+    }</pre>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
+<div class="RenoPageList"><a href="boost_exception_all_hpp.html">boost/exception/all.hpp<br/>
+</a><a href="synopsis.html">Synopsis<br/>
+</a></div>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) -->
+<div id="footer">
+<p>&nbsp;</p>
+<hr/>
+<p>
+<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer";><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a> +<a class="logo" href="http://validator.w3.org/check?uri=referer";><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a> +<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/> +Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt";>Boost Software License, Version 1.0</a>.</small>
+</p>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
=======================================
--- /dev/null
+++ /trunk/libs/exception/doc/boost_exception_error_info_hpp.html Fri Sep 4 04:09:20 2009
@@ -0,0 +1,62 @@
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+<head>
+       <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
+       <title>boost/exception/error_info.hpp</title>
+       <link href='reno.css' type='text/css' rel='stylesheet'/>
+</head>
+<body>
+<div class="body-0">
+<div class="body-1">
+<div class="body-2">
+<div>
+<div id="boost_logo">
+<a href="http://www.boost.org";><img style="border:0" src="../../../boost.png" alt="Boost" width="277" height="86"/></a>
+</div>
+<h1>Boost Exception</h1>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) --> +<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>boost/exception/error_info.hpp</h2>
+</div>
+<h3>Synopsis</h3>
+<div class="RenoIncludeDIV"><pre>namespace
+boost
+    {
+<span class="RenoIncludeSPAN"> <span class="RenoIncludeSPAN">template &lt;class Tag,class T&gt; + class <span class="RenoLink"><a href="error_info.html">error_info</a></span>;</span></span>
+    }</pre>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
+<div class="RenoPageList"><a href="boost_exception_all_hpp.html">boost/exception/all.hpp<br/> +</a><a href="boost_exception_errinfo_api_function_hpp.html">boost/exception/errinfo_api_function.hpp<br/> +</a><a href="boost_exception_errinfo_at_line_hpp.html">boost/exception/errinfo_at_line.hpp<br/> +</a><a href="boost_exception_errinfo_errno_hpp.html">boost/exception/errinfo_errno.hpp<br/> +</a><a href="boost_exception_errinfo_file_handle_hpp.html">boost/exception/errinfo_file_handle.hpp<br/> +</a><a href="boost_exception_errinfo_file_name_hpp.html">boost/exception/errinfo_file_name.hpp<br/> +</a><a href="boost_exception_errinfo_file_open_mode_hpp.html">boost/exception/errinfo_file_open_mode.hpp<br/> +</a><a href="boost_exception_errinfo_type_info_name_hpp.html">boost/exception/errinfo_type_info_name.hpp<br/>
+</a><a href="error_info.html">error_info<br/>
+</a><a href="synopsis.html">Synopsis<br/>
+</a></div>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) -->
+<div id="footer">
+<p>&nbsp;</p>
+<hr/>
+<p>
+<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer";><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a> +<a class="logo" href="http://validator.w3.org/check?uri=referer";><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a> +<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/> +Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt";>Boost Software License, Version 1.0</a>.</small>
+</p>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
=======================================
--- /dev/null
+++ /trunk/libs/exception/doc/boost_exception_exception_hpp.html Fri Sep 4 04:09:20 2009
@@ -0,0 +1,74 @@
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+<head>
+       <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
+       <title>boost/exception/exception.hpp</title>
+       <link href='reno.css' type='text/css' rel='stylesheet'/>
+</head>
+<body>
+<div class="body-0">
+<div class="body-1">
+<div class="body-2">
+<div>
+<div id="boost_logo">
+<a href="http://www.boost.org";><img style="border:0" src="../../../boost.png" alt="Boost" width="277" height="86"/></a>
+</div>
+<h1>Boost Exception</h1>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) --> +<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>boost/exception/exception.hpp</h2>
+</div>
+<h3>Synopsis</h3>
+<div class="RenoIncludeDIV"><pre>namespace
+boost
+    {
+<span class="RenoIncludeSPAN">    <span class="RenoIncludeSPAN">class
+    <span class="RenoLink"><a href="exception.html">exception</a></span>
+        {
+        protected:
+
+ <span class="RenoIncludeSPAN"> <span class="RenoLink"><a href="exception_constructors.html">exception</a></span>(); + <span class="RenoLink"><a href="exception_constructors.html">exception</a></span>( <span class="RenoLink"><a href="exception.html">exception</a></span> const &amp; x );</span> + <span class="RenoIncludeSPAN"> <span class="RenoLink"><a href="exception_destructor.html">~exception</a></span>();</span>
+        };</span>
+
+    <span class="RenoIncludeSPAN">template &lt;class Tag,class T&gt;
+ class <span class="RenoLink"><a href="error_info.html">error_info</a></span>;</span>
+
+ typedef <span class="RenoLink"><a href="error_info.html">error_info</a></span>&lt;struct throw_function_,char const *&gt; throw_function; + typedef <span class="RenoLink"><a href="error_info.html">error_info</a></span>&lt;struct throw_file_,char const *&gt; throw_file; + typedef <span class="RenoLink"><a href="error_info.html">error_info</a></span>&lt;struct throw_line_,int&gt; throw_line;</span>
+    }</pre>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
+<div class="RenoPageList"><a href="BOOST_THROW_EXCEPTION.html">BOOST_THROW_EXCEPTION<br/>
+</a><a href="boost_exception_all_hpp.html">boost/exception/all.hpp<br/>
+</a><a href="boost_exception_enable_current_exception_hpp.html">boost/exception/enable_current_exception.hpp<br/> +</a><a href="boost_exception_enable_error_info_hpp.html">boost/exception/enable_error_info.hpp<br/>
+</a><a href="boost_exception_info_hpp.html">boost/exception/info.hpp<br/>
+</a><a href="boost_exception_ptr_hpp.html">boost/exception_ptr.hpp<br/>
+</a><a href="exception.html">exception<br/>
+</a><a href="synopsis.html">Synopsis<br/>
+</a></div>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) -->
+<div id="footer">
+<p>&nbsp;</p>
+<hr/>
+<p>
+<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer";><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a> +<a class="logo" href="http://validator.w3.org/check?uri=referer";><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a> +<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/> +Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt";>Boost Software License, Version 1.0</a>.</small>
+</p>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
=======================================
--- /dev/null
+++ /trunk/libs/exception/doc/boost_exception_get_error_info_hpp.html Fri Sep 4 04:09:20 2009
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+<head>
+       <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
+       <title>boost/exception/get_error_info.hpp</title>
+       <link href='reno.css' type='text/css' rel='stylesheet'/>
+</head>
+<body>
+<div class="body-0">
+<div class="body-1">
+<div class="body-2">
+<div>
+<div id="boost_logo">
+<a href="http://www.boost.org";><img style="border:0" src="../../../boost.png" alt="Boost" width="277" height="86"/></a>
+</div>
+<h1>Boost Exception</h1>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) --> +<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>boost/exception/get_error_info.hpp</h2>
+</div>
+<h3>Synopsis</h3>
+<div class="RenoIncludeDIV"><pre>#include &lt;boost/shared_ptr.hpp&gt;
+
+namespace
+boost
+    {
+<span class="RenoIncludeSPAN"> <span class="RenoIncludeSPAN">template &lt;class ErrorInfo,class E&gt; + typename ErrorInfo::<span class="RenoLink"><a href="error_info_value_type.html">value_type</a></span> const * <span class="RenoLink"><a href="get_error_info.html">get_error_info</a></span>( E const &amp; x );</span></span>
+    }</pre>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
+<div class="RenoPageList"><a href="boost_exception_all_hpp.html">boost/exception/all.hpp<br/>
+</a><a href="error_info.html">error_info<br/>
+</a></div>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) -->
+<div id="footer">
+<p>&nbsp;</p>
+<hr/>
+<p>
+<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer";><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a> +<a class="logo" href="http://validator.w3.org/check?uri=referer";><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a> +<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/> +Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt";>Boost Software License, Version 1.0</a>.</small>
+</p>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
=======================================
--- /dev/null
+++ /trunk/libs/exception/doc/boost_exception_hpp.html Fri Sep 4 04:09:20 2009
@@ -0,0 +1,44 @@
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+<head>
+       <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
+       <title>boost/exception.hpp</title>
+       <link href='reno.css' type='text/css' rel='stylesheet'/>
+</head>
+<body>
+<div class="body-0">
+<div class="body-1">
+<div class="body-2">
+<div>
+<div id="boost_logo">
+<a href="http://www.boost.org";><img style="border:0" src="../../../boost.png" alt="Boost" width="277" height="86"/></a>
+</div>
+<h1>Boost Exception</h1>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) --> +<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>boost/exception.hpp</h2>
+</div>
+<p>This header has been deprecated.</p>
+<p>Please #include &lt;<span class="RenoLink"><a href="boost_exception_all_hpp.html">boost/exception/all.hpp</a></span>&gt; instead.</p>
+</div><div class="RenoAutoDIV"></div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) -->
+<div id="footer">
+<p>&nbsp;</p>
+<hr/>
+<p>
+<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer";><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a> +<a class="logo" href="http://validator.w3.org/check?uri=referer";><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a> +<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/> +Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt";>Boost Software License, Version 1.0</a>.</small>
+</p>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
=======================================
--- /dev/null
+++ /trunk/libs/exception/doc/boost_exception_info_hpp.html Fri Sep 4 04:09:20 2009
@@ -0,0 +1,74 @@
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+<head>
+       <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
+       <title>boost/exception/info.hpp</title>
+       <link href='reno.css' type='text/css' rel='stylesheet'/>
+</head>
+<body>
+<div class="body-0">
+<div class="body-1">
+<div class="body-2">
+<div>
+<div id="boost_logo">
+<a href="http://www.boost.org";><img style="border:0" src="../../../boost.png" alt="Boost" width="277" height="86"/></a>
+</div>
+<h1>Boost Exception</h1>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) --> +<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>boost/exception/info.hpp</h2>
+</div>
+<h3>Synopsis</h3>
+<div class="RenoIncludeDIV"><pre>#include &lt;<span class="RenoLink"><a href="boost_exception_exception_hpp.html">boost/exception/exception.hpp</a></span>&gt;
+
+namespace
+boost
+    {
+<span class="RenoIncludeSPAN"> <span class="RenoIncludeSPAN">template &lt;class Tag,class T&gt;
+    class
+    <span class="RenoLink"><a href="error_info.html">error_info</a></span>
+        {
+        public:
+
+ <span class="RenoIncludeSPAN"> typedef T <span class="RenoLink"><a href="error_info_value_type.html">value_type</a></span>;</span>
+
+ <span class="RenoIncludeSPAN"> <span class="RenoLink"><a href="error_info_error_info.html">error_info</a></span>( <span class="RenoLink"><a href="error_info_value_type.html">value_type</a></span> const &amp; v );</span> + <span class="RenoIncludeSPAN"> <span class="RenoLink"><a href="error_info_value_type.html">value_type</a></span> const &amp; <span class="RenoLink"><a href="error_info_value.html">value</a></span>() const;</span>
+        };</span>
+
+ <span class="RenoIncludeSPAN">template &lt;class E, class Tag, class T&gt; + E const &amp; <span class="RenoLink"><a href="exception_operator_shl.html">operator&lt;&lt;</a></span>( E const &amp; x, <span class="RenoLink"><a href="error_info.html">error_info</a></span>&lt;Tag,T&gt; const &amp; v );</span></span>
+    }</pre>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
+<div class="RenoPageList"><a href="boost_exception_all_hpp.html">boost/exception/all.hpp<br/> +</a><a href="boost_exception_info_tuple_hpp.html">boost/exception/info_tuple.hpp<br/>
+</a><a href="error_info.html">error_info<br/>
+</a><a href="error_info_error_info.html">error_info::error_info<br/>
+</a><a href="error_info_value.html">error_info::value<br/>
+</a><a href="error_info_value_type.html">error_info::value_type<br/>
+</a><a href="exception_operator_shl.html">exception/operator&lt;&lt;<br/>
+</a><a href="synopsis.html">Synopsis<br/>
+</a></div>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) -->
+<div id="footer">
+<p>&nbsp;</p>
+<hr/>
+<p>
+<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer";><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a> +<a class="logo" href="http://validator.w3.org/check?uri=referer";><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a> +<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/> +Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt";>Boost Software License, Version 1.0</a>.</small>
+</p>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
=======================================
--- /dev/null
+++ /trunk/libs/exception/doc/boost_exception_info_tuple_hpp.html Fri Sep 4 04:09:20 2009
@@ -0,0 +1,62 @@
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+<head>
+       <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
+       <title>boost/exception/info_tuple.hpp</title>
+       <link href='reno.css' type='text/css' rel='stylesheet'/>
+</head>
+<body>
+<div class="body-0">
+<div class="body-1">
+<div class="body-2">
+<div>
+<div id="boost_logo">
+<a href="http://www.boost.org";><img style="border:0" src="../../../boost.png" alt="Boost" width="277" height="86"/></a>
+</div>
+<h1>Boost Exception</h1>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) --> +<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>boost/exception/info_tuple.hpp</h2>
+</div>
+<h3>Synopsis</h3>
+<div class="RenoIncludeDIV"><pre>#include &lt;<span class="RenoLink"><a href="boost_exception_info_hpp.html">boost/exception/info.hpp</a></span>&gt;
+#include &lt;boost/tuple/tuple.hpp&gt;
+
+namespace
+boost
+    {
+<span class="RenoIncludeSPAN"> <span class="RenoIncludeSPAN">template &lt;class E, class Tag1, class T1, ..., class TagN, class TN&gt; + E const &amp; <span class="RenoLink"><a href="tuple_operator_shl.html">operator&lt;&lt;</a></span>( E const &amp; x, + <span class="RenoLink"><a href="http://www.boost.org/libs/tuple/doc/tuple_users_guide.html";>tuple</a></span>&lt; + <span class="RenoLink"><a href="error_info.html">error_info</a></span>&lt;Tag1,T1&gt;,
+            ...,
+ <span class="RenoLink"><a href="error_info.html">error_info</a></span>&lt;TagN,TN&gt; &gt; const &amp; v );</span></span>
+    }</pre>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
+<div class="RenoPageList"><a href="boost_exception_all_hpp.html">boost/exception/all.hpp<br/>
+</a><a href="synopsis.html">Synopsis<br/>
+</a><a href="tuple_operator_shl.html">tuple/operator&lt;&lt;<br/>
+</a></div>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) -->
+<div id="footer">
+<p>&nbsp;</p>
+<hr/>
+<p>
+<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer";><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a> +<a class="logo" href="http://validator.w3.org/check?uri=referer";><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a> +<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/> +Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt";>Boost Software License, Version 1.0</a>.</small>
+</p>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
=======================================
--- /dev/null
+++ /trunk/libs/exception/doc/boost_exception_ptr_hpp.html Fri Sep 4 04:09:20 2009
@@ -0,0 +1,78 @@
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+<head>
+       <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
+       <title>boost/exception_ptr.hpp</title>
+       <link href='reno.css' type='text/css' rel='stylesheet'/>
+</head>
+<body>
+<div class="body-0">
+<div class="body-1">
+<div class="body-2">
+<div>
+<div id="boost_logo">
+<a href="http://www.boost.org";><img style="border:0" src="../../../boost.png" alt="Boost" width="277" height="86"/></a>
+</div>
+<h1>Boost Exception</h1>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) --> +<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>boost/exception_ptr.hpp</h2>
+</div>
+<h3>Synopsis</h3>
+<div class="RenoIncludeDIV"><pre>#include &lt;<span class="RenoLink"><a href="boost_exception_exception_hpp.html">boost/exception/exception.hpp</a></span>&gt;
+
+namespace
+boost
+    {
+<span class="RenoIncludeSPAN">    <span class="RenoIncludeSPAN">class
+ <span class="RenoLink"><a href="unknown_exception.html">unknown_exception</a></span>:
+        public std::exception
+ public boost::<span class="RenoLink"><a href="exception.html">exception</a></span>
+        {
+        ---unspecified---
+        };</span>
+
+ <span class="RenoIncludeSPAN">typedef <span class="RenoLink"><a href="error_info.html">error_info</a></span>&lt;struct tag_original_exception_type,std::type_info const *&gt; <span class="RenoLink"><a href="original_exception_type.html">original_exception_type</a></span>;</span>
+
+ <span class="RenoIncludeSPAN">typedef ---unspecified--- <span class="RenoLink"><a href="exception_ptr.html">exception_ptr</a></span>;</span>
+
+    <span class="RenoIncludeSPAN">template &lt;class T&gt;
+ <span class="RenoLink"><a href="exception_ptr.html">exception_ptr</a></span> <span class="RenoLink"><a href="copy_exception.html">copy_exception</a></span>( T const &amp; e );</span>
+
+ <span class="RenoIncludeSPAN"><span class="RenoLink"><a href="exception_ptr.html">exception_ptr</a></span> <span class="RenoLink"><a href="current_exception.html">current_exception</a></span>();</span>
+
+ <span class="RenoIncludeSPAN">void <span class="RenoLink"><a href="rethrow_exception.html">rethrow_exception</a></span>( <span class="RenoLink"><a href="exception_ptr.html">exception_ptr</a></span> const &amp; ep );</span></span>
+    }</pre>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
+<div class="RenoPageList"><a href="boost_exception_all_hpp.html">boost/exception/all.hpp<br/>
+</a><a href="copy_exception.html">copy_exception<br/>
+</a><a href="current_exception.html">current_exception<br/>
+</a><a href="exception_ptr.html">exception_ptr<br/>
+</a><a href="original_exception_type.html">original_exception_type<br/>
+</a><a href="rethrow_exception.html">rethrow_exception<br/>
+</a><a href="synopsis.html">Synopsis<br/>
+</a><a href="unknown_exception.html">unknown_exception<br/>
+</a></div>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) -->
+<div id="footer">
+<p>&nbsp;</p>
+<hr/>
+<p>
+<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer";><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a> +<a class="logo" href="http://validator.w3.org/check?uri=referer";><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a> +<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/> +Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt";>Boost Software License, Version 1.0</a>.</small>
+</p>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
=======================================
--- /dev/null
+++ /trunk/libs/exception/doc/boost_throw_exception_hpp.html Fri Sep 4 04:09:20 2009
@@ -0,0 +1,72 @@
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+<head>
+       <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
+       <title>boost/throw_exception.hpp</title>
+       <link href='reno.css' type='text/css' rel='stylesheet'/>
+</head>
+<body>
+<div class="body-0">
+<div class="body-1">
+<div class="body-2">
+<div>
+<div id="boost_logo">
+<a href="http://www.boost.org";><img style="border:0" src="../../../boost.png" alt="Boost" width="277" height="86"/></a>
+</div>
+<h1>Boost Exception</h1>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) --> +<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>boost/throw_exception.hpp</h2>
+</div>
+<h3>Synopsis</h3>
+<div class="RenoIncludeDIV"><div class="RenoIncludeDIV"><pre><span class="RenoIncludeSPAN">#if !defined( BOOST_EXCEPTION_DISABLE ) + #include &lt;<span class="RenoLink"><a href="boost_exception_exception_hpp.html">boost/exception/exception.hpp</a></span>&gt;
+    #include &lt;boost/current_function.hpp&gt;
+ #define <span class="RenoLink"><a href="BOOST_THROW_EXCEPTION.html">BOOST_THROW_EXCEPTION</a></span>(x)\ + ::boost::<span class="RenoLink"><a href="throw_exception.html">throw_exception</a></span>( ::boost::<span class="RenoLink"><a href="enable_error_info.html">enable_error_info</a></span>(x) &lt;&lt;\ + ::boost::<span class="RenoLink"><a href="boost_exception_exception_hpp.html">throw_function</a></span>(BOOST_CURRENT_FUNCTION) &lt;&lt;\ + ::boost::<span class="RenoLink"><a href="boost_exception_exception_hpp.html">throw_file</a></span>(__FILE__) &lt;&lt;\ + ::boost::<span class="RenoLink"><a href="boost_exception_exception_hpp.html">throw_line</a></span>((int)__LINE__) )
+#else
+ #define <span class="RenoLink"><a href="BOOST_THROW_EXCEPTION.html">BOOST_THROW_EXCEPTION</a></span>(x) ::boost::<span class="RenoLink"><a href="throw_exception.html">throw_exception</a></span>(x)
+#endif</span>
+
+namespace
+boost
+    {
+<span class="RenoIncludeSPAN">#ifdef BOOST_NO_EXCEPTIONS
+ void <span class="RenoLink"><a href="throw_exception.html">throw_exception</a></span>( std::exception const &amp; e ); // user defined
+#else
+    template &lt;class E&gt;
+ void <span class="RenoLink"><a href="throw_exception.html">throw_exception</a></span>( E const &amp; e );
+#endif</span>
+    }</pre>
+</div></div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
+<div class="RenoPageList"><a href="BOOST_THROW_EXCEPTION.html">BOOST_THROW_EXCEPTION<br/>
+</a><a href="configuration_macros.html">Configuration Macros<br/>
+</a><a href="synopsis.html">Synopsis<br/>
+</a><a href="throw_exception.html">throw_exception<br/>
+</a></div>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) -->
+<div id="footer">
+<p>&nbsp;</p>
+<hr/>
+<p>
+<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer";><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a> +<a class="logo" href="http://validator.w3.org/check?uri=referer";><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a> +<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/> +Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt";>Boost Software License, Version 1.0</a>.</small>
+</p>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
=======================================
--- /dev/null
+++ /trunk/libs/exception/doc/errinfo_api_function.html Fri Sep 4 04:09:20 2009
@@ -0,0 +1,102 @@
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+<head>
+       <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
+       <title>errinfo_api_function</title>
+       <link href='reno.css' type='text/css' rel='stylesheet'/>
+</head>
+<body>
+<div class="body-0">
+<div class="body-1">
+<div class="body-2">
+<div>
+<div id="boost_logo">
+<a href="http://www.boost.org";><img style="border:0" src="../../../boost.png" alt="Boost" width="277" height="86"/></a>
+</div>
+<h1>Boost Exception</h1>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) --> +<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>errinfo_api_function</h3>
+</div>
+<div class="RenoIncludeDIV"><p><span class="RenoEscape">&#35;<!--<wiki>`&#35;</wiki>--></span>include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_api_function_hpp.html">boost/exception/errinfo_api_function.hpp</a></span>&gt;</p> +<div class="RenoIncludeDIV"><pre>#include &lt;<span class="RenoLink"><a href="boost_exception_error_info_hpp.html">boost/exception/error_info.hpp</a></span>&gt;
+
+namespace
+boost
+    {
+<span class="RenoIncludeSPAN"> <span class="RenoIncludeSPAN">typedef <span class="RenoLink"><a href="error_info.html">error_info</a></span>&lt;struct errinfo_api_function_,int&gt; <span class="RenoLink">errinfo_api_function</span>;</span></span>
+    }</pre>
+</div></div><p>This type is designed to be used as a standard <span class="RenoLink"><a href="error_info.html">error_info</a></span> instance for transporting the name of a relevant API function (which does not use exceptions to report errors) in exceptions deriving from boost::<span class="RenoLink"><a href="exception.html">exception</a></span>.</p>
+<h3>Example:</h3>
+<div class="RenoIncludeDIV"><pre>#include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_api_function_hpp.html">boost/exception/errinfo_api_function.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_at_line_hpp.html">boost/exception/errinfo_at_line.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_errno_hpp.html">boost/exception/errinfo_errno.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_file_handle_hpp.html">boost/exception/errinfo_file_handle.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_file_name_hpp.html">boost/exception/errinfo_file_name.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_file_open_mode_hpp.html">boost/exception/errinfo_file_open_mode.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_info_hpp.html">boost/exception/info.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_throw_exception_hpp.html">boost/throw_exception.hpp</a></span>&gt;
+#include &lt;boost/shared_ptr.hpp&gt;
+#include &lt;boost/weak_ptr.hpp&gt;
+#include &lt;stdio.h&gt;
+#include &lt;errno.h&gt;
+#include &lt;exception&gt;
+
+struct error : virtual std::exception, virtual boost::<span class="RenoLink"><a href="exception.html">exception</a></span> { };
+struct file_error : virtual error { };
+struct file_open_error: virtual file_error { };
+struct file_read_error: virtual file_error { };
+
+boost::shared_ptr&lt;FILE&gt;
+open_file( char const * file, char const * mode )
+    {
+    if( FILE * f=fopen(file,mode) )
+        return boost::shared_ptr&lt;FILE&gt;(f,fclose);
+    else
+ <span class="RenoLink"><a href="BOOST_THROW_EXCEPTION.html">BOOST_THROW_EXCEPTION</a></span>(
+            file_open_error() &lt;&lt;
+ boost::<span class="RenoLink">errinfo_api_function</span>("fopen") &lt;&lt; + boost::<span class="RenoLink"><a href="errinfo_errno.html">errinfo_errno</a></span>(errno) &lt;&lt; + boost::<span class="RenoLink"><a href="errinfo_file_name.html">errinfo_file_name</a></span>(file) &lt;&lt; + boost::<span class="RenoLink"><a href="errinfo_file_open_mode.html">errinfo_file_open_mode</a></span>(mode) );
+    }
+
+size_t
+read_file( boost::shared_ptr&lt;FILE&gt; const &amp; f, void * buf, size_t size )
+    {
+    size_t nr=fread(buf,1,size,f.get());
+    if( ferror(f.get()) )
+ <span class="RenoLink"><a href="BOOST_THROW_EXCEPTION.html">BOOST_THROW_EXCEPTION</a></span>(
+            file_read_error() &lt;&lt;
+ boost::<span class="RenoLink">errinfo_api_function</span>("fread") &lt;&lt; + boost::<span class="RenoLink"><a href="errinfo_errno.html">errinfo_errno</a></span>(errno) &lt;&lt; + boost::<span class="RenoLink"><a href="errinfo_file_handle.html">errinfo_file_handle</a></span>(f) );
+    return nr;
+    }</pre>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
+<div class="RenoPageList"><a href="boost_exception_errinfo_api_function_hpp.html">boost/exception/errinfo_api_function.hpp<br/> +</a><a href="frequently_asked_questions.html">Frequently Asked Questions<br/>
+</a></div>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) -->
+<div id="footer">
+<p>&nbsp;</p>
+<hr/>
+<p>
+<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer";><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a> +<a class="logo" href="http://validator.w3.org/check?uri=referer";><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a> +<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/> +Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt";>Boost Software License, Version 1.0</a>.</small>
+</p>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
=======================================
--- /dev/null
+++ /trunk/libs/exception/doc/errinfo_at_line.html      Fri Sep  4 04:09:20 2009
@@ -0,0 +1,101 @@
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+<head>
+       <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
+       <title>errinfo_at_line</title>
+       <link href='reno.css' type='text/css' rel='stylesheet'/>
+</head>
+<body>
+<div class="body-0">
+<div class="body-1">
+<div class="body-2">
+<div>
+<div id="boost_logo">
+<a href="http://www.boost.org";><img style="border:0" src="../../../boost.png" alt="Boost" width="277" height="86"/></a>
+</div>
+<h1>Boost Exception</h1>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) --> +<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>errinfo_at_line</h3>
+</div>
+<div class="RenoIncludeDIV"><p><span class="RenoEscape">&#35;<!--<wiki>`&#35;</wiki>--></span>include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_at_line_hpp.html">boost/exception/errinfo_at_line.hpp</a></span>&gt;</p> +<div class="RenoIncludeDIV"><pre>#include &lt;<span class="RenoLink"><a href="boost_exception_error_info_hpp.html">boost/exception/error_info.hpp</a></span>&gt;
+
+namespace
+boost
+    {
+<span class="RenoIncludeSPAN"> <span class="RenoIncludeSPAN">typedef <span class="RenoLink"><a href="error_info.html">error_info</a></span>&lt;struct errinfo_at_line_,int&gt; <span class="RenoLink">errinfo_at_line</span>;</span></span>
+    }</pre>
+</div></div><p>This type is designed to be used as a standard <span class="RenoLink"><a href="error_info.html">error_info</a></span> instance for transporting a relevant text file line number, for example in parse error exceptions deriving from boost::<span class="RenoLink"><a href="exception.html">exception</a></span>.</p>
+<h3>Example:</h3>
+<div class="RenoIncludeDIV"><pre>#include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_api_function_hpp.html">boost/exception/errinfo_api_function.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_at_line_hpp.html">boost/exception/errinfo_at_line.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_errno_hpp.html">boost/exception/errinfo_errno.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_file_handle_hpp.html">boost/exception/errinfo_file_handle.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_file_name_hpp.html">boost/exception/errinfo_file_name.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_file_open_mode_hpp.html">boost/exception/errinfo_file_open_mode.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_info_hpp.html">boost/exception/info.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_throw_exception_hpp.html">boost/throw_exception.hpp</a></span>&gt;
+#include &lt;boost/shared_ptr.hpp&gt;
+#include &lt;boost/weak_ptr.hpp&gt;
+#include &lt;stdio.h&gt;
+#include &lt;errno.h&gt;
+#include &lt;exception&gt;
+
+struct error : virtual std::exception, virtual boost::<span class="RenoLink"><a href="exception.html">exception</a></span> { };
+struct file_error : virtual error { };
+struct file_open_error: virtual file_error { };
+struct file_read_error: virtual file_error { };
+
+boost::shared_ptr&lt;FILE&gt;
+open_file( char const * file, char const * mode )
+    {
+    if( FILE * f=fopen(file,mode) )
+        return boost::shared_ptr&lt;FILE&gt;(f,fclose);
+    else
+ <span class="RenoLink"><a href="BOOST_THROW_EXCEPTION.html">BOOST_THROW_EXCEPTION</a></span>(
+            file_open_error() &lt;&lt;
+ boost::<span class="RenoLink"><a href="errinfo_api_function.html">errinfo_api_function</a></span>("fopen") &lt;&lt; + boost::<span class="RenoLink"><a href="errinfo_errno.html">errinfo_errno</a></span>(errno) &lt;&lt; + boost::<span class="RenoLink"><a href="errinfo_file_name.html">errinfo_file_name</a></span>(file) &lt;&lt; + boost::<span class="RenoLink"><a href="errinfo_file_open_mode.html">errinfo_file_open_mode</a></span>(mode) );
+    }
+
+size_t
+read_file( boost::shared_ptr&lt;FILE&gt; const &amp; f, void * buf, size_t size )
+    {
+    size_t nr=fread(buf,1,size,f.get());
+    if( ferror(f.get()) )
+ <span class="RenoLink"><a href="BOOST_THROW_EXCEPTION.html">BOOST_THROW_EXCEPTION</a></span>(
+            file_read_error() &lt;&lt;
+ boost::<span class="RenoLink"><a href="errinfo_api_function.html">errinfo_api_function</a></span>("fread") &lt;&lt; + boost::<span class="RenoLink"><a href="errinfo_errno.html">errinfo_errno</a></span>(errno) &lt;&lt; + boost::<span class="RenoLink"><a href="errinfo_file_handle.html">errinfo_file_handle</a></span>(f) );
+    return nr;
+    }</pre>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
+<div class="RenoPageList"><a href="boost_exception_errinfo_at_line_hpp.html">boost/exception/errinfo_at_line.hpp<br/>
+</a></div>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) -->
+<div id="footer">
+<p>&nbsp;</p>
+<hr/>
+<p>
+<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer";><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a> +<a class="logo" href="http://validator.w3.org/check?uri=referer";><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a> +<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/> +Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt";>Boost Software License, Version 1.0</a>.</small>
+</p>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
=======================================
--- /dev/null
+++ /trunk/libs/exception/doc/errinfo_errno.html        Fri Sep  4 04:09:20 2009
@@ -0,0 +1,103 @@
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+<head>
+       <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
+       <title>errinfo_errno</title>
+       <link href='reno.css' type='text/css' rel='stylesheet'/>
+</head>
+<body>
+<div class="body-0">
+<div class="body-1">
+<div class="body-2">
+<div>
+<div id="boost_logo">
+<a href="http://www.boost.org";><img style="border:0" src="../../../boost.png" alt="Boost" width="277" height="86"/></a>
+</div>
+<h1>Boost Exception</h1>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) -->
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>errinfo_errno</h3>
+</div>
+<div class="RenoIncludeDIV"><p><span class="RenoEscape">&#35;<!--<wiki>`&#35;</wiki>--></span>include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_errno_hpp.html">boost/exception/errinfo_errno.hpp</a></span>&gt;</p> +<div class="RenoIncludeDIV"><pre>#include &lt;<span class="RenoLink"><a href="boost_exception_error_info_hpp.html">boost/exception/error_info.hpp</a></span>&gt;
+#include &lt;errno.h&gt;
+
+namespace
+boost
+    {
+<span class="RenoIncludeSPAN"> <span class="RenoIncludeSPAN">typedef <span class="RenoLink"><a href="error_info.html">error_info</a></span>&lt;struct errinfo_errno_,int&gt; <span class="RenoLink">errinfo_errno</span>;</span></span>
+    }</pre>
+</div></div><p>This type is designed to be used as a standard <span class="RenoLink"><a href="error_info.html">error_info</a></span> instance for transporting a relevant errno value in exceptions deriving from boost::<span class="RenoLink"><a href="exception.html">exception</a></span>.</p>
+<h3>Example:</h3>
+<div class="RenoIncludeDIV"><pre>#include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_api_function_hpp.html">boost/exception/errinfo_api_function.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_at_line_hpp.html">boost/exception/errinfo_at_line.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_errno_hpp.html">boost/exception/errinfo_errno.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_file_handle_hpp.html">boost/exception/errinfo_file_handle.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_file_name_hpp.html">boost/exception/errinfo_file_name.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_file_open_mode_hpp.html">boost/exception/errinfo_file_open_mode.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_info_hpp.html">boost/exception/info.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_throw_exception_hpp.html">boost/throw_exception.hpp</a></span>&gt;
+#include &lt;boost/shared_ptr.hpp&gt;
+#include &lt;boost/weak_ptr.hpp&gt;
+#include &lt;stdio.h&gt;
+#include &lt;errno.h&gt;
+#include &lt;exception&gt;
+
+struct error : virtual std::exception, virtual boost::<span class="RenoLink"><a href="exception.html">exception</a></span> { };
+struct file_error : virtual error { };
+struct file_open_error: virtual file_error { };
+struct file_read_error: virtual file_error { };
+
+boost::shared_ptr&lt;FILE&gt;
+open_file( char const * file, char const * mode )
+    {
+    if( FILE * f=fopen(file,mode) )
+        return boost::shared_ptr&lt;FILE&gt;(f,fclose);
+    else
+ <span class="RenoLink"><a href="BOOST_THROW_EXCEPTION.html">BOOST_THROW_EXCEPTION</a></span>(
+            file_open_error() &lt;&lt;
+ boost::<span class="RenoLink"><a href="errinfo_api_function.html">errinfo_api_function</a></span>("fopen") &lt;&lt; + boost::<span class="RenoLink">errinfo_errno</span>(errno) &lt;&lt; + boost::<span class="RenoLink"><a href="errinfo_file_name.html">errinfo_file_name</a></span>(file) &lt;&lt; + boost::<span class="RenoLink"><a href="errinfo_file_open_mode.html">errinfo_file_open_mode</a></span>(mode) );
+    }
+
+size_t
+read_file( boost::shared_ptr&lt;FILE&gt; const &amp; f, void * buf, size_t size )
+    {
+    size_t nr=fread(buf,1,size,f.get());
+    if( ferror(f.get()) )
+ <span class="RenoLink"><a href="BOOST_THROW_EXCEPTION.html">BOOST_THROW_EXCEPTION</a></span>(
+            file_read_error() &lt;&lt;
+ boost::<span class="RenoLink"><a href="errinfo_api_function.html">errinfo_api_function</a></span>("fread") &lt;&lt; + boost::<span class="RenoLink">errinfo_errno</span>(errno) &lt;&lt; + boost::<span class="RenoLink"><a href="errinfo_file_handle.html">errinfo_file_handle</a></span>(f) );
+    return nr;
+    }</pre>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
+<div class="RenoPageList"><a href="boost_exception_errinfo_errno_hpp.html">boost/exception/errinfo_errno.hpp<br/> +</a><a href="frequently_asked_questions.html">Frequently Asked Questions<br/>
+</a></div>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) -->
+<div id="footer">
+<p>&nbsp;</p>
+<hr/>
+<p>
+<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer";><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a> +<a class="logo" href="http://validator.w3.org/check?uri=referer";><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a> +<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/> +Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt";>Boost Software License, Version 1.0</a>.</small>
+</p>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
=======================================
--- /dev/null
+++ /trunk/libs/exception/doc/errinfo_file_handle.html Fri Sep 4 04:09:20 2009
@@ -0,0 +1,102 @@
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+<head>
+       <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
+       <title>errinfo_file_handle</title>
+       <link href='reno.css' type='text/css' rel='stylesheet'/>
+</head>
+<body>
+<div class="body-0">
+<div class="body-1">
+<div class="body-2">
+<div>
+<div id="boost_logo">
+<a href="http://www.boost.org";><img style="border:0" src="../../../boost.png" alt="Boost" width="277" height="86"/></a>
+</div>
+<h1>Boost Exception</h1>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) --> +<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>errinfo_file_handle</h3>
+</div>
+<div class="RenoIncludeDIV"><p><span class="RenoEscape">&#35;<!--<wiki>`&#35;</wiki>--></span>include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_file_handle_hpp.html">boost/exception/errinfo_file_handle.hpp</a></span>&gt;</p> +<div class="RenoIncludeDIV"><pre>#include &lt;<span class="RenoLink"><a href="boost_exception_error_info_hpp.html">boost/exception/error_info.hpp</a></span>&gt;
+
+namespace
+boost
+    {
+    template &lt;class&gt; class weak_ptr;
+<span class="RenoIncludeSPAN"> <span class="RenoIncludeSPAN">typedef <span class="RenoLink"><a href="error_info.html">error_info</a></span>&lt;struct errinfo_file_handle_,weak_ptr&lt;FILE&gt; &gt; <span class="RenoLink">errinfo_file_handle</span>;</span></span>
+    }</pre>
+</div></div><p>This type is designed to be used as a standard <span class="RenoLink"><a href="error_info.html">error_info</a></span> instance for transporting a relevant FILE pointer managed by a boost::shared_ptr&lt;FILE&gt; in exceptions deriving from boost::<span class="RenoLink"><a href="exception.html">exception</a></span>.</p>
+<h3>Example:</h3>
+<div class="RenoIncludeDIV"><pre>#include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_api_function_hpp.html">boost/exception/errinfo_api_function.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_at_line_hpp.html">boost/exception/errinfo_at_line.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_errno_hpp.html">boost/exception/errinfo_errno.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_file_handle_hpp.html">boost/exception/errinfo_file_handle.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_file_name_hpp.html">boost/exception/errinfo_file_name.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_file_open_mode_hpp.html">boost/exception/errinfo_file_open_mode.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_info_hpp.html">boost/exception/info.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_throw_exception_hpp.html">boost/throw_exception.hpp</a></span>&gt;
+#include &lt;boost/shared_ptr.hpp&gt;
+#include &lt;boost/weak_ptr.hpp&gt;
+#include &lt;stdio.h&gt;
+#include &lt;errno.h&gt;
+#include &lt;exception&gt;
+
+struct error : virtual std::exception, virtual boost::<span class="RenoLink"><a href="exception.html">exception</a></span> { };
+struct file_error : virtual error { };
+struct file_open_error: virtual file_error { };
+struct file_read_error: virtual file_error { };
+
+boost::shared_ptr&lt;FILE&gt;
+open_file( char const * file, char const * mode )
+    {
+    if( FILE * f=fopen(file,mode) )
+        return boost::shared_ptr&lt;FILE&gt;(f,fclose);
+    else
+ <span class="RenoLink"><a href="BOOST_THROW_EXCEPTION.html">BOOST_THROW_EXCEPTION</a></span>(
+            file_open_error() &lt;&lt;
+ boost::<span class="RenoLink"><a href="errinfo_api_function.html">errinfo_api_function</a></span>("fopen") &lt;&lt; + boost::<span class="RenoLink"><a href="errinfo_errno.html">errinfo_errno</a></span>(errno) &lt;&lt; + boost::<span class="RenoLink"><a href="errinfo_file_name.html">errinfo_file_name</a></span>(file) &lt;&lt; + boost::<span class="RenoLink"><a href="errinfo_file_open_mode.html">errinfo_file_open_mode</a></span>(mode) );
+    }
+
+size_t
+read_file( boost::shared_ptr&lt;FILE&gt; const &amp; f, void * buf, size_t size )
+    {
+    size_t nr=fread(buf,1,size,f.get());
+    if( ferror(f.get()) )
+ <span class="RenoLink"><a href="BOOST_THROW_EXCEPTION.html">BOOST_THROW_EXCEPTION</a></span>(
+            file_read_error() &lt;&lt;
+ boost::<span class="RenoLink"><a href="errinfo_api_function.html">errinfo_api_function</a></span>("fread") &lt;&lt; + boost::<span class="RenoLink"><a href="errinfo_errno.html">errinfo_errno</a></span>(errno) &lt;&lt;
+            boost::<span class="RenoLink">errinfo_file_handle</span>(f) );
+    return nr;
+    }</pre>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
+<div class="RenoPageList"><a href="boost_exception_errinfo_file_handle_hpp.html">boost/exception/errinfo_file_handle.hpp<br/>
+</a></div>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) -->
+<div id="footer">
+<p>&nbsp;</p>
+<hr/>
+<p>
+<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer";><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a> +<a class="logo" href="http://validator.w3.org/check?uri=referer";><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a> +<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/> +Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt";>Boost Software License, Version 1.0</a>.</small>
+</p>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
=======================================
--- /dev/null
+++ /trunk/libs/exception/doc/errinfo_file_name.html Fri Sep 4 04:09:20 2009
@@ -0,0 +1,103 @@
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+<head>
+       <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
+       <title>errinfo_file_name</title>
+       <link href='reno.css' type='text/css' rel='stylesheet'/>
+</head>
+<body>
+<div class="body-0">
+<div class="body-1">
+<div class="body-2">
+<div>
+<div id="boost_logo">
+<a href="http://www.boost.org";><img style="border:0" src="../../../boost.png" alt="Boost" width="277" height="86"/></a>
+</div>
+<h1>Boost Exception</h1>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) --> +<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>errinfo_file_name</h3>
+</div>
+<div class="RenoIncludeDIV"><p><span class="RenoEscape">&#35;<!--<wiki>`&#35;</wiki>--></span>include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_file_name_hpp.html">boost/exception/errinfo_file_name.hpp</a></span>&gt;</p> +<div class="RenoIncludeDIV"><pre>#include &lt;<span class="RenoLink"><a href="boost_exception_error_info_hpp.html">boost/exception/error_info.hpp</a></span>&gt;
+#include &lt;string&gt;
+
+namespace
+boost
+    {
+<span class="RenoIncludeSPAN"> <span class="RenoIncludeSPAN">typedef <span class="RenoLink"><a href="error_info.html">error_info</a></span>&lt;struct errinfo_file_name_,std::string&gt; <span class="RenoLink">errinfo_file_name</span>;</span></span>
+    }</pre>
+</div></div><p>This type is designed to be used as a standard <span class="RenoLink"><a href="error_info.html">error_info</a></span> instance for transporting a relevant file name in exceptions deriving from boost::<span class="RenoLink"><a href="exception.html">exception</a></span>.</p>
+<h3>Example:</h3>
+<div class="RenoIncludeDIV"><pre>#include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_api_function_hpp.html">boost/exception/errinfo_api_function.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_at_line_hpp.html">boost/exception/errinfo_at_line.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_errno_hpp.html">boost/exception/errinfo_errno.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_file_handle_hpp.html">boost/exception/errinfo_file_handle.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_file_name_hpp.html">boost/exception/errinfo_file_name.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_file_open_mode_hpp.html">boost/exception/errinfo_file_open_mode.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_info_hpp.html">boost/exception/info.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_throw_exception_hpp.html">boost/throw_exception.hpp</a></span>&gt;
+#include &lt;boost/shared_ptr.hpp&gt;
+#include &lt;boost/weak_ptr.hpp&gt;
+#include &lt;stdio.h&gt;
+#include &lt;errno.h&gt;
+#include &lt;exception&gt;
+
+struct error : virtual std::exception, virtual boost::<span class="RenoLink"><a href="exception.html">exception</a></span> { };
+struct file_error : virtual error { };
+struct file_open_error: virtual file_error { };
+struct file_read_error: virtual file_error { };
+
+boost::shared_ptr&lt;FILE&gt;
+open_file( char const * file, char const * mode )
+    {
+    if( FILE * f=fopen(file,mode) )
+        return boost::shared_ptr&lt;FILE&gt;(f,fclose);
+    else
+ <span class="RenoLink"><a href="BOOST_THROW_EXCEPTION.html">BOOST_THROW_EXCEPTION</a></span>(
+            file_open_error() &lt;&lt;
+ boost::<span class="RenoLink"><a href="errinfo_api_function.html">errinfo_api_function</a></span>("fopen") &lt;&lt; + boost::<span class="RenoLink"><a href="errinfo_errno.html">errinfo_errno</a></span>(errno) &lt;&lt; + boost::<span class="RenoLink">errinfo_file_name</span>(file) &lt;&lt; + boost::<span class="RenoLink"><a href="errinfo_file_open_mode.html">errinfo_file_open_mode</a></span>(mode) );
+    }
+
+size_t
+read_file( boost::shared_ptr&lt;FILE&gt; const &amp; f, void * buf, size_t size )
+    {
+    size_t nr=fread(buf,1,size,f.get());
+    if( ferror(f.get()) )
+ <span class="RenoLink"><a href="BOOST_THROW_EXCEPTION.html">BOOST_THROW_EXCEPTION</a></span>(
+            file_read_error() &lt;&lt;
+ boost::<span class="RenoLink"><a href="errinfo_api_function.html">errinfo_api_function</a></span>("fread") &lt;&lt; + boost::<span class="RenoLink"><a href="errinfo_errno.html">errinfo_errno</a></span>(errno) &lt;&lt; + boost::<span class="RenoLink"><a href="errinfo_file_handle.html">errinfo_file_handle</a></span>(f) );
+    return nr;
+    }</pre>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
+<div class="RenoPageList"><a href="boost_exception_errinfo_file_name_hpp.html">boost/exception/errinfo_file_name.hpp<br/> +</a><a href="frequently_asked_questions.html">Frequently Asked Questions<br/>
+</a></div>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) -->
+<div id="footer">
+<p>&nbsp;</p>
+<hr/>
+<p>
+<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer";><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a> +<a class="logo" href="http://validator.w3.org/check?uri=referer";><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a> +<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/> +Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt";>Boost Software License, Version 1.0</a>.</small>
+</p>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
=======================================
--- /dev/null
+++ /trunk/libs/exception/doc/errinfo_file_open_mode.html Fri Sep 4 04:09:20 2009
@@ -0,0 +1,103 @@
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+<head>
+       <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
+       <title>errinfo_file_open_mode</title>
+       <link href='reno.css' type='text/css' rel='stylesheet'/>
+</head>
+<body>
+<div class="body-0">
+<div class="body-1">
+<div class="body-2">
+<div>
+<div id="boost_logo">
+<a href="http://www.boost.org";><img style="border:0" src="../../../boost.png" alt="Boost" width="277" height="86"/></a>
+</div>
+<h1>Boost Exception</h1>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) --> +<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>errinfo_file_open_mode</h3>
+</div>
+<div class="RenoIncludeDIV"><p><span class="RenoEscape">&#35;<!--<wiki>`&#35;</wiki>--></span>include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_file_open_mode_hpp.html">boost/exception/errinfo_file_open_mode.hpp</a></span>&gt;</p> +<div class="RenoIncludeDIV"><pre>#include &lt;<span class="RenoLink"><a href="boost_exception_error_info_hpp.html">boost/exception/error_info.hpp</a></span>&gt;
+#include &lt;string&gt;
+
+namespace
+boost
+    {
+<span class="RenoIncludeSPAN"> <span class="RenoIncludeSPAN">typedef <span class="RenoLink"><a href="error_info.html">error_info</a></span>&lt;struct errinfo_file_open_mode_,std::string&gt; <span class="RenoLink">errinfo_file_open_mode</span>;</span></span>
+    }</pre>
+</div></div><p>This type is designed to be used as a standard <span class="RenoLink"><a href="error_info.html">error_info</a></span> instance for transporting the string passed as a second argument to fopen in exceptions indicating fopen failures and deriving from boost::<span class="RenoLink"><a href="exception.html">exception</a></span>.</p>
+<h3>Example:</h3>
+<div class="RenoIncludeDIV"><pre>#include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_api_function_hpp.html">boost/exception/errinfo_api_function.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_at_line_hpp.html">boost/exception/errinfo_at_line.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_errno_hpp.html">boost/exception/errinfo_errno.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_file_handle_hpp.html">boost/exception/errinfo_file_handle.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_file_name_hpp.html">boost/exception/errinfo_file_name.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_file_open_mode_hpp.html">boost/exception/errinfo_file_open_mode.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_exception_info_hpp.html">boost/exception/info.hpp</a></span>&gt; +#include &lt;<span class="RenoLink"><a href="boost_throw_exception_hpp.html">boost/throw_exception.hpp</a></span>&gt;
+#include &lt;boost/shared_ptr.hpp&gt;
+#include &lt;boost/weak_ptr.hpp&gt;
+#include &lt;stdio.h&gt;
+#include &lt;errno.h&gt;
+#include &lt;exception&gt;
+
+struct error : virtual std::exception, virtual boost::<span class="RenoLink"><a href="exception.html">exception</a></span> { };
+struct file_error : virtual error { };
+struct file_open_error: virtual file_error { };
+struct file_read_error: virtual file_error { };
+
+boost::shared_ptr&lt;FILE&gt;
+open_file( char const * file, char const * mode )
+    {
+    if( FILE * f=fopen(file,mode) )
+        return boost::shared_ptr&lt;FILE&gt;(f,fclose);
+    else
+ <span class="RenoLink"><a href="BOOST_THROW_EXCEPTION.html">BOOST_THROW_EXCEPTION</a></span>(
+            file_open_error() &lt;&lt;
+ boost::<span class="RenoLink"><a href="errinfo_api_function.html">errinfo_api_function</a></span>("fopen") &lt;&lt; + boost::<span class="RenoLink"><a href="errinfo_errno.html">errinfo_errno</a></span>(errno) &lt;&lt; + boost::<span class="RenoLink"><a href="errinfo_file_name.html">errinfo_file_name</a></span>(file) &lt;&lt; + boost::<span class="RenoLink">errinfo_file_open_mode</span>(mode) );
+    }
+
+size_t
+read_file( boost::shared_ptr&lt;FILE&gt; const &amp; f, void * buf, size_t size )
+    {
+    size_t nr=fread(buf,1,size,f.get());
+    if( ferror(f.get()) )
+ <span class="RenoLink"><a href="BOOST_THROW_EXCEPTION.html">BOOST_THROW_EXCEPTION</a></span>(
+            file_read_error() &lt;&lt;
+ boost::<span class="RenoLink"><a href="errinfo_api_function.html">errinfo_api_function</a></span>("fread") &lt;&lt; + boost::<span class="RenoLink"><a href="errinfo_errno.html">errinfo_errno</a></span>(errno) &lt;&lt; + boost::<span class="RenoLink"><a href="errinfo_file_handle.html">errinfo_file_handle</a></span>(f) );
+    return nr;
+    }</pre>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
+<div class="RenoPageList"><a href="boost_exception_errinfo_file_open_mode_hpp.html">boost/exception/errinfo_file_open_mode.hpp<br/> +</a><a href="frequently_asked_questions.html">Frequently Asked Questions<br/>
+</a></div>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) -->
+<div id="footer">
+<p>&nbsp;</p>
+<hr/>
+<p>
+<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer";><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a> +<a class="logo" href="http://validator.w3.org/check?uri=referer";><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a> +<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/> +Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt";>Boost Software License, Version 1.0</a>.</small>
+</p>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
=======================================
--- /dev/null
+++ /trunk/libs/exception/doc/errinfo_type_info_name.html Fri Sep 4 04:09:20 2009
@@ -0,0 +1,56 @@
+<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
+'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
+<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
+<head>
+       <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
+       <title>errinfo_type_info_name</title>
+       <link href='reno.css' type='text/css' rel='stylesheet'/>
+</head>
+<body>
+<div class="body-0">
+<div class="body-1">
+<div class="body-2">
+<div>
+<div id="boost_logo">
+<a href="http://www.boost.org";><img style="border:0" src="../../../boost.png" alt="Boost" width="277" height="86"/></a>
+</div>
+<h1>Boost Exception</h1>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) --> +<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>errinfo_type_info_name</h3>
+</div>
+<div class="RenoIncludeDIV"><p><span class="RenoEscape">&#35;<!--<wiki>`&#35;</wiki>--></span>include &lt;<span class="RenoLink"><a href="boost_exception_errinfo_type_info_name_hpp.html">boost/exception/errinfo_type_info_name.hpp</a></span>&gt;</p> +<div class="RenoIncludeDIV"><pre>#include &lt;<span class="RenoLink"><a href="boost_exception_error_info_hpp.html">boost/exception/error_info.hpp</a></span>&gt;
+#include &lt;string&gt;
+
+namespace
+boost
+    {
+<span class="RenoIncludeSPAN"> <span class="RenoIncludeSPAN">typedef <span class="RenoLink"><a href="error_info.html">error_info</a></span>&lt;struct errinfo_type_info_name_,std::string&gt; <span class="RenoLink">errinfo_type_info_name</span>;</span></span>
+    }</pre>
+</div></div><p>This type is designed to be used as a standard <span class="RenoLink"><a href="error_info.html">error_info</a></span> instance for transporting strings returned by std::type_info::name in exceptions deriving from boost::<span class="RenoLink"><a href="exception.html">exception</a></span> objects.</p>
+</div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<h3>See Also:</h3>
+<div class="RenoPageList"><a href="boost_exception_errinfo_type_info_name_hpp.html">boost/exception/errinfo_type_info_name.hpp<br/>
+</a></div>
+</div>
+<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
+<!-- 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) -->
+<div id="footer">
+<p>&nbsp;</p>
+<hr/>
+<p>
+<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer";><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a> +<a class="logo" href="http://validator.w3.org/check?uri=referer";><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a> +<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/> +Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt";>Boost Software License, Version 1.0</a>.</small>
+</p>
+</div>
+</div>
+</div>
+</div>
+</body>
+</html>
=======================================
--- /trunk/libs/crc/crc_test.cpp        Mon Nov 24 07:20:31 2008
+++ /dev/null
@@ -1,761 +0,0 @@
-// Boost CRC test program file ---------------------------------------------//
-
-//  Copyright 2001, 2003, 2004 Daryle Walker.  Use, modification, and
-// distribution are subject to the Boost Software License, Version 1.0. (See
-//  accompanying file LICENSE_1_0.txt or a copy at
-//  <http://www.boost.org/LICENSE_1_0.txt>.)
-
-//  See <http://www.boost.org/libs/crc/> for the library's home page.
-
-//  Revision History
-//  28 Aug 2004  Added CRC tests for polynominals shorter than 8 bits
-//               (Daryle Walker, by patch from Bert Klaps)
-//  23 Aug 2003  Adjust to updated Test framework (Daryle Walker)
-//  14 May 2001  Initial version (Daryle Walker)
-
-
-#include <boost/config.hpp>                      // for BOOST_MSVC, etc.
-#include <boost/crc.hpp> // for boost::crc_basic, etc. -#include <boost/cstdint.hpp> // for boost::uint16_t, etc.
-#include <boost/cstdlib.hpp>                     // for boost::exit_success
-#include <boost/integer.hpp>                     // for boost::uint_t
-#include <boost/random/linear_congruential.hpp>  // for boost::minstd_rand
-#include <boost/test/minimal.hpp>                // for main, etc.
-#include <boost/timer.hpp>                       // for boost::timer
-
-#include <algorithm>  // for std::for_each, std::generate_n, std::count
-#include <climits>    // for CHAR_BIT
-#include <cstddef>    // for std::size_t
-#include <iostream> // for std::cout (std::ostream and std::endl indirectly)
-
-
-#if CHAR_BIT != 8
-#error The expected results assume an eight-bit byte.
-#endif
-
-#if !(defined(BOOST_NO_DEPENDENT_TYPES_IN_TEMPLATE_VALUE_PARAMETERS) || (defined(BOOST_MSVC) && (BOOST_MSVC <= 1300)))
-#define CRC_PARM_TYPE  typename boost::uint_t<Bits>::fast
-#else
-#define CRC_PARM_TYPE  unsigned long
-#endif
-
-#if !defined(BOOST_MSVC) && !defined(__GNUC__)
-#define PRIVATE_DECLARE_BOOST( TypeName )  using boost:: TypeName
-#else
-#define PRIVATE_DECLARE_BOOST( TypeName ) typedef boost:: TypeName TypeName
-#endif
-
-
-// Types
-template < std::size_t Bits, CRC_PARM_TYPE TrPo, CRC_PARM_TYPE InRe,
-           CRC_PARM_TYPE FiXo, bool ReIn, bool ReRe >
-class crc_tester
-{
-public:
-    // All the following were separate function templates, but they have
-    // been moved to class-static member functions of a class template
-    // because MS VC++ 6 can't handle function templates that can't
-    // deduce all their template arguments from their function arguments.
-
-    typedef typename boost::uint_t<Bits>::fast  value_type;
-
- static void master_test( char const *test_name, value_type expected );
-
-private:
-    typedef boost::crc_optimal<Bits, TrPo, InRe, FiXo, ReIn, ReRe>
-      optimal_crc_type;
-    typedef boost::crc_basic<Bits>  basic_crc_type;
-
-    static  void  compute_test( value_type expected );
-    static  void  interrupt_test( value_type expected );
-    static  void  error_test();
-
-};  // crc_tester
-
-// Global data
-unsigned char const std_data[] = { 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37,
-                      0x38, 0x39 };
-std::size_t const std_data_len = sizeof( std_data ) / sizeof( std_data[0] );
-
-boost::uint16_t const  std_crc_ccitt_result = 0x29B1;
-boost::uint16_t const  std_crc_16_result = 0xBB3D;
-boost::uint32_t const  std_crc_32_result = 0xCBF43926;
-
-// Function prototypes
-void             timing_test();
-boost::uint32_t  basic_crc32( void const *buffer, std::size_t byte_count );
-boost::uint32_t optimal_crc32( void const *buffer, std::size_t byte_count );
-boost::uint32_t  quick_crc32( void const *buffer, std::size_t byte_count );
-boost::uint32_t  quick_reflect( boost::uint32_t value, std::size_t bits );
-double           time_trial( char const *name,
- boost::uint32_t (*crc_func)(void const *, std::size_t),
- boost::uint32_t expected, void const *data, std::size_t length );
-
-void             augmented_tests();
-boost::uint32_t  native_to_big( boost::uint32_t x );
-boost::uint32_t  big_to_native( boost::uint32_t x );
-
-void  small_crc_test1();
-void  small_crc_test2();
-
-
-// Macro to compact code
-#define PRIVATE_TESTER_NAME  crc_tester<Bits, TrPo, InRe, FiXo, ReIn, ReRe>
-
-// Run a test on slow and fast CRC computers and function
-template < std::size_t Bits, CRC_PARM_TYPE TrPo, CRC_PARM_TYPE InRe,
-           CRC_PARM_TYPE FiXo, bool ReIn, bool ReRe >
-void
-PRIVATE_TESTER_NAME::compute_test
-(
-    typename PRIVATE_TESTER_NAME::value_type  expected
-)
-{
-    std::cout << "\tDoing computation tests." << std::endl;
-
-    optimal_crc_type  fast_crc;
-    basic_crc_type    slow_crc( TrPo, InRe, FiXo, ReIn, ReRe );
- value_type const func_result = boost::crc<Bits, TrPo, InRe, FiXo, ReIn,
-     ReRe>( std_data, std_data_len );
-
-    fast_crc.process_bytes( std_data, std_data_len );
-    slow_crc.process_bytes( std_data, std_data_len );
-    BOOST_CHECK( fast_crc.checksum() == expected );
-    BOOST_CHECK( slow_crc.checksum() == expected );
-    BOOST_CHECK( func_result == expected );
-}
-
-// Run a test in two runs, and check all the inspectors
-template < std::size_t Bits, CRC_PARM_TYPE TrPo, CRC_PARM_TYPE InRe,
-           CRC_PARM_TYPE FiXo, bool ReIn, bool ReRe >
-void
-PRIVATE_TESTER_NAME::interrupt_test
-(
-    typename PRIVATE_TESTER_NAME::value_type  expected
-)
-{
-    std::cout << "\tDoing interrupt tests." << std::endl;
-
-    // Process the first half of the data (also test accessors)
-    optimal_crc_type  fast_crc1;
-    basic_crc_type    slow_crc1( fast_crc1.get_truncated_polynominal(),
-     fast_crc1.get_initial_remainder(), fast_crc1.get_final_xor_value(),
-     fast_crc1.get_reflect_input(), fast_crc1.get_reflect_remainder() );
-
-    BOOST_CHECK( fast_crc1.get_interim_remainder() ==
-     slow_crc1.get_initial_remainder() );
-
-    std::size_t const            mid_way = std_data_len / 2;
-    unsigned char const * const  std_data_end = std_data + std_data_len;
-
-    fast_crc1.process_bytes( std_data, mid_way );
-    slow_crc1.process_bytes( std_data, mid_way );
-    BOOST_CHECK( fast_crc1.checksum() == slow_crc1.checksum() );
-
-    // Process the second half of the data (also test accessors)
-    boost::crc_optimal<optimal_crc_type::bit_count,
- optimal_crc_type::truncated_polynominal, optimal_crc_type::initial_remainder,
-     optimal_crc_type::final_xor_value, optimal_crc_type::reflect_input,
-     optimal_crc_type::reflect_remainder>
-      fast_crc2( fast_crc1.get_interim_remainder() );
-    boost::crc_basic<basic_crc_type::bit_count>  slow_crc2(
- slow_crc1.get_truncated_polynominal(), slow_crc1.get_interim_remainder(),
-     slow_crc1.get_final_xor_value(), slow_crc1.get_reflect_input(),
-     slow_crc1.get_reflect_remainder() );
-
-    fast_crc2.process_block( std_data + mid_way, std_data_end );
-    slow_crc2.process_block( std_data + mid_way, std_data_end );
-    BOOST_CHECK( fast_crc2.checksum() == slow_crc2.checksum() );
-    BOOST_CHECK( fast_crc2.checksum() == expected );
-    BOOST_CHECK( slow_crc2.checksum() == expected );
-}
-
-// Run a test to see if a single-bit error is detected
-template < std::size_t Bits, CRC_PARM_TYPE TrPo, CRC_PARM_TYPE InRe,
-           CRC_PARM_TYPE FiXo, bool ReIn, bool ReRe >
-void
-PRIVATE_TESTER_NAME::error_test
-(
-)
-{
-    PRIVATE_DECLARE_BOOST( uint32_t );
-
-    // A single-bit error is ensured to be detected if the polynominal
-    // has at least two bits set.  The highest bit is what is removed
-    // to give the truncated polynominal, and it is always set.  This
-    // means that the truncated polynominal needs at least one of its
-    // bits set, which implies that it cannot be zero.
-    if ( !(TrPo & boost::detail::mask_uint_t<Bits>::sig_bits_fast) )
-    {
-        BOOST_FAIL( "truncated CRC polymonial is zero" );
-    }
-
-    std::cout << "\tDoing error tests." << std::endl;
-
-    // Create a random block of data
-    uint32_t           ran_data[ 256 ];
-    std::size_t const  ran_length = sizeof(ran_data) / sizeof(ran_data[0]);
-
-    std::generate_n( ran_data, ran_length, boost::minstd_rand() );
-
-    // Create computers and compute the checksum of the data
-    optimal_crc_type  fast_tester;
-    basic_crc_type    slow_tester( TrPo, InRe, FiXo, ReIn, ReRe );
-
-    fast_tester.process_bytes( ran_data, sizeof(ran_data) );
-    slow_tester.process_bytes( ran_data, sizeof(ran_data) );
-
-    uint32_t const  fast_checksum = fast_tester.checksum();
-    uint32_t const  slow_checksum = slow_tester.checksum();
-
-    BOOST_CHECK( fast_checksum == slow_checksum );
-
-    // Do the checksum again (and test resetting ability)
-    fast_tester.reset();
-    slow_tester.reset( InRe );
-    fast_tester.process_bytes( ran_data, sizeof(ran_data) );
-    slow_tester.process_bytes( ran_data, sizeof(ran_data) );
-    BOOST_CHECK( fast_tester.checksum() == slow_tester.checksum() );
-    BOOST_CHECK( fast_tester.checksum() == fast_checksum );
-    BOOST_CHECK( slow_tester.checksum() == slow_checksum );
-
-    // Produce a single-bit error
-    ran_data[ ran_data[0] % ran_length ] ^= ( 1 << (ran_data[1] % 32) );
-
-    // Compute the checksum of the errorenous data
-    // (and continue testing resetting ability)
-    fast_tester.reset( InRe );
-    slow_tester.reset();
-    fast_tester.process_bytes( ran_data, sizeof(ran_data) );
-    slow_tester.process_bytes( ran_data, sizeof(ran_data) );
-    BOOST_CHECK( fast_tester.checksum() == slow_tester.checksum() );
-    BOOST_CHECK( fast_tester.checksum() != fast_checksum );
-    BOOST_CHECK( slow_tester.checksum() != slow_checksum );
-}
-
-// Run the other CRC object tests
-template < std::size_t Bits, CRC_PARM_TYPE TrPo, CRC_PARM_TYPE InRe,
-           CRC_PARM_TYPE FiXo, bool ReIn, bool ReRe >
-void
-PRIVATE_TESTER_NAME::master_test
-(
-    char const *                              test_name,
-    typename PRIVATE_TESTER_NAME::value_type  expected
-)
-{
-    std::cout << "Doing test suite for " << test_name << '.' << std::endl;
-    compute_test( expected );
-    interrupt_test( expected );
-    error_test();
-}
-
-// Undo limited macros
-#undef PRIVATE_TESTER_NAME
-
-
-// A CRC-32 computer based on crc_basic, for timing
-boost::uint32_t
-basic_crc32
-(
-    void const *  buffer,
-    std::size_t   byte_count
-)
-{
- static boost::crc_basic<32> computer( 0x04C11DB7, 0xFFFFFFFF, 0xFFFFFFFF,
-     true, true );
-
-    computer.reset();
-    computer.process_bytes( buffer, byte_count );
-    return computer.checksum();
-}
-
-// A CRC-32 computer based on crc_optimal, for timing
-inline
-boost::uint32_t
-optimal_crc32
-(
-    void const *  buffer,
-    std::size_t   byte_count
-)
-{
-    static  boost::crc_32_type  computer;
-
-    computer.reset();
-    computer.process_bytes( buffer, byte_count );
-    return computer.checksum();
-}
-
-// Reflect the lower "bits" bits of a "value"
-boost::uint32_t
-quick_reflect
-(
-    boost::uint32_t  value,
-    std::size_t      bits
-)
-{
-    boost::uint32_t  reflection = 0;
-    for ( std::size_t i = 0 ; i < bits ; ++i )
-    {
-        if ( value & (1u << i) )
-        {
-            reflection |= 1 << ( bits - 1 - i );
-        }
-    }
-
-    return reflection;
-}
-
-// A customized CRC-32 computer, for timing
-boost::uint32_t
-quick_crc32
-(
-    void const *  buffer,
-    std::size_t   byte_count
-)
-{
-    PRIVATE_DECLARE_BOOST( uint32_t );
-    typedef unsigned char  byte_type;
-
-    // Compute the CRC table (first run only)
-    static  bool      did_init = false;
-    static  uint32_t  crc_table[ 1ul << CHAR_BIT ];
-    if ( !did_init )
-    {
-        uint32_t const  value_high_bit = static_cast<uint32_t>(1) << 31u;
-
-        byte_type  dividend = 0;
-        do
-        {
-            uint32_t  remainder = 0;
- for ( byte_type mask = 1u << (CHAR_BIT - 1u) ; mask ; mask >>= 1 )
-            {
-                if ( dividend & mask )
-                {
-                    remainder ^= value_high_bit;
-                }
-
-                if ( remainder & value_high_bit )
-                {
-                    remainder <<= 1;
-                    remainder ^= 0x04C11DB7u;
-                }
-                else
-                {
-                    remainder <<= 1;
-                }
-            }
-
-            crc_table[ quick_reflect(dividend, CHAR_BIT) ]
-             = quick_reflect( remainder, 32 );
-        }
-        while ( ++dividend );
-
-        did_init = true;
-    }
-
-    // Compute the CRC of the data
-    uint32_t  rem = 0xFFFFFFFF;
-
- byte_type const * const b_begin = static_cast<byte_type const *>( buffer );
-    byte_type const * const  b_end = b_begin + byte_count;
-    for ( byte_type const *p = b_begin ; p < b_end ; ++p )
-    {
-        byte_type const  byte_index = *p ^ rem;
-        rem >>= CHAR_BIT;
-        rem ^= crc_table[ byte_index ];
-    }
-
-    return ~rem;
-}
-
-// Run an individual timing trial
-double
-time_trial
-(
-    char const *       name,
-    boost::uint32_t  (*crc_func)(void const *, std::size_t),
-    boost::uint32_t    expected,
-    void const *       data,
-    std::size_t        length
-)
-{
-    PRIVATE_DECLARE_BOOST( uint32_t );
-    using std::cout;
-
-    // Limits of a trial
-    static uint32_t const  max_count = 1L << 16;  // ~square-root of max
-    static double const    max_time = 3.14159;    // easy as pi(e)
-
-    // Mark the trial
-    cout << '\t' << name << " CRC-32: ";
-
-    // Trial loop
-    uint32_t      trial_count = 0, wrong_count = 0;
-    double        elapsed_time = 0.0;
-    boost::timer  t;
-
-    do
-    {
-        uint32_t const  scratch = (*crc_func)( data, length );
-
-        if ( scratch != expected )
-        {
-            ++wrong_count;
-        }
-        elapsed_time = t.elapsed();
-        ++trial_count;
-    } while ( (trial_count < max_count) && (elapsed_time < max_time) );
-
-    if ( wrong_count )
-    {
-        BOOST_ERROR( "at least one time trial didn't match expected" );
-    }
-
-    // Report results
-    double const  rate = trial_count / elapsed_time;
-
-    cout << trial_count << " runs, " << elapsed_time << " s, " << rate
-     << " run/s" << std::endl;
-    return rate;
-}
-
-// Time runs of Boost CRCs vs. a customized CRC function
-void
-timing_test
-(
-)
-{
-    PRIVATE_DECLARE_BOOST( uint32_t );
-    using std::cout;
-    using std::endl;
-
-    cout << "Doing timing tests." << endl;
-
-    // Create a random block of data
-    boost::int32_t     ran_data[ 256 ];
-    std::size_t const  ran_length = sizeof(ran_data) / sizeof(ran_data[0]);
-
-    std::generate_n( ran_data, ran_length, boost::minstd_rand() );
-
-    // Use the first runs as a check.  This gives a chance for first-
-    // time static initialization to not interfere in the timings.
- uint32_t const basic_result = basic_crc32( ran_data, sizeof(ran_data) ); - uint32_t const optimal_result = optimal_crc32( ran_data, sizeof(ran_data) ); - uint32_t const quick_result = quick_crc32( ran_data, sizeof(ran_data) );
-
-    BOOST_CHECK( basic_result == optimal_result );
-    BOOST_CHECK( optimal_result == quick_result );
-    BOOST_CHECK( quick_result == basic_result );
-
-    // Run trials
-    double const  basic_rate = time_trial( "Boost-Basic", basic_crc32,
-     basic_result, ran_data, sizeof(ran_data) );
- double const optimal_rate = time_trial( "Boost-Optimal", optimal_crc32,
-     optimal_result, ran_data, sizeof(ran_data) );
-    double const  quick_rate = time_trial( "Reference", quick_crc32,
-     quick_result, ran_data, sizeof(ran_data) );
-
-    // Report results
- cout << "\tThe optimal Boost version is " << (quick_rate - optimal_rate)
-     / quick_rate * 100.0 << "% slower than the reference version.\n";
-    cout << "\tThe basic Boost version is " << (quick_rate - basic_rate)
-     / quick_rate * 100.0 << "% slower than the reference version.\n";
-    cout << "\tThe basic Boost version is " << (optimal_rate - basic_rate)
-     / optimal_rate * 100.0 << "% slower than the optimal Boost version."
-     << endl;
-}
-
-
-// Reformat an integer to the big-endian storage format
-boost::uint32_t
-native_to_big
-(
-    boost::uint32_t  x
-)
-{
-    boost::uint32_t  temp;
-    unsigned char *  tp = reinterpret_cast<unsigned char *>( &temp );
-
-    for ( std::size_t i = sizeof(x) ; i > 0 ; --i )
-    {
-        tp[ i - 1 ] = static_cast<unsigned char>( x );
-        x >>= CHAR_BIT;
-    }
-
-    return temp;
-}
-
-// Restore an integer from the big-endian storage format
-boost::uint32_t
-big_to_native
-(
-    boost::uint32_t  x
-)
-{
-    boost::uint32_t  temp = 0;
-    unsigned char *  xp = reinterpret_cast<unsigned char *>( &x );
-
-    for ( std::size_t i = 0 ; i < sizeof(x) ; ++i )
-    {
-        temp <<= CHAR_BIT;
-        temp |= xp[ i ];
-    }
-
-    return temp;
-}
-
-// Run tests on using CRCs on augmented messages
-void
-augmented_tests
-(
-)
-{
-    #define PRIVATE_ACRC_FUNC  boost::augmented_crc<32, 0x04C11DB7>
-
-    using std::size_t;
-    PRIVATE_DECLARE_BOOST( uint32_t );
-
-    std::cout << "Doing CRC-augmented message tests." << std::endl;
-
-    // Create a random block of data, with space for a CRC.
-    uint32_t      ran_data[ 257 ];
-    size_t const  ran_length = sizeof(ran_data) / sizeof(ran_data[0]);
-    size_t const  data_length = ran_length - 1;
-
-    std::generate_n( ran_data, data_length, boost::minstd_rand() );
-
-    // When creating a CRC for an augmented message, use
-    // zeros in the appended CRC spot for the first run.
-    uint32_t &  ran_crc = ran_data[ data_length ];
-
-    ran_crc = 0;
-
-    // Compute the CRC with augmented-CRC computing function
-    typedef boost::uint_t<32>::fast  return_type;
-
-    ran_crc = PRIVATE_ACRC_FUNC( ran_data, sizeof(ran_data) );
-
- // With the appended CRC set, running the checksum again should get zero.
-    // NOTE: CRC algorithm assumes numbers are in big-endian format
-    ran_crc = native_to_big( ran_crc );
-
- uint32_t ran_crc_check = PRIVATE_ACRC_FUNC( ran_data, sizeof(ran_data) );
-
-    BOOST_CHECK( 0 == ran_crc_check );
-
-    // Compare that result with other CRC computing functions
-    // and classes, which don't accept augmented messages.
-    typedef boost::crc_optimal<32, 0x04C11DB7>  fast_crc_type;
-    typedef boost::crc_basic<32>                slow_crc_type;
-
-    fast_crc_type   fast_tester;
-    slow_crc_type   slow_tester( 0x04C11DB7 );
-    size_t const    data_size = data_length * sizeof(ran_data[0]);
-    uint32_t const  func_tester = boost::crc<32, 0x04C11DB7, 0, 0, false,
-     false>( ran_data, data_size );
-
-    fast_tester.process_bytes( ran_data, data_size );
-    slow_tester.process_bytes( ran_data, data_size );
-    BOOST_CHECK( fast_tester.checksum() == slow_tester.checksum() );
-    ran_crc = big_to_native( ran_crc );
-    BOOST_CHECK( fast_tester.checksum() == ran_crc );
-    BOOST_CHECK( func_tester == ran_crc );
-
-    // Do a single-bit error test
-    ran_crc = native_to_big( ran_crc );
-    ran_data[ ran_data[0] % ran_length ] ^= ( 1 << (ran_data[1] % 32) );
-    ran_crc_check = PRIVATE_ACRC_FUNC( ran_data, sizeof(ran_data) );
-    BOOST_CHECK( 0 != ran_crc_check );
-
-    // Run a version of these tests with a nonzero initial remainder.
-    uint32_t const  init_rem = ran_data[ ran_data[2] % ran_length ];
-
-    ran_crc = 0;
-    ran_crc = PRIVATE_ACRC_FUNC( ran_data, sizeof(ran_data), init_rem );
-
-    // Have some fun by processing data in two steps.
-    size_t const  mid_index = ran_length / 2;
-
-    ran_crc = native_to_big( ran_crc );
-    ran_crc_check = PRIVATE_ACRC_FUNC( ran_data, mid_index
-     * sizeof(ran_data[0]), init_rem );
- ran_crc_check = PRIVATE_ACRC_FUNC( &ran_data[mid_index], sizeof(ran_data)
-     - mid_index * sizeof(ran_data[0]), ran_crc_check );
-    BOOST_CHECK( 0 == ran_crc_check );
-
-    // This substep translates an augmented-CRC initial
-    // remainder to an unaugmented-CRC initial remainder.
-    uint32_t const  zero = 0;
-    uint32_t const  new_init_rem = PRIVATE_ACRC_FUNC( &zero, sizeof(zero),
-     init_rem );
-    slow_crc_type   slow_tester2( 0x04C11DB7, new_init_rem );
-
-    slow_tester2.process_bytes( ran_data, data_size );
-    ran_crc = big_to_native( ran_crc );
-    BOOST_CHECK( slow_tester2.checksum() == ran_crc );
-
-    // Redo single-bit error test
-    ran_data[ ran_data[3] % ran_length ] ^= ( 1 << (ran_data[4] % 32) );
- ran_crc_check = PRIVATE_ACRC_FUNC( ran_data, sizeof(ran_data), init_rem );
-    BOOST_CHECK( 0 != ran_crc_check );
-
-    #undef PRIVATE_ACRC_FUNC
-}
-
-
-// Run tests on CRCs below a byte in size (here, 3 bits)
-void
-small_crc_test1
-(
-)
-{
-    std::cout << "Doing short-CRC (3-bit augmented) message tests."
-     << std::endl;
-
- // The CRC standard is a SDH/SONET Low Order LCAS control word with CRC-3
-    // taken from ITU-T G.707 (12/03) XIII.2.
-
-    // Four samples, each four bytes; should all have a CRC of zero
-    unsigned char const  samples[4][4]
-      = {
-            { 0x3A, 0xC4, 0x08, 0x06 },
-            { 0x42, 0xC5, 0x0A, 0x41 },
-            { 0x4A, 0xC5, 0x08, 0x22 },
-            { 0x52, 0xC4, 0x08, 0x05 }
-        };
-
-    // Basic computer
-    boost::crc_basic<3>  tester1( 0x03 );
-
-    tester1.process_bytes( samples[0], 4 );
-    BOOST_CHECK( tester1.checksum() == 0 );
-
-    tester1.reset();
-    tester1.process_bytes( samples[1], 4 );
-    BOOST_CHECK( tester1.checksum() == 0 );
-
-    tester1.reset();
-    tester1.process_bytes( samples[2], 4 );
-    BOOST_CHECK( tester1.checksum() == 0 );
-
-    tester1.reset();
-    tester1.process_bytes( samples[3], 4 );
-    BOOST_CHECK( tester1.checksum() == 0 );
-
-    // Optimal computer
-    #define PRIVATE_CRC_FUNC   boost::crc<3, 0x03, 0, 0, false, false>
-    #define PRIVATE_ACRC_FUNC  boost::augmented_crc<3, 0x03>
-
-    BOOST_CHECK( 0 == PRIVATE_CRC_FUNC(samples[0], 4) );
-    BOOST_CHECK( 0 == PRIVATE_CRC_FUNC(samples[1], 4) );
-    BOOST_CHECK( 0 == PRIVATE_CRC_FUNC(samples[2], 4) );
-    BOOST_CHECK( 0 == PRIVATE_CRC_FUNC(samples[3], 4) );
-
- // maybe the fix to CRC functions needs to be applied to augmented CRCs?
-
-    #undef PRIVATE_ACRC_FUNC
-    #undef PRIVATE_CRC_FUNC
-}
-
-// Run tests on CRCs below a byte in size (here, 7 bits)
-void
-small_crc_test2
-(
-)
-{
-    std::cout << "Doing short-CRC (7-bit augmented) message tests."
-     << std::endl;
-
- // The CRC standard is a SDH/SONET J0/J1/J2/N1/N2/TR TTI (trace message)
-    // with CRC-7, o.a. ITU-T G.707 Annex B, G.832 Annex A.
-
-    // Two samples, each sixteen bytes
-    // Sample 1 is '\x80' + ASCII("123456789ABCDEF")
-    // Sample 2 is '\x80' + ASCII("TTI UNAVAILABLE")
-    unsigned char const  samples[2][16]
-      = {
- { 0x80, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x41,
-              0x42, 0x43, 0x44, 0x45, 0x46 },
- { 0x80, 0x54, 0x54, 0x49, 0x20, 0x55, 0x4E, 0x41, 0x56, 0x41, 0x49,
-              0x4C, 0x41, 0x42, 0x4C, 0x45 }
-        };
-    unsigned const       results[2] = { 0x62, 0x23 };
-
-    // Basic computer
-    boost::crc_basic<7>  tester1( 0x09 );
-
-    tester1.process_bytes( samples[0], 16 );
-    BOOST_CHECK( tester1.checksum() == results[0] );
-
-    tester1.reset();
-    tester1.process_bytes( samples[1], 16 );
-    BOOST_CHECK( tester1.checksum() == results[1] );
-
-    // Optimal computer
-    #define PRIVATE_CRC_FUNC   boost::crc<7, 0x09, 0, 0, false, false>
-    #define PRIVATE_ACRC_FUNC  boost::augmented_crc<7, 0x09>
-
-    BOOST_CHECK( results[0] == PRIVATE_CRC_FUNC(samples[0], 16) );
-    BOOST_CHECK( results[1] == PRIVATE_CRC_FUNC(samples[1], 16) );
-
- // maybe the fix to CRC functions needs to be applied to augmented CRCs?
-
-    #undef PRIVATE_ACRC_FUNC
-    #undef PRIVATE_CRC_FUNC
-}
-
-
-#ifndef BOOST_MSVC
-// Explicit template instantiations
-// (needed to fix a link error in Metrowerks CodeWarrior Pro 5.3)
-template class crc_tester<16, 0x1021, 0xFFFF, 0, false, false>;
-template class crc_tester<16, 0x8005, 0, 0, true, true>;
-template class crc_tester<32, 0x04C11DB7, 0xFFFFFFFF, 0xFFFFFFFF, true, true>;
-#endif
-
-// Main testing function
-int
-test_main
-(
-    int         ,   // "argc" is unused
-    char *      []  // "argv" is unused
-)
-{
-    using std::cout;
-    using std::endl;
-
-    // Run simulations on some CRC types
- typedef crc_tester<16, 0x1021, 0xFFFF, 0, false, false> crc_ccitt_tester;
-    typedef crc_tester<16, 0x8005, 0, 0, true, true>         crc_16_tester;
-    typedef crc_tester<32, 0x04C11DB7, 0xFFFFFFFF, 0xFFFFFFFF, true, true>
-      crc_32_tester;
-
-    crc_ccitt_tester::master_test( "CRC-CCITT", std_crc_ccitt_result );
-    crc_16_tester::master_test( "CRC-16", std_crc_16_result );
-    crc_32_tester::master_test( "CRC-32", std_crc_32_result );
-
-    // Run a timing comparison test
-    timing_test();
-
-    // Test using augmented messages
-    augmented_tests();
-
-    // Test with CRC types smaller than a byte
-    small_crc_test1();
-    small_crc_test2();
-
-    // Try a CRC based on the (x + 1) polynominal, which is a factor in
-    // many real-life polynominals and doesn't fit evenly in a byte.
-    cout << "Doing one-bit polynominal CRC test." << endl;
-    boost::crc_basic<1>  crc_1( 1 );
-    crc_1.process_bytes( std_data, std_data_len );
-    BOOST_CHECK( crc_1.checksum() == 1 );
-
-    // Test the function object interface
-    cout << "Doing functional object interface test." << endl;
-    boost::crc_optimal<16, 0x8005, 0, 0, true, true>  crc_16;
-    crc_16 = std::for_each( std_data, std_data + std_data_len, crc_16 );
-    BOOST_CHECK( crc_16() == std_crc_16_result );
-
-    return boost::exit_success;
-}
=======================================
--- /trunk/libs/exception/doc/exception_cloning_hpp.html Sun Jun 14 23:33:46 2009
+++ /dev/null
@@ -1,75 +0,0 @@
-<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
-'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
-<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
-<head>
-       <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
-       <title>boost/exception_ptr.hpp</title>
-       <link href='reno.css' type='text/css' rel='stylesheet'/>
-</head>
-<body>
-<div class="body-0">
-<div class="body-1">
-<div class="body-2">
-<div>
-<div id="boost_logo">
-<a href="http://www.boost.org";><img style="border:0" src="http://www.boost.org/boost.png"; alt="Boost" width="277" height="86"/></a>
-</div>
-<h1>Boost Exception</h1>
-</div>
-<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
-<!-- 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) --> -<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>boost/exception_ptr.hpp</h2>
-</div>
-<h3>摘要</h3>
-<div class="RenoIncludeDIV"><pre>#include &lt;<span class="RenoLink"><a href="exception_exception_hpp.html">boost/exception/exception.hpp</a></span>&gt;
-
-namespace
-boost
-    {
-<span class="RenoIncludeSPAN">    <span class="RenoIncludeSPAN">class
- <span class="RenoLink"><a href="unknown_exception.html">unknown_exception</a></span>:
-        public std::exception
- public boost::<span class="RenoLink"><a href="exception.html">exception</a></span>
-        {
-        ---unspecified---
-        };</span>
-
- <span class="RenoIncludeSPAN">typedef ---unspecified--- <span class="RenoLink"><a href="exception_ptr.html">exception_ptr</a></span>;</span>
-
-    <span class="RenoIncludeSPAN">template &lt;class T&gt;
- <span class="RenoLink"><a href="exception_ptr.html">exception_ptr</a></span> <span class="RenoLink"><a href="copy_exception.html">copy_exception</a></span>( T const &amp; e );</span>
-
- <span class="RenoIncludeSPAN"><span class="RenoLink"><a href="exception_ptr.html">exception_ptr</a></span> <span class="RenoLink"><a href="current_exception.html">current_exception</a></span>();</span>
-
- <span class="RenoIncludeSPAN">void <span class="RenoLink"><a href="rethrow_exception.html">rethrow_exception</a></span>( <span class="RenoLink"><a href="exception_ptr.html">exception_ptr</a></span> const &amp; ep );</span></span>
-    }</pre>
-</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>参见:</h3>
-<div class="RenoPageList"><a href="exception_hpp.html">boost/exception.hpp<br/>
-</a><a href="copy_exception.html">copy_exception<br/>
-</a><a href="current_exception.html">current_exception<br/>
-</a><a href="exception_ptr.html">exception_ptr<br/>
-</a><a href="rethrow_exception.html">rethrow_exception<br/>
-</a><a href="synopsis.html">Synopsis<br/>
-</a><a href="unknown_exception.html">unknown_exception<br/>
-</a></div>
-</div>
-<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
-<!-- 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) -->
-<div id="footer">
-<p>&nbsp;</p>
-<hr/>
-<p>
-<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer";><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a> -<a class="logo" href="http://validator.w3.org/check?uri=referer";><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a> -<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/> -Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt";>Boost Software License, Version 1.0</a>.<p><i>Copyright &copy; 2009 <a href="http://zadecn.spaces.live.com/";>zade</a></i></p>.</small>
-</p>
-</div>
-</div>
-</div>
-</div>
-</body>
-</html>
=======================================
--- /trunk/libs/exception/doc/exception_diagnostic_information_hpp.html Sun Jun 14 23:33:46 2009
+++ /dev/null
@@ -1,62 +0,0 @@
-<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
-'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
-<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
-<head>
-       <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
-       <title>boost/exception/diagnostic_information.hpp</title>
-       <link href='reno.css' type='text/css' rel='stylesheet'/>
-</head>
-<body>
-<div class="body-0">
-<div class="body-1">
-<div class="body-2">
-<div>
-<div id="boost_logo">
-<a href="http://www.boost.org";><img style="border:0" src="http://www.boost.org/boost.png"; alt="Boost" width="277" height="86"/></a>
-</div>
-<h1>Boost Exception</h1>
-</div>
-<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
-<!-- 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) --> -<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>boost/exception/diagnostic_information.hpp</h2>
-</div>
-<h3>摘要</h3>
-<div class="RenoIncludeDIV"><pre>#include &lt;string&gt;
-
-namespace
-boost
-    {
-<span class="RenoIncludeSPAN"> class <span class="RenoLink"><a href="exception.html">exception</a></span>;</span>
-
-<span class="RenoIncludeSPAN"> <span class="RenoIncludeSPAN">template &lt;class E&gt; - std::string <span class="RenoLink"><a href="diagnostic_information.html">diagnostic_information</a></span>( E const &amp; e );</span>
-
- <span class="RenoIncludeSPAN">std::string <span class="RenoLink"><a href="current_exception_diagnostic_information.html">current_exception_diagnostic_information</a></span>();</span></span>
-    }</pre>
-</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>参见:</h3>
-<div class="RenoPageList"><a href="exception_hpp.html">boost/exception.hpp<br/> -</a><a href="current_exception_diagnostic_information.html">current_exception_diagnostic_information<br/>
-</a><a href="diagnostic_information.html">diagnostic_information<br/>
-</a><a href="synopsis.html">Synopsis<br/>
-</a></div>
-</div>
-<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
-<!-- 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) -->
-<div id="footer">
-<p>&nbsp;</p>
-<hr/>
-<p>
-<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer";><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a> -<a class="logo" href="http://validator.w3.org/check?uri=referer";><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a> -<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/> -Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt";>Boost Software License, Version 1.0</a>.<p><i>Copyright &copy; 2009 <a href="http://zadecn.spaces.live.com/";>zade</a></i></p>.</small>
-</p>
-</div>
-</div>
-</div>
-</div>
-</body>
-</html>
=======================================
--- /trunk/libs/exception/doc/exception_enable_current_exception_hpp.html Sun Jun 14 23:33:46 2009
+++ /dev/null
@@ -1,56 +0,0 @@
-<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
-'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
-<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
-<head>
-       <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
-       <title>boost/exception/enable_current_exception.hpp</title>
-       <link href='reno.css' type='text/css' rel='stylesheet'/>
-</head>
-<body>
-<div class="body-0">
-<div class="body-1">
-<div class="body-2">
-<div>
-<div id="boost_logo">
-<a href="http://www.boost.org";><img style="border:0" src="http://www.boost.org/boost.png"; alt="Boost" width="277" height="86"/></a>
-</div>
-<h1>Boost Exception</h1>
-</div>
-<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
-<!-- 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) --> -<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>boost/exception/enable_current_exception.hpp</h3>
-</div>
-<h3>摘要</h3>
-<div class="RenoIncludeDIV"><pre>#include &lt;<span class="RenoLink"><a href="exception_exception_hpp.html">boost/exception/exception.hpp</a></span>&gt;
-
-namespace
-boost
-    {
-<span class="RenoIncludeSPAN"> <span class="RenoIncludeSPAN">template &lt;class T&gt; - ---unspecified--- <span class="RenoLink"><a href="enable_current_exception.html">enable_current_exception</a></span>( T const &amp; e );</span></span>
-    }</pre>
-</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>参见:</h3>
-<div class="RenoPageList"><a href="enable_current_exception.html">enable_current_exception<br/>
-</a><a href="synopsis.html">Synopsis<br/>
-</a></div>
-</div>
-<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
-<!-- 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) -->
-<div id="footer">
-<p>&nbsp;</p>
-<hr/>
-<p>
-<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer";><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a> -<a class="logo" href="http://validator.w3.org/check?uri=referer";><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a> -<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/> -Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt";>Boost Software License, Version 1.0</a>.<p><i>Copyright &copy; 2009 <a href="http://zadecn.spaces.live.com/";>zade</a></i></p>.</small>
-</p>
-</div>
-</div>
-</div>
-</div>
-</body>
-</html>
=======================================
--- /trunk/libs/exception/doc/exception_enable_error_info_hpp.html Sun Jun 14 23:33:46 2009
+++ /dev/null
@@ -1,56 +0,0 @@
-<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
-'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
-<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
-<head>
-       <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
-       <title>boost/exception/enable_error_info.hpp</title>
-       <link href='reno.css' type='text/css' rel='stylesheet'/>
-</head>
-<body>
-<div class="body-0">
-<div class="body-1">
-<div class="body-2">
-<div>
-<div id="boost_logo">
-<a href="http://www.boost.org";><img style="border:0" src="http://www.boost.org/boost.png"; alt="Boost" width="277" height="86"/></a>
-</div>
-<h1>Boost Exception</h1>
-</div>
-<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
-<!-- 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) --> -<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>boost/exception/enable_error_info.hpp</h3>
-</div>
-<h3>摘要</h3>
-<div class="RenoIncludeDIV"><pre>#include &lt;<span class="RenoLink"><a href="exception_exception_hpp.html">boost/exception/exception.hpp</a></span>&gt;
-
-namespace
-boost
-    {
-<span class="RenoIncludeSPAN"> <span class="RenoIncludeSPAN">template &lt;class T&gt; - ---unspecified--- <span class="RenoLink"><a href="enable_error_info.html">enable_error_info</a></span>( T const &amp; x );</span></span>
-    }</pre>
-</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>参见:</h3>
-<div class="RenoPageList"><a href="enable_error_info.html">enable_error_info<br/>
-</a><a href="synopsis.html">Synopsis<br/>
-</a></div>
-</div>
-<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
-<!-- 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) -->
-<div id="footer">
-<p>&nbsp;</p>
-<hr/>
-<p>
-<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer";><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a> -<a class="logo" href="http://validator.w3.org/check?uri=referer";><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a> -<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/> -Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt";>Boost Software License, Version 1.0</a>.<p><i>Copyright &copy; 2009 <a href="http://zadecn.spaces.live.com/";>zade</a></i></p>.</small>
-</p>
-</div>
-</div>
-</div>
-</div>
-</body>
-</html>
=======================================
--- /trunk/libs/exception/doc/exception_error_info_group_hpp.html Sun Jun 14 23:33:46 2009
+++ /dev/null
@@ -1,62 +0,0 @@
-<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
-'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
-<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
-<head>
-       <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
-       <title>boost/exception/info_tuple.hpp</title>
-       <link href='reno.css' type='text/css' rel='stylesheet'/>
-</head>
-<body>
-<div class="body-0">
-<div class="body-1">
-<div class="body-2">
-<div>
-<div id="boost_logo">
-<a href="http://www.boost.org";><img style="border:0" src="http://www.boost.org/boost.png"; alt="Boost" width="277" height="86"/></a>
-</div>
-<h1>Boost Exception</h1>
-</div>
-<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
-<!-- 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) --> -<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>boost/exception/info_tuple.hpp</h2>
-</div>
-<h3>摘要</h3>
-<div class="RenoIncludeDIV"><pre>#include &lt;<span class="RenoLink"><a href="exception_error_info_hpp.html">boost/exception/info.hpp</a></span>&gt;
-#include &lt;boost/tuple/tuple.hpp&gt;
-
-namespace
-boost
-    {
-<span class="RenoIncludeSPAN"> <span class="RenoIncludeSPAN">template &lt;class E, class Tag1, class T1, ..., class TagN, class TN&gt; - E const &amp; <span class="RenoLink"><a href="tuple_operator_shl.html">operator&lt;&lt;</a></span>( E const &amp; x, - <span class="RenoLink"><a href="http://www.boost.org/libs/tuple/doc/tuple_users_guide.html";>tuple</a></span>&lt; - <span class="RenoLink"><a href="error_info.html">error_info</a></span>&lt;Tag1,T1&gt;,
-            ...,
- <span class="RenoLink"><a href="error_info.html">error_info</a></span>&lt;TagN,TN&gt; &gt; const &amp; v );</span></span>
-    }</pre>
-</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>参见:</h3>
-<div class="RenoPageList"><a href="exception_hpp.html">boost/exception.hpp<br/>
-</a><a href="synopsis.html">Synopsis<br/>
-</a><a href="tuple_operator_shl.html">tuple/operator&lt;&lt;<br/>
-</a></div>
-</div>
-<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
-<!-- 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) -->
-<div id="footer">
-<p>&nbsp;</p>
-<hr/>
-<p>
-<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer";><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a> -<a class="logo" href="http://validator.w3.org/check?uri=referer";><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a> -<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/> -Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt";>Boost Software License, Version 1.0</a>.<p><i>Copyright &copy; 2009 <a href="http://zadecn.spaces.live.com/";>zade</a></i></p>.</small>
-</p>
-</div>
-</div>
-</div>
-</div>
-</body>
-</html>
=======================================
--- /trunk/libs/exception/doc/exception_error_info_hpp.html Sun Jun 14 23:33:46 2009
+++ /dev/null
@@ -1,74 +0,0 @@
-<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
-'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
-<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
-<head>
-       <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
-       <title>boost/exception/info.hpp</title>
-       <link href='reno.css' type='text/css' rel='stylesheet'/>
-</head>
-<body>
-<div class="body-0">
-<div class="body-1">
-<div class="body-2">
-<div>
-<div id="boost_logo">
-<a href="http://www.boost.org";><img style="border:0" src="http://www.boost.org/boost.png"; alt="Boost" width="277" height="86"/></a>
-</div>
-<h1>Boost Exception</h1>
-</div>
-<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
-<!-- 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) --> -<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>boost/exception/info.hpp</h2>
-</div>
-<h3>摘要</h3>
-<div class="RenoIncludeDIV"><pre>#include &lt;<span class="RenoLink"><a href="exception_exception_hpp.html">boost/exception/exception.hpp</a></span>&gt;
-
-namespace
-boost
-    {
-<span class="RenoIncludeSPAN"> <span class="RenoIncludeSPAN">template &lt;class Tag,class T&gt;
-    class
-    <span class="RenoLink"><a href="error_info.html">error_info</a></span>
-        {
-        public:
-
- <span class="RenoIncludeSPAN"> typedef T <span class="RenoLink"><a href="error_info_value_type.html">value_type</a></span>;</span>
-
- <span class="RenoIncludeSPAN"> <span class="RenoLink"><a href="error_info_error_info.html">error_info</a></span>( <span class="RenoLink"><a href="error_info_value_type.html">value_type</a></span> const &amp; v );</span> - <span class="RenoIncludeSPAN"> <span class="RenoLink"><a href="error_info_value_type.html">value_type</a></span> const &amp; <span class="RenoLink"><a href="error_info_value.html">value</a></span>() const;</span>
-        };</span>
-
- <span class="RenoIncludeSPAN">template &lt;class E, class Tag, class T&gt; - E const &amp; <span class="RenoLink"><a href="exception_operator_shl.html">operator&lt;&lt;</a></span>( E const &amp; x, <span class="RenoLink"><a href="error_info.html">error_info</a></span>&lt;Tag,T&gt; const &amp; v );</span></span>
-    }</pre>
-</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>参见:</h3>
-<div class="RenoPageList"><a href="exception_hpp.html">boost/exception.hpp<br/> -</a><a href="exception_error_info_group_hpp.html">boost/exception/info_tuple.hpp<br/>
-</a><a href="error_info.html">error_info<br/>
-</a><a href="error_info_error_info.html">error_info::error_info<br/>
-</a><a href="error_info_value.html">error_info::value<br/>
-</a><a href="error_info_value_type.html">error_info::value_type<br/>
-</a><a href="exception_operator_shl.html">exception/operator&lt;&lt;<br/>
-</a><a href="synopsis.html">Synopsis<br/>
-</a></div>
-</div>
-<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
-<!-- 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) -->
-<div id="footer">
-<p>&nbsp;</p>
-<hr/>
-<p>
-<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer";><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a> -<a class="logo" href="http://validator.w3.org/check?uri=referer";><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a> -<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/> -Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt";>Boost Software License, Version 1.0</a>.<p><i>Copyright &copy; 2009 <a href="http://zadecn.spaces.live.com/";>zade</a></i></p>.</small>
-</p>
-</div>
-</div>
-</div>
-</div>
-</body>
-</html>
=======================================
--- /trunk/libs/exception/doc/exception_error_info_value_hpp.html Sun Jun 14 23:33:46 2009
+++ /dev/null
@@ -1,55 +0,0 @@
-<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
-'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
-<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
-<head>
-       <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
-       <title>boost/exception/error_info.hpp</title>
-       <link href='reno.css' type='text/css' rel='stylesheet'/>
-</head>
-<body>
-<div class="body-0">
-<div class="body-1">
-<div class="body-2">
-<div>
-<div id="boost_logo">
-<a href="http://www.boost.org";><img style="border:0" src="http://www.boost.org/boost.png"; alt="Boost" width="277" height="86"/></a>
-</div>
-<h1>Boost Exception</h1>
-</div>
-<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
-<!-- 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) --> -<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>boost/exception/error_info.hpp</h2>
-</div>
-<h3>摘要</h3>
-<div class="RenoIncludeDIV"><pre>namespace
-boost
-    {
-<span class="RenoIncludeSPAN"> <span class="RenoIncludeSPAN">template &lt;class Tag,class T&gt; - class <span class="RenoLink"><a href="error_info.html">error_info</a></span>;</span></span>
-    }</pre>
-</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>参见:</h3>
-<div class="RenoPageList"><a href="exception_hpp.html">boost/exception.hpp<br/>
-</a><a href="error_info.html">error_info<br/>
-</a><a href="synopsis.html">Synopsis<br/>
-</a></div>
-</div>
-<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
-<!-- 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) -->
-<div id="footer">
-<p>&nbsp;</p>
-<hr/>
-<p>
-<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer";><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a> -<a class="logo" href="http://validator.w3.org/check?uri=referer";><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a> -<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/> -Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt";>Boost Software License, Version 1.0</a>.<p><i>Copyright &copy; 2009 <a href="http://zadecn.spaces.live.com/";>zade</a></i></p>.</small>
-</p>
-</div>
-</div>
-</div>
-</div>
-</body>
-</html>
=======================================
--- /trunk/libs/exception/doc/exception_exception_hpp.html Sun Jun 14 23:33:46 2009
+++ /dev/null
@@ -1,74 +0,0 @@
-<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
-'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
-<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
-<head>
-       <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
-       <title>boost/exception/exception.hpp</title>
-       <link href='reno.css' type='text/css' rel='stylesheet'/>
-</head>
-<body>
-<div class="body-0">
-<div class="body-1">
-<div class="body-2">
-<div>
-<div id="boost_logo">
-<a href="http://www.boost.org";><img style="border:0" src="http://www.boost.org/boost.png"; alt="Boost" width="277" height="86"/></a>
-</div>
-<h1>Boost Exception</h1>
-</div>
-<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
-<!-- 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) --> -<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>boost/exception/exception.hpp</h2>
-</div>
-<h3>摘要</h3>
-<div class="RenoIncludeDIV"><pre>namespace
-boost
-    {
-<span class="RenoIncludeSPAN">    <span class="RenoIncludeSPAN">class
-    <span class="RenoLink"><a href="exception.html">exception</a></span>
-        {
-        protected:
-
- <span class="RenoIncludeSPAN"> <span class="RenoLink"><a href="exception_constructors.html">exception</a></span>(); - <span class="RenoLink"><a href="exception_constructors.html">exception</a></span>( <span class="RenoLink"><a href="exception.html">exception</a></span> const &amp; x );</span> - <span class="RenoIncludeSPAN"> <span class="RenoLink"><a href="exception_destructor.html">~exception</a></span>();</span>
-        };</span>
-
-    <span class="RenoIncludeSPAN">template &lt;class Tag,class T&gt;
- class <span class="RenoLink"><a href="error_info.html">error_info</a></span>;</span>
-
- typedef <span class="RenoLink"><a href="error_info.html">error_info</a></span>&lt;struct tag_throw_function,char const *&gt; throw_function; - typedef <span class="RenoLink"><a href="error_info.html">error_info</a></span>&lt;struct tag_throw_file,char const *&gt; throw_file; - typedef <span class="RenoLink"><a href="error_info.html">error_info</a></span>&lt;struct tag_throw_line,int&gt; throw_line;</span>
-    }</pre>
-</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>参见:</h3>
-<div class="RenoPageList"><a href="BOOST_THROW_EXCEPTION.html">BOOST_THROW_EXCEPTION<br/>
-</a><a href="exception_hpp.html">boost/exception.hpp<br/>
-</a><a href="exception_enable_current_exception_hpp.html">boost/exception/enable_current_exception.hpp<br/> -</a><a href="exception_enable_error_info_hpp.html">boost/exception/enable_error_info.hpp<br/>
-</a><a href="exception_error_info_hpp.html">boost/exception/info.hpp<br/>
-</a><a href="exception_cloning_hpp.html">boost/exception_ptr.hpp<br/>
-</a><a href="exception.html">exception<br/>
-</a><a href="synopsis.html">Synopsis<br/>
-</a></div>
-</div>
-<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
-<!-- 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) -->
-<div id="footer">
-<p>&nbsp;</p>
-<hr/>
-<p>
-<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer";><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a> -<a class="logo" href="http://validator.w3.org/check?uri=referer";><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a> -<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/> -Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt";>Boost Software License, Version 1.0</a>.<p><i>Copyright &copy; 2009 <a href="http://zadecn.spaces.live.com/";>zade</a></i></p>.</small>
-</p>
-</div>
-</div>
-</div>
-</div>
-</body>
-</html>
=======================================
--- /trunk/libs/exception/doc/exception_get_error_info_hpp.html Sun Jun 14 23:33:46 2009
+++ /dev/null
@@ -1,56 +0,0 @@
-<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
-'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
-<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
-<head>
-       <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
-       <title>boost/exception/get_error_info.hpp</title>
-       <link href='reno.css' type='text/css' rel='stylesheet'/>
-</head>
-<body>
-<div class="body-0">
-<div class="body-1">
-<div class="body-2">
-<div>
-<div id="boost_logo">
-<a href="http://www.boost.org";><img style="border:0" src="http://www.boost.org/boost.png"; alt="Boost" width="277" height="86"/></a>
-</div>
-<h1>Boost Exception</h1>
-</div>
-<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
-<!-- 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) --> -<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>boost/exception/get_error_info.hpp</h2>
-</div>
-<h3>摘要</h3>
-<div class="RenoIncludeDIV"><pre>#include &lt;boost/shared_ptr.hpp&gt;
-
-namespace
-boost
-    {
-<span class="RenoIncludeSPAN"> <span class="RenoIncludeSPAN">template &lt;class ErrorInfo,class E&gt; - typename ErrorInfo::<span class="RenoLink"><a href="error_info_value_type.html">value_type</a></span> const * <span class="RenoLink"><a href="get_error_info.html">get_error_info</a></span>( E const &amp; x );</span></span>
-    }</pre>
-</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>参见:</h3>
-<div class="RenoPageList"><a href="exception_hpp.html">boost/exception.hpp<br/>
-</a><a href="error_info.html">error_info<br/>
-</a></div>
-</div>
-<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
-<!-- 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) -->
-<div id="footer">
-<p>&nbsp;</p>
-<hr/>
-<p>
-<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer";><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a> -<a class="logo" href="http://validator.w3.org/check?uri=referer";><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a> -<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/> -Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt";>Boost Software License, Version 1.0</a>.<p><i>Copyright &copy; 2009 <a href="http://zadecn.spaces.live.com/";>zade</a></i></p>.</small>
-</p>
-</div>
-</div>
-</div>
-</div>
-</body>
-</html>
=======================================
--- /trunk/libs/exception/doc/exception_hpp.html        Sun Jun 14 23:33:46 2009
+++ /dev/null
@@ -1,56 +0,0 @@
-<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
-'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
-<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
-<head>
-       <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
-       <title>boost/exception.hpp</title>
-       <link href='reno.css' type='text/css' rel='stylesheet'/>
-</head>
-<body>
-<div class="body-0">
-<div class="body-1">
-<div class="body-2">
-<div>
-<div id="boost_logo">
-<a href="http://www.boost.org";><img style="border:0" src="http://www.boost.org/boost.png"; alt="Boost" width="277" height="86"/></a>
-</div>
-<h1>Boost Exception</h1>
-</div>
-<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
-<!-- 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) --> -<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>boost/exception.hpp</h2>
-</div>
-<h3>摘要</h3>
-<div class="RenoIncludeDIV"><pre><span class="RenoIncludeSPAN">#include &lt;<span class="RenoLink"><a href="exception_diagnostic_information_hpp.html">boost/exception/diagnostic_information.hpp</a></span>&gt; -#include &lt;<span class="RenoLink"><a href="exception_error_info_value_hpp.html">boost/exception/error_info.hpp</a></span>&gt; -#include &lt;<span class="RenoLink"><a href="exception_exception_hpp.html">boost/exception/exception.hpp</a></span>&gt; -#include &lt;<span class="RenoLink"><a href="exception_get_error_info_hpp.html">boost/exception/get_error_info.hpp</a></span>&gt; -#include &lt;<span class="RenoLink"><a href="exception_error_info_hpp.html">boost/exception/info.hpp</a></span>&gt; -#include &lt;<span class="RenoLink"><a href="exception_error_info_group_hpp.html">boost/exception/info_tuple.hpp</a></span>&gt; -#include &lt;<span class="RenoLink"><a href="exception_cloning_hpp.html">boost/exception_ptr.hpp</a></span>&gt;</span></pre>
-</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>参见:</h3>
-<div class="RenoPageList"><a href="tutorial_diagnostic_information.html">Diagnostic Information<br/> -</a><a href="tutorial_enable_error_info.html">Integrating Boost Exception in Existing Exception Class Hierarchies<br/>
-</a><a href="synopsis.html">Synopsis<br/>
-</a></div>
-</div>
-<!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
-<!-- 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) -->
-<div id="footer">
-<p>&nbsp;</p>
-<hr/>
-<p>
-<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer";><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a> -<a class="logo" href="http://validator.w3.org/check?uri=referer";><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a> -<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/> -Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt";>Boost Software License, Version 1.0</a>.<p><i>Copyright &copy; 2009 <a href="http://zadecn.spaces.live.com/";>zade</a></i></p>.</small>
-</p>
-</div>
-</div>
-</div>
-</div>
-</body>
-</html>
=======================================
--- /trunk/libs/circular_buffer/doc/circular_buffer.html Tue Nov 11 06:29:14 2008 +++ /trunk/libs/circular_buffer/doc/circular_buffer.html Fri Sep 4 04:09:20 2009
@@ -2,9 +2,7 @@
 <html><head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Templated Circular Buffer Container</title>

-<link rel="stylesheet" href="../../../boost.css" type="text/css">
-</head>
-
+<link rel="stylesheet" href="../../../boost.css" type="text/css"></head>
 <body>
 <table id="title" border="0">
 <tbody>
@@ -221,9 +219,9 @@
们。有界缓冲区必须保证当容器满时,生产者不会插入,同样当容器空时消费者不会 取出,并且每个事项正好被一个消费者消耗。 </p>
 <p>下例示范了 <code>circular_buffer</code>
 如何被用作有界缓冲区的底层容器。 </p>
-<pre> #include &lt;boost/circular_buffer.hpp&gt;<br> #include &lt;boost/thread/mutex.hpp&gt;<br> #include &lt;boost/thread/condition.hpp&gt;<br> #include &lt;boost/thread/thread.hpp&gt;<br> #include &lt;boost/progress.hpp&gt;<br> #include &lt;boost/bind.hpp&gt;<br><br> template &lt;class T&gt;<br> class bounded_buffer {<br> public:<br><br> typedef boost::circular_buffer&lt;T&gt; container_type;<br> typedef typename container_type::size_type size_type;<br> typedef typename container_type::value_type value_type;<br><br> explicit bounded_buffer(size_type capacity) : m_unread(0), m_container(capacity) {}<br><br> void push_front(const value_type&amp; item) {<br> boost::mutex::scoped_lock lock(m_mutex);<br> m_not_full.wait(lock, boost::bind(&amp;bounded_buffer&lt;value_type&gt;::is_not_full, this));<br> m_container.push_front(item);<br> ++m_unread;<br> lock.unlock();<br> m_not_empty.notify_one();<br> }<br><br> void pop_back(value_type* pItem) {<br> boost::mutex::scoped_lock lock(m_mutex);<br> m_not_empty.wait(lock, boost::bind(&amp;bounded_buffer&lt;value_type&gt;::is_not_empty, this));<br> *pItem = m_container[--m_unread];<br> lock.unlock();<br> m_not_full.notify_one();<br> }<br><br> private:<br> bounded_buffer(const bounded_buffer&amp;); // 禁止复制构造函数<br> bounded_buffer&amp; operator = (const bounded_buffer&amp;); // 禁止赋值操作符<br><br> bool is_not_empty() const { return m_unread &gt; 0; }<br> bool is_not_full() const { return m_unread &lt; m_container.capacity(); }<br><br> size_type m_unread;<br> container_type m_container;<br> boost::mutex m_mutex;<br> boost::condition m_not_empty;<br> boost::condition m_not_full;<br> };<br></pre> -<p><code>bounded_buffer</code> 使用了 <a href="../../thread/doc/">Boost Threads</a> 和 <a href="../../bind/bind.html">Boost Bind</a> 库。 </p>
-<p> 方法 <code>push_front()</code>
+<pre> #include &lt;boost/circular_buffer.hpp&gt;<br> #include &lt;boost/thread/mutex.hpp&gt;<br> #include &lt;boost/thread/condition.hpp&gt;<br> #include &lt;boost/thread/thread.hpp&gt;<br> #include &lt;boost/call_traits.hpp&gt;<br> #include &lt;boost/progress.hpp&gt;<br> #include &lt;boost/bind.hpp&gt;<br><br> template &lt;class T&gt;<br> class bounded_buffer {<br> public:<br><br> typedef boost::circular_buffer&lt;T&gt; container_type;<br> typedef typename container_type::size_type size_type;<br> typedef typename container_type::value_type value_type;<br> typedef typename boost::call_traits&lt;value_type&gt;::param_type param_type;<br><br> explicit bounded_buffer(size_type capacity) : m_unread(0), m_container(capacity) {}<br><br> void push_front(boost::call_traits&lt;value_type&gt;::param_type item) {<br> // param_type represents the "best" way to pass a parameter of type value_type to a method<br><br> boost::mutex::scoped_lock lock(m_mutex);<br> m_not_full.wait(lock, boost::bind(&amp;bounded_buffer&lt;value_type&gt;::is_not_full, this));<br> m_container.push_front(item);<br> ++m_unread;<br> lock.unlock();<br> m_not_empty.notify_one();<br> }<br><br> void pop_back(value_type* pItem) {<br> boost::mutex::scoped_lock lock(m_mutex);<br> m_not_empty.wait(lock, boost::bind(&amp;bounded_buffer&lt;value_type&gt;::is_not_empty, this));<br> *pItem = m_container[--m_unread];<br> lock.unlock();<br> m_not_full.notify_one();<br> }<br><br> private:<br> bounded_buffer(const bounded_buffer&amp;); // 禁止复制构造函数<br> bounded_buffer&amp; operator = (const bounded_buffer&amp;); // 禁止赋值操作符<br><br> bool is_not_empty() const { return m_unread &gt; 0; }<br> bool is_not_full() const { return m_unread &lt; m_container.capacity(); }<br><br> size_type m_unread;<br> container_type m_container;<br> boost::mutex m_mutex;<br> boost::condition m_not_empty;<br> boost::condition m_not_full;<br> };<br></pre>
+<p><code>bounded_buffer</code> 依赖于 <a href="../../thread/doc/">Boost
+Threads</a> 和 <a href="../../bind/bind.html">Boost Bind</a> 库以及 <a href="../../utility/call_traits.htm">Boost call_traits</a> 工具。</p><p>方 法 <code>push_front()</code> 被生产者线程调用以插入新事项到缓冲区中。该方法锁住互斥体并等待至有空间容纳 新事项。(互斥体在等待期间会被解锁,当条件满足时再重新锁住)。如果缓冲
 区中有空间可用,执行将继续,该方法插入新事项到 <code>circular_buffer</code>
的尾部。然后递增未读项计数并解锁互斥体(如果在互斥体解锁前抛出异常,互斥体会 由 <code>scoped_lock</code>
@@ -238,7 +236,7 @@
方法删除该事项更为高效。这种方法基于以下假设,即新事项的赋值(替换)操作比析 构(删除)旧项并原地构造(插入)新项更为高效。 </p> <p>要和基于不同容器的有界缓冲区进行比较,可以编译并运行 <a href="../test/bounded_buffer_comparison.cpp">bounded_buffer_comparison.cpp</a>. 该测试将表明,基于 <code>circular_buffer</code> 的有界缓冲区比基于 <code>std::deque</code> -的有界缓冲区更为高效。(在实践中的结果可能不一样,因为该测试会受到如即时 CPU负荷等外部因素的影响)。 </p> +的有界缓冲区更为高效。(在实践中的结果可能不一样,因为该测试总是会受到如即时 CPU负荷等外部因素的影响)。 </p>
 <h2> <a name="header" id="header">头文件</a>
 </h2>
<p><code>circular_buffer</code> 定义于文件 <code><a href="../../../boost/circular_buffer.hpp">boost/circular_buffer.hpp</a></code>
@@ -402,21 +400,21 @@
 <tr>
<td> <a id="classboost_1_1circular__buffer_1862a64cbc6a49376ecbb8321c3b44974" name="classboost_1_1circular__buffer_1862a64cbc6a49376ecbb8321c3b44974"></a><code><b>explicit circular_buffer(<a href="#classboost_1_1circular__buffer_1dc642ff2be4db0be1a457810e5d09595">capacity_type</a> -capacity, const <a href="#classboost_1_1circular__buffer_14e07c6ddfe89debe384e59bed06e7cb7">allocator_type</a>&amp; +buffer_capacity, const <a href="#classboost_1_1circular__buffer_14e07c6ddfe89debe384e59bed06e7cb7">allocator_type</a>&amp;
 alloc = allocator_type());</b></code><br>
 <br>
 以指定容量创建一个空的 <code>circular_buffer</code>.
 <dl>
 <dt> <b>作用:</b> </dt>
<dd> <code><a href="#classboost_1_1circular__buffer_1da435a5884cad746ed5cd55bcb892035">capacity()</a> -== capacity &amp;&amp; <a href="#classboost_1_1circular__buffer_1d666f694897465b0d4d7cdd8ddcbc213">size()</a> +== buffer_capacity &amp;&amp; <a href="#classboost_1_1circular__buffer_1d666f694897465b0d4d7cdd8ddcbc213">size()</a>
 == 0</code> </dd>
 </dl>
 <dl>
 <dt> <b>参数:</b> </dt>
 <dd>
 <dl compact="compact">
-<dt> <code>capacity</code> </dt>
+<dt> <code>buffer_capacity</code> </dt>
 <dd>可以保存在 <code>circular_buffer</code>
 中的元素最大数量。 </dd>
 </dl>
@@ -494,7 +492,7 @@
 </tr>
 <tr>
<td> <a id="classboost_1_1circular__buffer_10c7e9286d8270357d7e369b183124239" name="classboost_1_1circular__buffer_10c7e9286d8270357d7e369b183124239"></a><code><b>circular_buffer(<a href="#classboost_1_1circular__buffer_1dc642ff2be4db0be1a457810e5d09595">capacity_type</a> -capacity, <a href="#classboost_1_1circular__buffer_19ba12c0142a21a7d960877c22fa3ea00">size_type</a> +buffer_capacity, <a href="#classboost_1_1circular__buffer_19ba12c0142a21a7d960877c22fa3ea00">size_type</a> n, <a href="#classboost_1_1circular__buffer_1a8397191092f5bacee991b623ca4b910">const_reference</a> item, const <a href="#classboost_1_1circular__buffer_14e07c6ddfe89debe384e59bed06e7cb7">allocator_type</a>&amp;
 alloc = allocator_type());</b></code><br>
@@ -504,12 +502,12 @@
 <dl>
 <dt> <span style="font-weight: bold;">前提条件:</span>
 </dt>
-<dd> <code>capacity &gt;= n</code> </dd>
+<dd> <code>buffer_capacity &gt;= n</code> </dd>
 </dl>
 <dl>
 <dt> <b>作用:</b> </dt>
<dd> <code><a href="#classboost_1_1circular__buffer_1da435a5884cad746ed5cd55bcb892035">capacity()</a> -== capacity &amp;&amp; <a href="#classboost_1_1circular__buffer_1d666f694897465b0d4d7cdd8ddcbc213">size()</a> +== buffer_capacity &amp;&amp; <a href="#classboost_1_1circular__buffer_1d666f694897465b0d4d7cdd8ddcbc213">size()</a>
 == n &amp;&amp; (*this)[0] == item &amp;&amp;
 (*this)[1] == item &amp;&amp; ... &amp;&amp; (*this)[n
 - 1] == item</code> </dd>
@@ -519,7 +517,7 @@
 <dt> <b>参数:</b></dt>
 <dd>
 <dl compact="compact">
-<dt> <code>capacity</code> </dt>
+<dt> <code>buffer_capacity</code> </dt>
 <dd>被创建 <code>circular_buffer</code>
 的容量。 </dd>
 </dl>
@@ -654,7 +652,7 @@
<td> <a id="classboost_1_1circular__buffer_1a64dcad327971194a706d52487151eb7" name="classboost_1_1circular__buffer_1a64dcad327971194a706d52487151eb7"></a>
 <code><b>template &lt;class InputIterator&gt;<br>
circular_buffer(<a href="#classboost_1_1circular__buffer_1dc642ff2be4db0be1a457810e5d09595">capacity_type</a> -capacity, InputIterator first, InputIterator last, const <a href="#classboost_1_1circular__buffer_14e07c6ddfe89debe384e59bed06e7cb7">allocator_type</a>&amp; +buffer_capacity, InputIterator first, InputIterator last, const <a href="#classboost_1_1circular__buffer_14e07c6ddfe89debe384e59bed06e7cb7">allocator_type</a>&amp;
 alloc = allocator_type());</b></code><br>
 <br>
 创建一个指定容量的 <code>circular_buffer</code>,以指定区间的拷贝填充。
@@ -669,20 +667,20 @@
 <dt> <span style="font-weight: bold;">作用:</span>
 </dt>
<dd> <code></code><code><a href="circular_buffer.html#classboost_1_1circular__buffer_1da435a5884cad746ed5cd55bcb892035">capacity()</a> -== capacity &amp;&amp; <a href="circular_buffer.html#classboost_1_1circular__buffer_1d666f694897465b0d4d7cdd8ddcbc213">size()</a> +== buffer_capacity &amp;&amp; <a href="circular_buffer.html#classboost_1_1circular__buffer_1d666f694897465b0d4d7cdd8ddcbc213">size()</a>
 &lt;= std::distance(first, last) &amp;&amp; (*this)[0]==
-*(last - capacity) &amp;&amp; (*this)[1] == *(last - capacity +
-1) &amp;&amp; ... &amp;&amp; (*this)[capacity - 1] ==
+*(last - </code><code>buffer_</code><code>capacity) &amp;&amp; (*this)[1] == *(last - </code><code>buffer_</code><code>capacity + +1) &amp;&amp; ... &amp;&amp; (*this)[</code><code>buffer_</code><code>capacity - 1] ==
 *(last - 1)</code></dd>
 </dl>
 <dl>
 <dd>如果被复制的区间 <code>[first, last)</code>
-中的元素数量大于指定的容量,则只有区间 <code>[last - capacity, last)</code>
+中的元素数量大于指定的容量,则只有区间 <code>[last - </code><code>buffer_</code><code>capacity, last)</code>
 中的元素被复制。</dd>
 <dt><b>参数:</b></dt>
 <dd>
 <dl compact="compact">
-<dt> <code>capacity</code> </dt>
+<dt> <code>buffer_</code><code>capacity</code> </dt>
 <dd>被创建的 <code>circular_buffer</code>
 的容量。 </dd>
 </dl>
@@ -1856,7 +1854,7 @@
 <b>复杂度:</b>
 </dt>
 <dd>
-线怀(与 <code>std::min(m, n)</code> 相关);如果 <code>circular_buffer</code> 为满则为常数。 +线怀(与 <code>(std::min)(m, n)</code> 相关);如果 <code>circular_buffer</code> 为满则为常数。
 </dd>
 </dl>
 <dl>
@@ -2446,7 +2444,7 @@
 <tr>
<td> <a id="classboost_1_1circular__buffer_1aa10b4e4ec1f1c5918931b04b31d43ca" name="classboost_1_1circular__buffer_1aa10b4e4ec1f1c5918931b04b31d43ca"></a><code><b>void assign(<a href="#classboost_1_1circular__buffer_1dc642ff2be4db0be1a457810e5d09595">capacity_type</a> -capacity, <a href="#classboost_1_1circular__buffer_19ba12c0142a21a7d960877c22fa3ea00">size_type</a> +buffer_capacity, <a href="#classboost_1_1circular__buffer_19ba12c0142a21a7d960877c22fa3ea00">size_type</a> n, <a href="#classboost_1_1circular__buffer_1a8397191092f5bacee991b623ca4b910">const_reference</a>
 item);</b></code><br>
 <br>
@@ -2461,7 +2459,7 @@
 <dl>
 <dt> <b>作用:</b> </dt>
<dd> <code><a href="#classboost_1_1circular__buffer_1da435a5884cad746ed5cd55bcb892035">capacity()</a> -== capacity &amp;&amp; <a href="#classboost_1_1circular__buffer_1d666f694897465b0d4d7cdd8ddcbc213">size()</a> +== buffer_capacity &amp;&amp; <a href="#classboost_1_1circular__buffer_1d666f694897465b0d4d7cdd8ddcbc213">size()</a>
 == n &amp;&amp; (*this)[0] == item &amp;&amp;
 (*this)[1] == item &amp;&amp; ... &amp;&amp; (*this) [n
 - 1] == item</code> </dd>
@@ -2470,7 +2468,7 @@
 <dt> <b>参数:</b> </dt>
 <dd>
 <dl compact="compact">
-<dt> <code>capacity</code> </dt>
+<dt> <code>buffer_capacity</code> </dt>
 <dd>新的容量。 </dd>
 </dl>
 </dd>
@@ -2595,7 +2593,7 @@
<td> <a id="classboost_1_1circular__buffer_11edb80acdf1f7f1df8217d57256e41f6" name="classboost_1_1circular__buffer_11edb80acdf1f7f1df8217d57256e41f6"></a>
 <code><b>template &lt;class InputIterator&gt;<br>
void assign(<a href="#classboost_1_1circular__buffer_1dc642ff2be4db0be1a457810e5d09595">capacity_type</a>
-capacity, InputIterator first, InputIterator last);</b></code><br>
+buffer_capacity, InputIterator first, InputIterator last);</b></code><br>
 <br>
 将给定区间赋值到指定容量的 <code>circular_buffer</code> 中。
<p><code>circular_buffer</code> 的容量将被设置为指定 值,<code>circular_buffer</code>
@@ -2610,20 +2608,20 @@
 <dl>
 <dt> <b>作用:</b> </dt>
<dd> <code><a href="#classboost_1_1circular__buffer_1da435a5884cad746ed5cd55bcb892035">capacity()</a> -== capacity &amp;&amp; <a href="#classboost_1_1circular__buffer_1d666f694897465b0d4d7cdd8ddcbc213">size()</a> +== buffer_capacity &amp;&amp; <a href="#classboost_1_1circular__buffer_1d666f694897465b0d4d7cdd8ddcbc213">size()</a>
 &lt;= std::distance(first, last) &amp;&amp; (*this)[0]==
-*(last - capacity) &amp;&amp; (*this)[1] == *(last - capacity +
-1) &amp;&amp; ... &amp;&amp; (*this)[capacity - 1] ==
+*(last - </code><code>buffer_</code><code>capacity) &amp;&amp; (*this)[1] == *(last - </code><code>buffer_</code><code>capacity + +1) &amp;&amp; ... &amp;&amp; (*this)[</code><code>buffer_</code><code>capacity - 1] ==
 *(last - 1)</code><br>
 <br>
-如果被复制的来自 range <code>[first, last)</code> 的元素数量大于给定的 <code>capacity</code>,
-则只有区间 <code>[last - capacity, last)</code> 中的元素被复制。 </dd>
+如果被复制的来自 range <code>[first, last)</code> 的元素数量大于给定的 <code>buffer_</code><code>capacity</code>, +则只有区间 <code>[last - </code><code>buffer_</code><code>capacity, last)</code> 中的元素被复制。 </dd>
 </dl>
 <dl>
 <dt> <b>参数:</b> </dt>
 <dd>
 <dl compact="compact">
-<dt> <code>capacity</code> </dt>
+<dt> <code>buffer_</code><code>capacity</code> </dt>
 <dd>新的容量。 </dd>
 </dl>
 </dd>
=======================================
--- /trunk/libs/config/doc/html/boost_config/boost_macro_reference.html Sun Mar 29 23:39:34 2009 +++ /trunk/libs/config/doc/html/boost_config/boost_macro_reference.html Fri Sep 4 04:09:20 2009
@@ -1539,164 +1539,256 @@
 </div>
 </div>
 </div>
-<p>以下宏描述了在即将到来的 ISO C++ 标准 C++0x 中,但尚未被某个特定编译器支 持的一些特性。 </p> +<p>以下宏描述了在即将到来的 ISO C++ 标准 C++0x 中,但尚未被某个特定编译器或 特定库支持的一些特性。 </p>
 <div class="informaltable">
 <table class="table">
-<colgroup><col><col><col></colgroup>
-<thead><tr>
+<colgroup><col><col></colgroup>
+<thead>
+<tr>
 <th>
-<p>宏</p>
-</th>
+<p>Macro </p></th>
 <th>
-<p>说明 </p>
-</th>
-</tr>
-</thead><tbody>
+<p>Description </p></th></tr></thead>
+<tbody>
 <tr>
 <td>
-<p><code class="computeroutput"><span class="identifier">BOOST_NO_CHAR16_T</span></code>
-</p>
-</td>
+<p><code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_ARRAY</span></code> </p></td>
 <td>
-<p>编译器不支持类型 <code class="computeroutput"><span class="identifier">char16_t</span></code>. </p>
-</td>
-</tr>
+<p>标准库不支持头文件 &lt;array&gt;. </p></td></tr>
 <tr>
 <td>
-<p><code class="computeroutput"><span class="identifier">BOOST_NO_CHAR32_T</span></code>
-</p>
-</td>
+<p><code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_CHRONO</span></code> </p></td>
 <td>
-<p>编译器不支持类型&nbsp;<code class="computeroutput"><span class="identifier">char32_t</span></code>. </p>
-</td>
-</tr>
+<p>标准库不支持头文件&nbsp;&lt;chrono&gt;. </p></td></tr>
 <tr>
 <td>
-<p><code class="computeroutput"><span class="identifier">BOOST_NO_CONSTEXPR</span></code>
-</p>
-</td>
+<p><code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_CODECVT</span></code> </p></td>
 <td>
-<p>编译器不支持&nbsp;<code class="computeroutput"><span class="identifier">constexpr</span></code>. </p>
-</td>
-</tr>
+<p>标准库不支持头文件&nbsp;&lt;codecvt&gt;. </p></td></tr>
 <tr>
 <td>
-<p><code class="computeroutput"><span class="identifier">BOOST_NO_DECLTYPE</span></code>
-</p>
-</td>
+<p><code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_CONCEPTS</span></code> </p></td>
 <td>
-<p>编译器不支持&nbsp;<code class="computeroutput"><span class="identifier">decltype</span></code>. </p>
-</td>
-</tr>
+<p>标准库不支持头文件&nbsp;&lt;concepts&gt;. </p></td></tr>
 <tr>
 <td>
-<p><code class="computeroutput"><span class="identifier">BOOST_NO_DEFAULTED_FUNCTIONS</span></code>
-</p>
-</td>
+<p><code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_CONDITION_VARIABLE</span></code> </p></td>
 <td>
-<p>编译器不支持缺省(<code class="computeroutput"><span class="special">=</span> <span class="keyword">default</span></code>)
-函数。<code class="computeroutput"><span class="identifier"></span></code>
-</p>
-</td>
-</tr>
+<p>标准库不支持头文件&nbsp;&lt;condition_variable&gt;.
+</p></td></tr>
 <tr>
-<td><code class="computeroutput"><span class="identifier">BOOST_NO_DELETED_FUNCTIONS</span></code></td> -<td>编译器不支持已删(<code class="computeroutput"><span class="special">=</span>
-<span class="keyword">delete</span></code>)
-函数。</td>
-</tr>
+<td>
+<p><code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_CONTAINER_CONCEPTS</span></code> </p></td>
+<td>
+<p>标准库不支持头文件&nbsp;&lt;container_concepts&gt;.
+</p></td></tr>
 <tr>
 <td>
-<p><code class="computeroutput"><span class="identifier">BOOST_NO_EXPLICIT_CONVERSION_OPERATIONS</span></code>
-</p>
-</td>
+<p><code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_FORWARD_LIST</span></code> </p></td>
 <td>
-<p>编译器不支持显式转换操作符(<code class="computeroutput"><span class="keyword">explicit</span> <span class="keyword">operator</span> <span class="identifier">T</span><span class="special">()</span></code>).
-</p>
-</td>
-</tr>
+<p>标准库不支持头文件&nbsp;&lt;forward_list&gt;.
+</p></td></tr>
 <tr>
 <td>
-<p><code class="computeroutput"><span class="identifier">BOOST_NO_EXTERN_TEMPLATE</span></code>
-</p>
-</td>
+<p><code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_FUTURE</span></code> </p></td>
 <td>
-<p>编译器不支持模板显式实例化声明 (<code class="computeroutput"><span class="keyword">explicit</span> <span class="keyword">template</span></code>). </p>
-</td>
-</tr>
-<tr><td><p><code class="computeroutput"><span class="identifier">BOOST_NO_INITIALIZER_LISTS</span></code> </p></td><td><p>C++ 编译器不支持 C++0x 初始化列表。 </p></td></tr><tr>
+<p>标准库不支持头文件 &lt;future&gt;. </p></td></tr>
+<tr>
 <td>
-<p><code class="computeroutput"><span class="identifier">BOOST_NO_LONG_LONG</span></code>
-</p>
-</td>
+<p><code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_INITIALIZER_LIST</span></code> </p></td>
 <td>
-<p>编译器不支持&nbsp;<code class="computeroutput"><span class="keyword">long</span>
-<span class="keyword">long</span></code>.
-</p>
-</td>
-</tr>
+<p>标准库不支持头文件&nbsp;&lt;initializer_list&gt;.
+</p></td></tr>
 <tr>
 <td>
-<p><code class="computeroutput"><span class="identifier">BOOST_NO_RAW_LITERALS</span></code>
-</p>
-</td>
+<p><code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_ITERATOR_CONCEPTS</span></code> </p></td>
 <td>
-<p>编译器不支持裸字符串文字。 </p>
-</td>
-</tr>
+<p>标准库不支持头文件&nbsp;&lt;iterator_concepts&gt;.
+</p></td></tr>
 <tr>
 <td>
-<p><code class="computeroutput"><span class="identifier">BOOST_NO_RVALUE_REFERENCES</span></code>
-</p>
-</td>
+<p><code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_MEMORY_CONCEPTS</span></code> </p></td>
 <td>
-<p>编译器不支持右值引用。 </p>
-</td>
-</tr>
+<p>标准库不支持头文件&nbsp;&lt;memory_concepts&gt;.
+</p></td></tr>
 <tr>
 <td>
-<p><code class="computeroutput"><span class="identifier">BOOST_NO_SCOPED_ENUMS</span></code>
-</p>
-</td>
+<p><code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_MUTEX</span></code> </p></td>
 <td>
-<p>编译器不支持定域枚举(<code class="computeroutput"><span class="keyword">enum</span>
-<span class="keyword">class</span></code>).
-</p>
-</td>
-</tr>
+<p>标准库不支持头文件&nbsp;&lt;mutex&gt;. </p></td></tr>
 <tr>
 <td>
-<p><code class="computeroutput"><span class="identifier">BOOST_NO_STATIC_ASSERT</span></code>
-</p>
-</td>
+<p><code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_RANDOM</span></code> </p></td>
 <td>
-<p>编译器不支持&nbsp;<code class="computeroutput"><span class="identifier">static_assert</span></code>.
-</p>
-</td>
-</tr>
-<tr><td><p><code class="computeroutput"><span class="identifier">BOOST_NO_STD_UNORDERD</span></code> </p></td><td><p>标准 库不支持 &lt;unordered_map&gt; 和
-&lt;unordered_set&gt;. </p></td></tr><tr>
+<p>标准库不支持头文件&nbsp;&lt;random&gt;. </p></td></tr>
+<tr>
 <td>
-<p><code class="computeroutput"><span class="identifier">BOOST_NO_UNICODE_LITERALS</span></code>
-</p>
-</td>
+<p><code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_RATIO</span></code> </p></td>
 <td>
-<p>编译器不支持&nbsp;Unicode (<code class="computeroutput"><span class="identifier">u8</span></code>, -<code class="computeroutput"><span class="identifier">u</span></code>, <code class="computeroutput"><span class="identifier">U</span>#<span class="special"></span><span class="special"></span></code>)文字。
-</p>
-</td>
-</tr>
+<p>标准库不支持头文件&nbsp;&lt;ratio&gt;. </p></td></tr>
 <tr>
 <td>
-<p><code class="computeroutput"><span class="identifier">BOOST_NO_VARIADIC_TEMPLATES</span></code>
-</p>
-</td>
-<td>编译器不支持可变参数数量的模板。</td>
-</tr>
-</tbody>
-</table>
-</div>
-</div></div></div></div><div class="informaltable"><br></div>
+<p><code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_REGEX</span></code> </p></td>
+<td>
+<p>标准库不支持头文件&nbsp;&lt;regex&gt;. </p></td></tr>
+<tr>
+<td>
+<p><code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_SYSTEM_ERROR</span></code> </p></td>
+<td>
+<p>标准库不支持头文件&nbsp;&lt;system_error&gt;.
+</p></td></tr>
+<tr>
+<td>
+<p><code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_THREAD</span></code> </p></td>
+<td>
+<p>标准库不支持头文件&nbsp;&lt;thread&gt;. </p></td></tr>
+<tr>
+<td>
+<p><code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_TUPLE</span></code> </p></td>
+<td>
+<p>标准库不支持头文件&nbsp;&lt;tuple&gt;. </p></td></tr>
+<tr>
+<td>
+<p><code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_TYPE_TRAITS</span></code> </p></td>
+<td>
+<p>标准库不支持头文件&nbsp;&lt;type_traits&gt;.
+</p></td></tr>
+<tr>
+<td>
+<p><code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_UNORDERED_MAP</span></code> </p></td>
+<td>
+<p>标准库不支持头文件&nbsp;&lt;unordered_map&gt;.
+</p></td></tr>
+<tr>
+<td>
+<p><code class="computeroutput"><span class="identifier">BOOST_NO_0X_HDR_UNORDERED_SET</span></code> </p></td>
+<td>
+<p>标准库不支持头文件&nbsp;&lt;unordered_set&gt;.
+</p></td></tr>
+<tr>
+<td>
+<p><code class="computeroutput"><span class="identifier">BOOST_NO_AUTO_DECLARATIONS</span></code> </p></td>
+<td>
+<p>编译器不支持以
+<code class="computeroutput"><span class="keyword">auto</span></code> 关键 字声明的变量(<code class="computeroutput"><span class="keyword">auto</span> <span class="identifier">var</span> <span class="special">=</span> <span class="special">...;</span></code>)的类型推导。 </p></td></tr>
+<tr>
+<td>
+<p><code class="computeroutput"><span class="identifier">BOOST_NO_AUTO_MULTIDECLARATIONS</span></code> </p></td>
+<td>
+<p>编译器不支持以 <code class="computeroutput"><span class="keyword">auto</span></code> +关键字声明的多个变量(<code class="computeroutput"><span class="keyword">auto</span> <span class="identifier">var</span> <span class="special">=</span> <span class="special">...,</span> <span class="special">*</span><span class="identifier">ptr</span> <span class="special">=</span> <span class="special">...;</span></code>)的类型推 导。 </p></td></tr>
+<tr>
+<td>
+<p><code class="computeroutput"><span class="identifier">BOOST_NO_CHAR16_T</span></code> </p></td>
+<td>
+<p>编译器不支持类型&nbsp;<code class="computeroutput"><span class="identifier">char16_t</span></code>. </p></td></tr>
+<tr>
+<td>
+<p><code class="computeroutput"><span class="identifier">BOOST_NO_CHAR32_T</span></code> </p></td>
+<td>
+<p>编译器不支持类型&nbsp;<code class="computeroutput"><span class="identifier">char32_t</span></code>. </p></td></tr>
+<tr>
+<td>
+<p><code class="computeroutput"><span class="identifier">BOOST_NO_CONCEPTS</span></code> </p></td>
+<td>
+<p>编译器不支持概念。 </p></td></tr>
+<tr>
+<td>
+<p><code class="computeroutput"><span class="identifier">BOOST_NO_TEMPLATE_ALIASES</span></code> </p></td>
+<td>
+<p>编译器不支持模板别名。 </p></td></tr>
+<tr>
+<td>
+<p><code class="computeroutput"><span class="identifier">BOOST_NO_CONSTEXPR</span></code> </p></td>
+<td>
+<p>编译器不支持&nbsp;<code class="computeroutput"><span class="identifier">constexpr</span></code>. </p></td></tr>
+<tr>
+<td>
+<p><code class="computeroutput"><span class="identifier">BOOST_NO_DECLTYPE</span></code> </p></td>
+<td>
+<p>编译器不支持&nbsp;<code class="computeroutput"><span class="identifier">decltype</span></code>. </p></td></tr>
+<tr>
+<td>
+<p><code class="computeroutput"><span class="identifier">BOOST_NO_DEFAULTED_FUNCTIONS</span></code> </p></td>
+<td>
+<p>编译器不支持缺省函数(<code class="computeroutput"><span class="special">=</span> <span class="keyword">default</span></code>)。
+</p></td></tr>
+<tr>
+<td>
+<p><code class="computeroutput"><span class="identifier">BOOST_NO_DELETED_FUNCTIONS</span></code> </p></td>
+<td>
+<p>编译器不支持已删函数(<code class="computeroutput"><span class="special">=</span> <span class="keyword">delete</span></code>)。
+</p></td></tr>
+<tr>
+<td>
+<p><code class="computeroutput"><span class="identifier">BOOST_NO_EXPLICIT_CONVERSION_OPERATIONS</span></code> </p></td>
+<td>
+<p>编译器不支持显式转换操作符(<code class="computeroutput"><span class="keyword">explicit</span> <span class="keyword">operator</span> <span class="identifier">T</span><span class="special">()</span></code>)。 </p></td></tr>
+<tr>
+<td>
+<p><code class="computeroutput"><span class="identifier">BOOST_NO_EXTERN_TEMPLATE</span></code> </p></td>
+<td>
+<p>编译器不支持模板显式实例化声明&nbsp;(<code class="computeroutput"><span class="keyword">explicit</span> <span class="keyword">template</span></code>). </p></td></tr>
+<tr>
+<td>
+<p><code class="computeroutput"><span class="identifier">BOOST_NO_INITIALIZER_LISTS</span></code> </p></td>
+<td>
+<p>C++ 编译器不支持 C++0x 初始化列表。</p></td></tr>
+<tr>
+<td>
+<p><code class="computeroutput"><span class="identifier">BOOST_NO_LAMBDAS</span></code> </p></td>
+<td>
+<p>编译器不支持 Lambdas. </p></td></tr>
+<tr>
+<td>
+<p><code class="computeroutput"><span class="identifier">BOOST_NO_LONG_LONG</span></code> </p></td>
+<td>
+<p>编译器不支持&nbsp;<code class="computeroutput"><span class="keyword">long</span> <span class="keyword">long</span></code>. </p></td></tr>
+<tr>
+<td>
+<p><code class="computeroutput"><span class="identifier">BOOST_NO_NULLPTR</span></code> </p></td>
+<td>
+<p>编译器不支持&nbsp;'nullptr'. </p></td></tr>
+<tr>
+<td>
+<p><code class="computeroutput"><span class="identifier">BOOST_NO_RAW_LITERALS</span></code> </p></td>
+<td>
+<p>编译器不支持裸字符串文字。</p></td></tr>
+<tr>
+<td>
+<p><code class="computeroutput"><span class="identifier">BOOST_NO_RVALUE_REFERENCES</span></code> </p></td>
+<td>
+<p>编译器不支持右值引用。</p></td></tr>
+<tr>
+<td>
+<p><code class="computeroutput"><span class="identifier">BOOST_NO_SCOPED_ENUMS</span></code> </p></td>
+<td>
+<p>编译器不支持定域枚举(<code class="computeroutput"><span class="keyword">enum</span> <span class="keyword">class</span></code>).</p></td></tr>
+<tr>
+<td>
+<p><code class="computeroutput"><span class="identifier">BOOST_NO_STATIC_ASSERT</span></code> </p></td>
+<td>
+<p>编译器不支持&nbsp;<code class="computeroutput"><span class="identifier">static_assert</span></code>.</p></td></tr>
+<tr>
+<td>
+<p><code class="computeroutput"><span class="identifier">BOOST_NO_STD_UNORDERD</span></code> </p></td>
+<td>
+<p>标准库不支持 &lt;unordered_map&gt; 和 &lt;unordered_set&gt;.</p></td></tr>
+<tr>
+<td>
+<p><code class="computeroutput"><span class="identifier">BOOST_NO_TEMPLATE_ALIASES</span></code> </p></td>
+<td>
+<p>编译器不支持模板别名。 </p></td></tr>
+<tr>
+<td>
+<p><code class="computeroutput"><span class="identifier">BOOST_NO_UNICODE_LITERALS</span></code> </p></td>
+<td>
+<p>编译器不支持&nbsp;Unicode (<code class="computeroutput"><span class="identifier">u8</span></code>, <code class="computeroutput"><span class="identifier">u</span></code>, <code class="computeroutput"><span class="identifier">U</span></code>) 文字。 </p></td></tr>
+<tr>
+<td>
+<p><code class="computeroutput"><span class="identifier">BOOST_NO_VARIADIC_TEMPLATES</span></code> </p></td>
+<td>
+<p>编译器不支持可变参数数量的模板。 </p></td></tr></tbody></table></div><br></div></div></div></div><div class="informaltable"><br></div>
 </div>
 <a name="config_helpers"></a>
 <p> </p>
=======================================
--- /trunk/libs/config/doc/html/index.html      Mon Jun  1 20:48:16 2009
+++ /trunk/libs/config/doc/html/index.html      Fri Sep  4 04:09:20 2009
@@ -1165,7 +1165,7 @@

     <tr>

- <td align="left"><p><small>Last revised: February 21, 2009 at 13:17:03 GMT</small></p> + <td align="left"><p><small>Last revised: May 15, 2009 at 15:05:51 GMT</small></p>

       </td>

=======================================
--- /trunk/libs/crc/crc.html    Thu Sep  4 17:45:49 2008
+++ /trunk/libs/crc/crc.html    Fri Sep  4 04:09:20 2009
@@ -1,6 +1,5 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
-<html>
-<head>
+<html><head>



@@ -8,9 +7,7 @@



-  <title>Boost CRC Library Documentation</title>
-</head>
-
+  <title>Boost CRC Library Documentation</title></head>

 <body alink="red" bgcolor="white" link="blue" text="black" vlink="purple">

@@ -21,7 +18,7 @@


<p>头文件 <cite>&lt;<a href="../../boost/crc.hpp">boost/crc.hpp</a>&gt;</cite> 提供了两个位于 boost 名称空间(namespace)中的两个类模板。这些模板定义了一些对象,使用它们 可以计算给定数据流的 CRC -&mdash;&mdash;循环冗余码(校验)。这个头文件还提供了一步(一次调用)就可以 计算出 CRC 的函数模板。</p> +----循环冗余码(校验)。这个头文件还提供了一步(一次调用)就可以计算出 CRC 的 函数模板。</p>



@@ -119,7 +116,7 @@



-<p>实现相关的类型 impl_def 代表&ldquo;可以表示至少 Bits 个位,且可以最快地 进行运算的内建无符号整数类型&rdquo;。</p> +<p>实现相关的类型 impl_def 代表"可以表示至少 Bits 个位,且可以最快地进行运 算的内建无符号整数类型"。</p>



@@ -177,7 +174,7 @@
 </dl>

<div style="margin-left: 40px;">在运算过程中 CRC 余数随着对数据的逐位处理而 变化。余数的初始值通常是0,但是有些 CRCs -使用其他值来避免&ldquo;盲点&rdquo;。所谓的&ldquo;盲点&rdquo;是指一个共同 (common)的消息位序列不改变特定的中间余数值。</div> +使用其他值来避免"盲点"。所谓的"盲点"是指一个共同(common)的消息位序列不改 变特定的中间余数值。</div>

 <dl>

@@ -189,7 +186,7 @@
 </dl>

<div style="margin-left: 40px;">CRC 余数在返回给用户之前,可以通过位异或 (bitwise -exclusive-or)操作与一个特定的值进行合并。这个特定的值一般是0,也就是说余数 被原封不动地返回给用户。另一个常用的值是&ldquo;全1&rdquo;值(译者注:即这个 值的所有二进制位都是1的),即返回中间余数的二进制补数(bitwise +exclusive-or)操作与一个特定的值进行合并。这个特定的值一般是0,也就是说余数 被原封不动地返回给用户。另一个常用的值是"全1"值(译者注:即这个值的所有二进 制位都是1的),即返回中间余数的二进制补数(bitwise
 complement)。</div>

 <dl>
@@ -202,7 +199,7 @@
 </dl>

<div style="margin-left: 40px;">消息的各个位通常以字节为单位提供给 CRC 运 算,字节的最高几位被当作是被除数的高位。一些 -CRCs 会在进行 CRC 运算之前&ldquo;反射&rdquo;各个位(相对于字节的正中间进行 &ldquo;反射&rdquo;,比如,字节的第一位和最后一位互换,以此类推)</div> +CRCs 会在进行 CRC 运算之前"反射"各个位(相对于字节的正中间进行"反射",比 如,字节的第一位和最后一位互换,以此类推)</div>

 <dl>

@@ -213,7 +210,7 @@

 </dl>

-<div style="margin-left: 40px;">有些 CRCs 会返回中间余数的&ldquo;反射 &rdquo;(在进行最终 XOR +<div style="margin-left: 40px;">有些 CRCs 会返回中间余数的"反射"(在进行最 终 XOR
 操作<i>之前</i>进行)而非余数本身。</div>

 <h2><a name="crc_basic"></a>理论 CRC 机</h2>
@@ -276,8 +273,8 @@


<p><code>get_interim_remainder 方法返回 CRC 余数的初始状态值。它代表未反射 过的最后一次除法运算的余数。保存中间余数</code> -、其他 CRC 参数和字节流的当前处理位置就可以&ldquo;冻结&rdquo; 一个CRC 运算 过程。使用旧 CRC 机的大部分参数来构造一个新的 CRC -机并使用&ldquo;冻结&rdquo;的余数作为新 CRC 机的中间余数,就可以&ldquo;解冻 &rdquo;这个过程,并正常进行后继运算了。快速 CRC +、其他 CRC 参数和字节流的当前处理位置就可以"冻结" 一个CRC 运算过程。使用旧 CRC 机的大部分参数来构造一个新的 CRC +机并使用"冻结"的余数作为新 CRC 机的中间余数,就可以"解冻"这个过程,并正常进 行后继运算了。快速 CRC 机为此目的实现了一个只接收一个参数(中间余数)的特殊的构造函数(取代了 CRC 余数的初始值)。</p>


@@ -516,17 +513,17 @@



-<p>这些函数在 CRC 数据直接跟在消息数据之后的情况下有用。首先,设置 CRC 所在 的几个字节为 0。然后对&ldquo;扩张后的(augmented)&rdquo;消息(附加了 CRC +<p>这些函数在 CRC 数据直接跟在消息数据之后的情况下有用。首先,设置 CRC 所在 的几个字节为 0。然后对"扩张后的(augmented)"消息(附加了 CRC
 的消息数据)使用 <code>augmented_crc</code> 并把结果赋值给
-CRC。在接收方校验收到的数据时,要么对&ldquo;未扩张的 (unaugmented)&rdquo;消息使用 -<code>augmented_crc(当然,使用和发送时一样的参数)并检查结果是否和 CRC 相 等;要么对&ldquo;扩张的&rdquo;</code>消息使用
+CRC。在接收方校验收到的数据时,要么对"未扩张的(unaugmented)"消息使用
+<code>augmented_crc(当然,使用和发送时一样的参数)并检查结果是否和 CRC 相 等;要么对"扩张的"</code>消息使用 <code>augmented_crc</code> 并检查结果是否为 0。注意,CRC 必须保存在最重要的 字节里(大尾)。</p>



<p>CRC 数据中的中断可以这样处理:<code>把前一个数据块的</code> <code>augmented_crc</code> <code>结果作为</code> <var>initial_remainder</var> 来对下一个数据块调用 <code> -augmented_crc。记住,实际的 CRC 只能在提供&ldquo;扩张的 &rdquo;</code><code>数据之后才能确定。原因是这个方法在其最底层使用已 2 +augmented_crc。记住,实际的 CRC 只能在提供"扩张的"</code><code>数据之后才能 确定。原因是这个方法在其最底层使用已 2
 为模的多项式除法,且最终 XOR 和反射都不能使用。</code></p>


@@ -581,7 +578,7 @@


<p>这里有四种 CRC 类型,代表了一些常用的 CRC 算法。比 如,<code>boost::crc_32_type 可以用来实现 PKZip -标准。注意,从一般意义上讲,这个库注重的是 CRC 的实现而非&ldquo;良好的 &rdquo; CRC 参数的选择。</code></p> +标准。注意,从一般意义上讲,这个库注重的是 CRC 的实现而非"良好的" CRC 参数 的选择。</code></p>



@@ -621,8 +618,8 @@
                <td><code>crc_ccitt_type</code></td>


-               <td>designated by CCITT (Comit&eacute; Consultatif International
-                   T&eacute;l&eacute;graphique et 
T&eacute;l&eacute;phonique)</td>
+               <td>designated by CCITT (Comité Consultatif International
+                   Télégraphique et Téléphonique)</td>


        </tr>
@@ -670,7 +667,7 @@
        <li>CRC 头文件本身: <cite><a href="../../boost/crc.hpp">crc.hpp</a></cite>
        </li>

-  <li>测试代码:&nbsp;<cite><a href="crc_test.cpp">crc_test.cpp</a></cite>
+ <li>测试代码:&nbsp;<cite><a href="test/crc_test.cpp">crc_test.cpp</a></cite>
        </li>

   <li>示例代码: <cite><a href="crc_example.cpp">crc_example.cpp</a></cite>
@@ -698,7 +695,7 @@
                Than Done</a>, a less-confusing guide to implementing CRC
                algorithms.  (Originally published as "Slow and Steady
Never Lost the Race" in the January 2000 issue of <cite><a href="http://www.embedded.com/";>Embedded Systems
-               Programming</a></cite>, pages 37&ndash;46.)
+               Programming</a></cite>, pages 37-46.)

        </dd>

@@ -707,7 +704,7 @@

   <dd>Started the library and contributed the theoretical and optimal
                CRC computation class templates and the CRC computing function
- template. Contributed <cite><a href="crc_test.cpp">crc_test.cpp</a></cite> and <cite><a href="crc_example.cpp">crc_example.cpp</a></cite>. + template. Contributed <cite><a href="test/crc_test.cpp">crc_test.cpp</a></cite> and <cite><a href="crc_example.cpp">crc_example.cpp</a></cite>.

        </dd>

@@ -800,5 +797,4 @@



-</body>
-</html>
+</body></html>
=======================================
--- /trunk/libs/exception/doc/current_exception.html Sun Jun 14 23:33:46 2009 +++ /trunk/libs/exception/doc/current_exception.html Fri Sep 4 04:09:20 2009
@@ -1,18 +1,15 @@
-<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
-'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
-<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
-<head>
-       <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
-       <title>current_exception</title>
-       <link href='reno.css' type='text/css' rel='stylesheet'/>
-</head>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en"><head>
+       <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>current_exception</title><link href="reno.css" type="text/css" rel="stylesheet" /></head>
 <body>
 <div class="body-0">
 <div class="body-1">
 <div class="body-2">
 <div>
 <div id="boost_logo">
-<a href="http://www.boost.org";><img style="border:0" src="http://www.boost.org/boost.png"; alt="Boost" width="277" height="86"/></a> +<a href="http://www.boost.org";><img style="border: 0pt none ;" src="http://www.boost.org/boost.png"; alt="Boost" height="86" width="277" /></a>
 </div>
 <h1>Boost Exception</h1>
 </div>
@@ -21,11 +18,8 @@
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) --> <div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>current_exception</h3>
 </div>
-<div class="RenoIncludeDIV"><p><span class="RenoEscape">&#35;<!--<wiki>`&#35;</wiki>--></span>include &lt;<span class="RenoLink"><a href="exception_cloning_hpp.html">boost/exception_ptr.hpp</a></span>&gt;</p>
-<pre>namespace
-boost
-    {
-<span class="RenoIncludeSPAN"> <span class="RenoLink"><a href="exception_ptr.html">exception_ptr</a></span> <span class="RenoLink">current_exception</span>();</span> +<div class="RenoIncludeDIV"><p><span class="RenoEscape">#<!--<wiki>`&#35;</wiki>--></span>include &lt;<span class="RenoLink"><a href="exception_cloning_hpp.html">boost/exception_ptr.hpp</a></span>&gt;</p> +<pre>namespace<br />boost<br /> {<br /><span class="RenoIncludeSPAN"> <span class="RenoLink"><a href="exception_ptr.html">exception_ptr</a></span> <span class="RenoLink">current_exception</span>();</span>
     }</pre>
 </div><h4>要求:</h4>
<p>在catch块的外部不能在调用函数 <span class="RenoLink">current_exception</span>.</p>
@@ -38,25 +32,22 @@
 <p>没有异常.</p>
 <h4>注意:</h4>
<div><ul><li> 连续两次的调用函数 <span class="RenoLink"><a href="current_exception.html">current_exception</a></span>
-    ,并不保证得到的总是同一的异常对象.</li>
-<li> 在需要抛出当前要处理的异常的时候,除非调用了函数<span class="RenoLink"><a href="enable_current_exception.html">enable_current_exception</a></span>, - 否则函数 <span class="RenoLink"><a href="current_exception.html">current_exception</a></span> - 的实现可能需要编译器的支持. 如果没有调用函数 <span class="RenoLink"><a href="enable_current_exception.html">enable_current_exception</a></span> , - 并且编译器没有提供必要的支持,那么函数 <span class="RenoLink"><a href="current_exception.html">current_exception</a></span> - 可能返回一个指向<span class="RenoLink"><a href="unknown_exception.html">unknown_exception</a></span>类型的异常对象指 针. - 在这种情况下, 如果初始的异常对象是从 boost::<span class="RenoLink"><a href="exception.html">exception</a></span>继承而来, - 那么通过boost::<span class="RenoLink"><a href="exception.html">exception</a></span> 的copy构造函数, <span class="RenoLink"><a href="unknown_exception.html">unknown_exception</a></span>
-    类型的子对象就会被构造出来.</li>
+ ,并不保证得到的总是同一的异常对象.</li><li><span class="RenoLink">current_exception</span> 的正确实现可能需要编译器的支持,除 非在当前被处理的异常对象传递给 throw 的时候使用了 <span class="RenoLink"><a href="enable_current_exception.html">enable_current_exception</a></span>。 当 <span class="RenoLink">current_exception</span> 不能正确复制 current exception 对象时,它将返回一个 <span class="RenoLink"><a href="exception_ptr.html">exception_ptr</a></span>, 指向一个类型尽可能接近于 原有异常类型的对象,<span class="RenoLink"><a href="unknown_exception.html">unknown_exception</a></span> 被作为最终可用的 类型。所有这些类型均派生自 boost::<span class="RenoLink"><a href="exception.html">exception</a></span>,且:
+<div>
+<ul><li>如果原有异常对象派生自 boost::<span class="RenoLink"><a href="exception.html">exception</a></span>,则该对象的 boost::<span class="RenoLink"><a href="exception.html">exception</a></span> 子对象被引向 所返回的 <span class="RenoLink"><a href="exception_ptr.html">exception_ptr</a></span>,由 +boost::<span class="RenoLink"><a href="exception.html">exception</a></span> 复制构造函数来初始化; +</li><li>如果可能,该异常将包含原有异常对象的 std::type_info,可通过 <span class="RenoLink"><a href="get_error_info.html">get_error_info</a></span>&lt;<span class="RenoLink"><a href="original_exception_type.html">original_exception_type</a></span>&gt; 访问。
+</li></ul></div></li>
 </ul></div>
-</div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+</div><div class="RenoAutoDIV"><div class="RenoHR"><hr /></div>
 <h3>参见:</h3>
-<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/>
-</a><a href="exception_cloning_hpp.html">boost/exception_ptr.hpp<br/>
-</a><a href="copy_exception.html">copy_exception<br/>
-</a><a href="enable_current_exception.html">enable_current_exception<br/>
-</a><a href="exception_ptr.html">exception_ptr<br/>
-</a><a href="frequently_asked_questions.html">Frequently Asked Questions<br/>
-</a><a href="unknown_exception.html">unknown_exception<br/>
+<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br />
+</a><a href="boost_exception_ptr_hpp.html">boost/exception_ptr.hpp<br />
+</a><a href="copy_exception.html">copy_exception<br />
+</a><a href="enable_current_exception.html">enable_current_exception<br />
+</a><a href="exception_ptr.html">exception_ptr<br />
+</a><a href="frequently_asked_questions.html">Frequently Asked Questions<br /> +</a><a href="original_exception_type.html">original_exception_type</a><br /><a href="unknown_exception.html">unknown_exception<br />
 </a></div>
 </div>
 <!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
@@ -64,16 +55,15 @@
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
 <div id="footer">
 <p>&nbsp;</p>
-<hr/>
+<hr />
 <p>
-<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer";><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a> -<a class="logo" href="http://validator.w3.org/check?uri=referer";><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a> -<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/> -Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt";>Boost Software License, Version 1.0</a>.<p><i>Copyright &copy; 2009 <a href="http://zadecn.spaces.live.com/";>zade</a></i></p>.</small> +<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer";><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88" /></a> +<a class="logo" href="http://validator.w3.org/check?uri=referer";><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88" /></a> +<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br /> +Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt";>Boost Software License, Version 1.0</a>.<p><i>Copyright (c) 2009 <a href="http://zadecn.spaces.live.com/";>zade</a></i></p>.</small>
 </p>
 </div>
 </div>
 </div>
 </div>
-</body>
-</html>
+</body></html>
=======================================
--- /trunk/libs/exception/doc/current_exception_diagnostic_information.html Sun Jun 14 23:33:46 2009 +++ /trunk/libs/exception/doc/current_exception_diagnostic_information.html Fri Sep 4 04:09:20 2009
@@ -1,18 +1,16 @@
-<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
-'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
-<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
-<head>
-       <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
-       <title>current_exception_diagnostic_information</title>
-       <link href='reno.css' type='text/css' rel='stylesheet'/>
-</head>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en"><head>
+       <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>current_exception_diagnostic_information</title><link href="reno.css" type="text/css" rel="stylesheet" /></head>
+
 <body>
 <div class="body-0">
 <div class="body-1">
 <div class="body-2">
 <div>
 <div id="boost_logo">
-<a href="http://www.boost.org";><img style="border:0" src="http://www.boost.org/boost.png"; alt="Boost" width="277" height="86"/></a> +<a href="http://www.boost.org";><img style="border: 0pt none ;" src="http://www.boost.org/boost.png"; alt="Boost" height="86" width="277" /></a>
 </div>
 <h1>Boost Exception</h1>
 </div>
@@ -21,40 +19,19 @@
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) --> <div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>current_exception_diagnostic_information</h3>
 </div>
-<div class="RenoIncludeDIV"><p><span class="RenoEscape">&#35;<!--<wiki>`&#35;</wiki>--></span>include &lt;<span class="RenoLink"><a href="exception_diagnostic_information_hpp.html">boost/exception/diagnostic_information.hpp</a></span>&gt;<span class="RenoBR">&nbsp;</span><br/></p>
-<pre>namespace
-boost
-    {
-<span class="RenoIncludeSPAN"> std::string <span class="RenoLink">current_exception_diagnostic_information</span>();</span> +<div class="RenoIncludeDIV"><p><span class="RenoEscape">#<!--<wiki>`&#35;</wiki>--></span>include &lt;<span class="RenoLink"><a href="boost_exception_diagnostic_information_hpp.html">boost/exception/diagnostic_information.hpp</a></span>&gt;<span class="RenoBR">&nbsp;</span><br /></p> +<pre>namespace<br />boost<br /> {<br /><span class="RenoIncludeSPAN"> std::string <span class="RenoLink">current_exception_diagnostic_information</span>();</span>
     }</pre>
 </div><h4>要求:</h4>
 <p>这个函数不能在catch块的外部调用.</p>
 <h4>返回值:</h4>
<p>如果当前的异常对象能够转化为 boost::<span class="RenoLink"><a href="exception.html">exception</a></span> 或者 std::exception 类型, 这个函 数的返回信息和函数 <span class="RenoLink"><a href="diagnostic_information.html">diagnostic_information</a></span> 对当前 异常对象的返回信息时一致的. 否则, 返回一个不确定的非空字符串.</p> <p>调用函数 <span class="RenoLink">current_exception_diagnostic_information</span> 的典型情况 是在顶端函数输出未处理的异常的调试信息:</p>
-<pre>int
-main()
-    {
-    try
-        {
-        run_program();
-        }
-    catch(
-    error &amp; e )
-        {
-        //handle error
-        }
-    catch(
-    ...)
-        {
- std::cerr &lt;&lt; "Unhandled exception!" &lt;&lt; std::endl &lt;&lt; - boost::<span class="RenoLink">current_exception_diagnostic_information</span>();
-        }
-    }</pre>
-</div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<pre>int<br />main()<br /> {<br /> try<br /> {<br /> run_program();<br /> }<br /> catch(<br /> error &amp; e )<br /> {<br /> //handle error<br /> }<br /> catch(<br /> ...)<br /> {<br /> std::cerr &lt;&lt; "Unhandled exception!" &lt;&lt; std::endl &lt;&lt;<br /> boost::<span class="RenoLink">current_exception_diagnostic_information</span>();<br /> }<br /> }</pre>
+</div><div class="RenoAutoDIV"><div class="RenoHR"><hr /></div>
 <h3>参见:</h3>
-<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/> -</a><a href="exception_diagnostic_information_hpp.html">boost/exception/diagnostic_information.hpp<br/> +<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br /> +</a><a href="boost_exception_diagnostic_information_hpp.html">boost/exception/diagnostic_information.hpp<br /></a><a href="diagnostic_information.html">diagnostic_information<br /></a><a href="exception_diagnostic_information_hpp.html"><br />
 </a></div>
 </div>
 <!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
@@ -62,16 +39,15 @@
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
 <div id="footer">
 <p>&nbsp;</p>
-<hr/>
+<hr />
 <p>
-<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer";><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a> -<a class="logo" href="http://validator.w3.org/check?uri=referer";><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a> -<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/> -Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt";>Boost Software License, Version 1.0</a>.<p><i>Copyright &copy; 2009 <a href="http://zadecn.spaces.live.com/";>zade</a></i></p>.</small> +<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer";><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88" /></a> +<a class="logo" href="http://validator.w3.org/check?uri=referer";><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88" /></a> +<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br /> +Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt";>Boost Software License, Version 1.0</a>.<p><i>Copyright (c) 2009 <a href="http://zadecn.spaces.live.com/";>zade</a></i></p>.</small>
 </p>
 </div>
 </div>
 </div>
 </div>
-</body>
-</html>
+</body></html>
=======================================
--- /trunk/libs/exception/doc/diagnostic_information.html Sun Jun 14 23:33:46 2009 +++ /trunk/libs/exception/doc/diagnostic_information.html Fri Sep 4 04:09:20 2009
@@ -1,18 +1,16 @@
-<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
-'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
-<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
-<head>
-       <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
-       <title>diagnostic_information</title>
-       <link href='reno.css' type='text/css' rel='stylesheet'/>
-</head>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en"><head>
+       <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>diagnostic_information</title><link href="reno.css" type="text/css" rel="stylesheet" /></head>
+
 <body>
 <div class="body-0">
 <div class="body-1">
 <div class="body-2">
 <div>
 <div id="boost_logo">
-<a href="http://www.boost.org";><img style="border:0" src="http://www.boost.org/boost.png"; alt="Boost" width="277" height="86"/></a> +<a href="http://www.boost.org";><img style="border: 0pt none ;" src="http://www.boost.org/boost.png"; alt="Boost" height="86" width="277" /></a>
 </div>
 <h1>Boost Exception</h1>
 </div>
@@ -21,15 +19,10 @@
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) --> <div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>diagnostic_information</h3>
 </div>
-<div class="RenoIncludeDIV"><p><span class="RenoEscape">&#35;<!--<wiki>`&#35;</wiki>--></span>include &lt;<span class="RenoLink"><a href="exception_diagnostic_information_hpp.html">boost/exception/diagnostic_information.hpp</a></span>&gt;<span class="RenoBR">&nbsp;</span><br/></p>
-<pre>namespace
-boost
-    {
-<span class="RenoIncludeSPAN">    template &lt;class E&gt;
- std::string <span class="RenoLink">diagnostic_information</span>( E const &amp; e );</span>
-    }</pre>
+<div class="RenoIncludeDIV"><p><span class="RenoEscape">#<!--<wiki>`&#35;</wiki>--></span>include &lt;<span class="RenoLink"><a href="boost_exception_diagnostic_information_hpp.html">boost/exception/diagnostic_information.hpp</a></span>&gt;<span class="RenoBR">&nbsp;</span><br /></p> +<pre>namespace<br />boost<br /> {<br /><span class="RenoIncludeSPAN"> template &lt;class E&gt;<br /> std::string <span class="RenoLink">diagnostic_information</span>( E const &amp; e );<br /> <br /> std::string <span class="RenoLink">diagnostic_information</span>( <span class="RenoLink"><a href="exception_ptr.html">exception_ptr</a></span> const &amp; p );</span><br /> }</pre>
 </div><h4>返回值:</h4>
-<p>一个字符串数值, 包含了实现端指定的,关于传入异常对象的各种调试信息:</p>
+<p>一个字符串数值, 包含了实现端指定的,关于传入对象的各种调试信息:</p>
<div><ul><li>如果 E 可以被静态的转换为 boost::<span class="RenoLink"><a href="exception.html">exception</a></span> 类型, 返回值包含了通过<span class="RenoLink"><a href="exception_operator_shl.html">operator&lt;&lt;</a></span>存贮在 boost::<span class="RenoLink"><a href="exception.html">exception</a></span>对象中所有<span class="RenoLink"><a href="error_info.html">error_info</a></span>类型的对象信 息, 同时还包含异常对象的调试信息. 如果 e 是 std::exception 类型, 返回值还包 含 what() 信息.</li> <li>否则, 如果 E 能够静态转换为 std::exception:<div><ul><li>如果 e 可以动态 转换为 boost::exception, 返回值和E能够静态转换为 boost::<span class="RenoLink"><a href="exception.html">exception</a></span>类型的返回值是 一样的;</li>
 <li>否则,返回值包含 what() 信息.</li>
@@ -42,7 +35,7 @@
<li>执行函数 to_string(x.<span class="RenoLink"><a href="error_info_value.html">value</a></span>()) (期望返回值能够转换为 std::string 类型.)</li> <li>执行函数 s &lt;&lt; x.<span class="RenoLink"><a href="error_info_value.html">value</a></span>(), s 是 std::ostringstream 类 型的对象.</li>
 </ol></div>
-<p>第一个成功绑定的函数会在函数 <span class="RenoLink">diagnostic_information</span> 被调用的是偶执行; 如果三个重 载决议都没有成功, 那么系统就不能成功转换 <span class="RenoLink"><a href="error_info.html">error_info</a></span> 对象为字符串信息, 那么 <i> 一个 未定义的存根字符串会被使用, 不会产生任何的编译错误.</i></p> +<p>第一个成功绑定的函数会在函数 <span class="RenoLink">diagnostic_information</span> 被调用的是偶执行; 如果三个重 载决议都没有成功, 那么系统就不能成功转换 <span class="RenoLink"><a href="error_info.html">error_info</a></span> 对象为字符串信息, 那么 <i> 一个 未定义的存根字符串会被使用, 不会产生任何的编译错误.</i></p><p><span class="RenoLink"><a href="exception_ptr.html">exception_ptr</a></span> 针对 <span class="RenoLink">diagnostic_information</span> 的重载相当 于:</p><pre>if( p )<br /> try<br /> {<br /> <span class="RenoLink"><a href="rethrow_exception.html">rethrow_exception</a></span>(p);<br /> }<br /> catch(...)<br /> {<br /> return <span class="RenoLink"><a href="current_exception_diagnostic_information.html">current_exception_diagnostic_information</a></span>();<br /> }<br />else return &lt;unspecified-string-value&gt;;</pre>
 <h4>注意:</h4>
 <div><ul><li>字符串的个格式是未定义的.</li>
 <li>返回的字符串并 <i>不是</i> 用户友好的.</li>
@@ -50,24 +43,18 @@
 </ul></div>
 <div class="RenoIncludeDIV"><h4>实例:</h4>
<p>以下是函数 <span class="RenoLink">diagnostic_information</span> 可能产生 的输出之一, 这是在文件 <i>libs/exception/example/example_io.cpp:</i>中使用的 </p> -<pre>example_io.cpp(83): Throw in function class boost::shared_ptr&lt;struct _iobuf&gt; __cdecl my_fopen(const char *,const char *) -Dynamic exception type: class boost::exception_detail::clone_impl&lt;class fopen_error&gt;
-std::exception::what: example_io error
-[struct tag_errno *] = 2, OS says "No such file or directory"
-[struct tag_file_name *] = tmp1.txt
-[struct tag_function *] = fopen
-[struct tag_open_mode *] = rb</pre>
-</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+<pre>example_io.cpp(70): Throw in function class boost::shared_ptr&lt;struct _iobuf&gt; __cdecl my_fopen(const char *,const char *)<br />Dynamic exception type: class boost::exception_detail::clone_impl&lt;struct fopen_error&gt;<br />std::exception::what: example_io error<br />[struct boost::<span class="RenoLink"><a href="errinfo_api_function.html">errinfo_api_function</a></span>_ *] = fopen<br />[struct boost::<span class="RenoLink"><a href="errinfo_errno.html">errinfo_errno</a></span>_ *] = 2, "No such file or directory"<br />[struct boost::<span class="RenoLink"><a href="errinfo_file_name.html">errinfo_file_name</a></span>_ *] = tmp1.txt<br />[struct boost::<span class="RenoLink"><a href="errinfo_file_open_mode.html">errinfo_file_open_mode</a></span>_ *] = rb</pre>
+</div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr /></div>
 <h3>参见:</h3>
-<div class="RenoPageList"><a href="BOOST_THROW_EXCEPTION.html">BOOST_THROW_EXCEPTION<br/>
-</a><a href="boost-exception.html">Boost Exception<br/>
-</a><a href="exception_diagnostic_information_hpp.html">boost/exception/diagnostic_information.hpp<br/>
-</a><a href="configuration_macros.html">Configuration Macros<br/>
-</a><a href="current_exception_diagnostic_information.html">current_exception_diagnostic_information<br/> -</a><a href="tutorial_diagnostic_information.html">Diagnostic Information<br/> -</a><a href="frequently_asked_questions.html">Frequently Asked Questions<br/>
-</a><a href="motivation.html">Motivation<br/>
-</a><a href="throw_exception.html">throw_exception<br/>
+<div class="RenoPageList"><a href="BOOST_THROW_EXCEPTION.html">BOOST_THROW_EXCEPTION<br />
+</a><a href="boost-exception.html">Boost Exception<br />
+</a><a href="boost_exception_diagnostic_information_hpp.html">boost/exception/diagnostic_information.hpp<br />
+</a><a href="configuration_macros.html">Configuration Macros<br />
+</a><a href="current_exception_diagnostic_information.html">current_exception_diagnostic_information<br /> +</a><a href="tutorial_diagnostic_information.html">Diagnostic Information<br /> +</a><a href="frequently_asked_questions.html">Frequently Asked Questions<br />
+</a><a href="motivation.html">Motivation<br />
+</a><a href="throw_exception.html">throw_exception<br />
 </a></div>
 </div>
 <!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
@@ -75,16 +62,15 @@
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
 <div id="footer">
 <p>&nbsp;</p>
-<hr/>
+<hr />
 <p>
-<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer";><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a> -<a class="logo" href="http://validator.w3.org/check?uri=referer";><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a> -<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/> -Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt";>Boost Software License, Version 1.0</a>.<p><i>Copyright &copy; 2009 <a href="http://zadecn.spaces.live.com/";>zade</a></i></p>.</small> +<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer";><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88" /></a> +<a class="logo" href="http://validator.w3.org/check?uri=referer";><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88" /></a> +<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br /> +Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt";>Boost Software License, Version 1.0</a>.<p><i>Copyright (c) 2009 <a href="http://zadecn.spaces.live.com/";>zade</a></i></p>.</small>
 </p>
 </div>
 </div>
 </div>
 </div>
-</body>
-</html>
+</body></html>
=======================================
--- /trunk/libs/exception/doc/enable_current_exception.html Sun Jun 14 23:33:46 2009 +++ /trunk/libs/exception/doc/enable_current_exception.html Fri Sep 4 04:09:20 2009
@@ -1,18 +1,16 @@
-<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
-'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
-<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
-<head>
-       <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
-       <title>enable_current_exception</title>
-       <link href='reno.css' type='text/css' rel='stylesheet'/>
-</head>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en"><head>
+       <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>enable_current_exception</title><link href="reno.css" type="text/css" rel="stylesheet" /></head>
+
 <body>
 <div class="body-0">
 <div class="body-1">
 <div class="body-2">
 <div>
 <div id="boost_logo">
-<a href="http://www.boost.org";><img style="border:0" src="http://www.boost.org/boost.png"; alt="Boost" width="277" height="86"/></a> +<a href="http://www.boost.org";><img style="border: 0pt none ;" src="http://www.boost.org/boost.png"; alt="Boost" height="86" width="277" /></a>
 </div>
 <h1>Boost Exception</h1>
 </div>
@@ -21,40 +19,30 @@
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) --> <div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>enable_current_exception</h3>
 </div>
-<div class="RenoIncludeDIV"><p><span class="RenoEscape">&#35;<!--<wiki>`&#35;</wiki>--></span>include &lt;<span class="RenoLink"><a href="exception_enable_current_exception_hpp.html">boost/exception/enable_current_exception.hpp</a></span>&gt;</p>
-<pre>namespace
-boost
-    {
-<span class="RenoIncludeSPAN">    template &lt;class T&gt;
- ---unspecified--- <span class="RenoLink">enable_current_exception</span>( T const &amp; e );</span> +<div class="RenoIncludeDIV"><p><span class="RenoEscape">#<!--<wiki>`&#35;</wiki>--></span>include &lt;<span class="RenoLink"><a href="boost_exception_enable_current_exception_hpp.html">boost/exception/enable_current_exception.hpp</a></span>&gt;</p> +<pre>namespace<br />boost<br /> {<br /><span class="RenoIncludeSPAN"> template &lt;class T&gt;<br /> ---unspecified--- <span class="RenoLink">enable_current_exception</span>( T const &amp; e );</span>
     }</pre>
 </div><h4>要求:</h4>
-<p>T 的copy构造函数不能抛出异常,并且是可访问.</p>
+<ul><li>T 的复制构造函数不能抛出异常,并且是可访问。
+</li><li>如果 T 有任何虚拟基类,则那些类型必须具有一个可访问的缺省构造函 数。<br /></li></ul>
 <h4>返回值:</h4>
<p>是从T继承的不确定类型. 也就是说, 可以通过语句 catch(T &amp;) 截获异 常.</p>
 <h4>描述:</h4>
<p>这个函数可以直接使用在throw语句中,从而使得<span class="RenoLink"><a href="exception_ptr.html">exception_ptr</a></span>支持 Boost 异常. 例如:</p>
-<pre>class
-my_exception:
-    public std::exception
-    {
-    };
-
-....
-throw boost::<span class="RenoLink">enable_current_exception</span>(my_exception());</pre> +<pre>class<br />my_exception:<br /> public std::exception<br /> {<br /> };<br /><br />....<br />throw boost::<span class="RenoLink">enable_current_exception</span>(my_exception());</pre> <p>除非在抛出异常的语句中调用了 <span class="RenoLink"><a href="enable_current_exception.html">enable_current_exception</a></span> , 否则异常对象的拷贝会使得函数 <span class="RenoLink"><a href="current_exception.html">current_exception</a></span> 的返回值指向一个 <span class="RenoLink"><a href="unknown_exception.html">unknown_exception</a></span>类型的对象.&nbsp; 更详细的信息参见 <span class="RenoLink"><a href="current_exception.html">current_exception</a></span> .</p>
 <h4>注意:</h4>
<p>相对于直接使用throw关键字, 更好的方式是调用 boost::<span class="RenoLink"><a href="throw_exception.html">throw_exception</a></span>. 这个函数确保抛出的异常对象继承自 boost::<span class="RenoLink"><a href="exception.html">exception</a></span> , 从而也支持 <span class="RenoLink"><a href="exception_ptr.html">exception_ptr</a></span> 的功 能.</p>
-</div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+</div><div class="RenoAutoDIV"><div class="RenoHR"><hr /></div>
 <h3>参见:</h3>
-<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/> -</a><a href="exception_enable_current_exception_hpp.html">boost/exception/enable_current_exception.hpp<br/>
-</a><a href="configuration_macros.html">Configuration Macros<br/>
-</a><a href="copy_exception.html">copy_exception<br/>
-</a><a href="current_exception.html">current_exception<br/>
-</a><a href="frequently_asked_questions.html">Frequently Asked Questions<br/> -</a><a href="tutorial_exception_ptr.html">Transporting of Exceptions Between Threads<br/>
-</a><a href="throw_exception.html">throw_exception<br/>
+<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br /> +</a><a href="boost_exception_enable_current_exception_hpp.html">boost/exception/enable_current_exception.hpp<br />
+</a><a href="configuration_macros.html">Configuration Macros<br />
+</a><a href="copy_exception.html">copy_exception<br />
+</a><a href="current_exception.html">current_exception<br />
+</a><a href="frequently_asked_questions.html">Frequently Asked Questions<br /> +</a><a href="tutorial_exception_ptr.html">Transporting of Exceptions Between Threads<br />
+</a><a href="throw_exception.html">throw_exception<br />
 </a></div>
 </div>
 <!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
@@ -62,16 +50,15 @@
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
 <div id="footer">
 <p>&nbsp;</p>
-<hr/>
+<hr />
 <p>
-<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer";><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a> -<a class="logo" href="http://validator.w3.org/check?uri=referer";><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a> -<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/> -Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt";>Boost Software License, Version 1.0</a>.<p><i>Copyright &copy; 2009 <a href="http://zadecn.spaces.live.com/";>zade</a></i></p>.</small> +<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer";><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88" /></a> +<a class="logo" href="http://validator.w3.org/check?uri=referer";><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88" /></a> +<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br /> +Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt";>Boost Software License, Version 1.0</a>.<p><i>Copyright (c) 2009 <a href="http://zadecn.spaces.live.com/";>zade</a></i></p>.</small>
 </p>
 </div>
 </div>
 </div>
 </div>
-</body>
-</html>
+</body></html>
=======================================
--- /trunk/libs/exception/doc/enable_error_info.html Sun Jun 14 23:33:46 2009 +++ /trunk/libs/exception/doc/enable_error_info.html Fri Sep 4 04:09:20 2009
@@ -1,18 +1,16 @@
-<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'
-'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>
-<html xmlns='http://www.w3.org/1999/xhtml' xml:lang='en' lang='en'>
-<head>
-       <meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
-       <title>enable_error_info</title>
-       <link href='reno.css' type='text/css' rel='stylesheet'/>
-</head>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml"; xml:lang="en" lang="en"><head>
+       <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+
+ <title>enable_error_info</title><link href="reno.css" type="text/css" rel="stylesheet" /></head>
+
 <body>
 <div class="body-0">
 <div class="body-1">
 <div class="body-2">
 <div>
 <div id="boost_logo">
-<a href="http://www.boost.org";><img style="border:0" src="http://www.boost.org/boost.png"; alt="Boost" width="277" height="86"/></a> +<a href="http://www.boost.org";><img style="border: 0pt none ;" src="http://www.boost.org/boost.png"; alt="Boost" height="86" width="277" /></a>
 </div>
 <h1>Boost Exception</h1>
 </div>
@@ -21,12 +19,8 @@
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) --> <div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>enable_error_info</h3>
 </div>
-<div class="RenoIncludeDIV"><p><span class="RenoEscape">&#35;<!--<wiki>`&#35;</wiki>--></span>include &lt;<span class="RenoLink"><a href="exception_enable_error_info_hpp.html">boost/exception/enable_error_info.hpp</a></span>&gt;</p>
-<pre>namespace
-boost
-    {
-<span class="RenoIncludeSPAN">    template &lt;class T&gt;
- ---unspecified--- <span class="RenoLink">enable_error_info</span>( T const &amp; x );</span> +<div class="RenoIncludeDIV"><p><span class="RenoEscape">#<!--<wiki>`&#35;</wiki>--></span>include &lt;<span class="RenoLink"><a href="boost_exception_enable_error_info_hpp.html">boost/exception/enable_error_info.hpp</a></span>&gt;</p> +<pre>namespace<br />boost<br /> {<br /><span class="RenoIncludeSPAN"> template &lt;class T&gt;<br /> ---unspecified--- <span class="RenoLink">enable_error_info</span>( T const &amp; x );</span>
     }</pre>
 </div><h4>要求:</h4>
 <p>T 的copy构造函数不能抛出异常,并且是可访问.参见(15.5.1).</p>
@@ -38,15 +32,15 @@
 </ul></div>
 <h4>异常抛出:</h4>
 <p>没有异常.</p>
-</div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
+</div><div class="RenoAutoDIV"><div class="RenoHR"><hr /></div>
 <h3>参见:</h3>
-<div class="RenoPageList"><a href="BOOST_THROW_EXCEPTION.html">BOOST_THROW_EXCEPTION<br/>
-</a><a href="boost-exception.html">Boost Exception<br/>
-</a><a href="exception_enable_error_info_hpp.html">boost/exception/enable_error_info.hpp<br/>
-</a><a href="configuration_macros.html">Configuration Macros<br/>
-</a><a href="frequently_asked_questions.html">Frequently Asked Questions<br/> -</a><a href="tutorial_enable_error_info.html">Integrating Boost Exception in Existing Exception Class Hierarchies<br/>
-</a><a href="throw_exception.html">throw_exception<br/>
+<div class="RenoPageList"><a href="BOOST_THROW_EXCEPTION.html">BOOST_THROW_EXCEPTION<br />
+</a><a href="boost-exception.html">Boost Exception<br />
+</a><a href="boost_exception_enable_error_info_hpp.html">boost/exception/enable_error_info.hpp<br />
+</a><a href="configuration_macros.html">Configuration Macros<br />
+</a><a href="frequently_asked_questions.html">Frequently Asked Questions<br /> +</a><a href="tutorial_enable_error_info.html">Integrating Boost Exception in Existing Exception Class Hierarchies<br />
+</a><a href="throw_exception.html">throw_exception<br />
 </a></div>
 </div>
 <!-- Copyright (c) 2006-2009 Emil Dotchevski and Reverge Studios, Inc. -->
@@ -54,16 +48,15 @@
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
 <div id="footer">
 <p>&nbsp;</p>
-<hr/>
+<hr />
 <p>
-<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer";><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88"/></a> -<a class="logo" href="http://validator.w3.org/check?uri=referer";><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88"/></a> -<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br/> -Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt";>Boost Software License, Version 1.0</a>.<p><i>Copyright &copy; 2009 <a href="http://zadecn.spaces.live.com/";>zade</a></i></p>.</small> +<a class="logo" href="http://jigsaw.w3.org/css-validator/check/referer";><img class="logo_pic" src="valid-css.png" alt="Valid CSS" height="31" width="88" /></a> +<a class="logo" href="http://validator.w3.org/check?uri=referer";><img class="logo_pic" src="valid-xhtml.png" alt="Valid XHTML 1.0" height="31" width="88" /></a> +<small>Copyright (c) 2006-2009 by Emil Dotchevski and Reverge Studios, Inc.<br /> +Distributed under the <a href="http://www.boost.org/LICENSE_1_0.txt";>Boost Software License, Version 1.0</a>.<p><i>Copyright (c) 2009 <a href="http://zadecn.spaces.live.com/";>zade</a></i></p>.</small>
 </p>
 </div>
 </div>
 </div>
 </div>
-</body>
-</html>
+</body></html>
=======================================
***Additional files exist in this changeset.***

Other related posts:

  • » [boost-doc-zh] r322 committed - 转换至1.40.0,第6批,完成以下库:... - codesite-noreply