[boost-doc-zh commit] r264 - for Version 1.39

  • From: codesite-noreply@xxxxxxxxxx
  • To: boost-doc-zh-notify@xxxxxxxxxxxxx
  • Date: Mon, 15 Jun 2009 01:18:18 +0000

Author: zhaohongchao
Date: Sun Jun 14 17:49:43 2009
New Revision: 264

Modified:
   trunk/libs/exception/doc/BOOST_THROW_EXCEPTION.html
   trunk/libs/exception/doc/boost-exception.html
   trunk/libs/exception/doc/boost_exception_current_exception_cast_hpp.html
   trunk/libs/exception/doc/configuration_macros.html
   trunk/libs/exception/doc/copy_exception.html
   trunk/libs/exception/doc/current_exception.html
   trunk/libs/exception/doc/current_exception_cast.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/error_info_value_type.html
   trunk/libs/exception/doc/exception.html
   trunk/libs/exception/doc/exception_cloning_hpp.html
   trunk/libs/exception/doc/exception_constructors.html
   trunk/libs/exception/doc/exception_destructor.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
   trunk/libs/exception/doc/exception_operator_shl.html
   trunk/libs/exception/doc/exception_ptr.html
   trunk/libs/exception/doc/exception_types_as_simple_semantic_tags.html
   trunk/libs/exception/doc/frequently_asked_questions.html
   trunk/libs/exception/doc/functions.html
   trunk/libs/exception/doc/get_error_info.html
   trunk/libs/exception/doc/headers.html
   trunk/libs/exception/doc/macros.html
   trunk/libs/exception/doc/motivation.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/throw_exception_hpp.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/exception/doc/using_virtual_inheritance_in_exception_types.html

Log:
for Version 1.39

Modified: trunk/libs/exception/doc/BOOST_THROW_EXCEPTION.html
==============================================================================
--- trunk/libs/exception/doc/BOOST_THROW_EXCEPTION.html (original)
+++ trunk/libs/exception/doc/BOOST_THROW_EXCEPTION.html Sun Jun 14 17:49:43 2009
@@ -33,9 +33,9 @@
 #else
#define <span class="RenoLink">BOOST_THROW_EXCEPTION</span>(x) ::boost::<span class="RenoLink"><a href="throw_exception.html">throw_exception</a></span>(x)
 #endif</pre>
-</div></div><p>This macro takes an exception object, records BOOST_CURRENT_FUNCTION, __FILE__ and __LINE__ in it, and forwards it to <span class="RenoLink"><a href="throw_exception.html">throw_exception</a></span>. To recover this information at the catch site, use <span class="RenoLink"><a href="get_error_info.html">get_error_info</a></span>; the information is also included in the message returned by <span class="RenoLink"><a href="diagnostic_information.html">diagnostic_information</a></span>.</p> +</div></div><p>这个宏以一个异常对象为参数,记录了当前的函数信息 BOOST_CURRENT_FUNCTION, 文件信息__FILE__ 和行号信息 __LINE__ , 并且把它们传 递给函数 <span class="RenoLink"><a href="throw_exception.html">throw_exception</a></span>. 为了在catch端恢复这 些数据, 可以使用函数 <span class="RenoLink"><a href="get_error_info.html">get_error_info</a></span>; 这些信息也包含在通过函 数 <span class="RenoLink"><a href="diagnostic_information.html">diagnostic_information</a></span>得到的返 回消息中.</p>
 </div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>See Also:</h3>
+<h3>参见:</h3>
<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/>
 </a><a href="throw_exception_hpp.html">boost/throw_exception.hpp<br/>
</a><a href="frequently_asked_questions.html">Frequently Asked Questions<br/>

Modified: trunk/libs/exception/doc/boost-exception.html
==============================================================================
--- trunk/libs/exception/doc/boost-exception.html       (original)
+++ trunk/libs/exception/doc/boost-exception.html       Sun Jun 14 17:49:43 2009
@@ -19,34 +19,34 @@
 <!-- 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"><h2>Introduction</h2>
-<p>The purpose of Boost Exception is to ease the design of exception class hierarchies and to help write exception handling and error reporting code.</p> -<p>It supports transporting of arbitrary data to the catch site, which is otherwise tricky due to the no-throw requirements (15.5.1) for exception types. Data can be added to any exception object, either directly in the throw-expression (15.1), or at a later time as the exception object propagates up the call stack.</p> -<p>The ability to add data to exception objects after they have been passed to throw is important, because often some of the information needed to handle an exception is unavailable in the context where the failure is detected. </p> -<p>Boost Exception also supports <span class="RenoLink"><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html";>N2179</a></span>-style <span class="RenoLink"><a href="tutorial_exception_ptr.html">copying</a></span> of exception objects, implemented non-intrusively and automatically by the boost::<span class="RenoLink"><a href="throw_exception.html">throw_exception</a></span> function.</p>
-<h2>Contents</h2>
-<div><ol><li><span class="RenoLink"><a href="motivation.html">Motivation</a></span></li> -<li>Tutorial<div><ol><li><span class="RenoLink"><a href="tutorial_transporting_data.html">Transporting of Arbitrary Data to the Catch Site</a></span></li> -<li><span class="RenoLink"><a href="tutorial_enable_error_info.html">Integrating Boost Exception in Existing Exception Class Hierarchies</a></span></li> -<li><span class="RenoLink"><a href="tutorial_exception_ptr.html">Transporting of Exceptions Between Threads</a></span></li> -<li><span class="RenoLink"><a href="exception_types_as_simple_semantic_tags.html">Exception Types as Simple Semantic Tags</a></span></li> -<li><span class="RenoLink"><a href="using_virtual_inheritance_in_exception_types.html">Using Virtual Inheritance in Exception Types</a></span></li> -<li><span class="RenoLink"><a href="tutorial_diagnostic_information.html">Diagnostic Information</a></span></li>
+<div class="RenoIncludeDIV"><h2>介绍</h2>
+<p>Boost Exception 的目的是为了简化层次化异常类的设计, 并帮助编写异常处理和 错误报告的代码.</p> +<p>Boost Exception支持向catch端任意数据的传递, 这一点因为标准(15.5.1)对异常 类型的无异常抛出保证而显得有点诡异(译者注,参见C++标准15.5.1对terminate()函数 调用的第一个解释:当要抛出的异常对象被评估之后,被捕获之前,一个用户的函数被执 行并抛出未捕获的异常.标准还给出了一个例子解释:当一个被抛出的异常对象的拷贝构 造函数抛出异常的时候.这个解释和例子真是够诡异的).无论是直接在throw语句之 内,或者在以后当异常对象传播到调用堆栈某个地方的时候, 都可以对异常对象添加任 何数据.</p> +<p>异常对象被抛出以后仍然可以被添加数据的能力是很重要的, 因为经常时在某些时 候错误被侦测到, 但是异常处理的某些信息却得不到. </p> +<p>Boost Exception 还支持 <span class="RenoLink"><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html";>N2179</a></span>-风 格的异常对象的 <span class="RenoLink"><a href="tutorial_exception_ptr.html">拷贝</a></span> , 这是通过函数 boost::<span class="RenoLink"><a href="throw_exception.html">throw_exception</a></span> 以一种非入侵和自动的 方式实现的.</p>
+<h2>内容</h2>
+<div><ol><li><span class="RenoLink"><a href="motivation.html">动机 </a></span></li> +<li>简介<div><ol><li><span class="RenoLink"><a href="tutorial_transporting_data.html">向catch端传递任意的数据 </a></span></li> +<li><span class="RenoLink"><a href="tutorial_enable_error_info.html">Boost Exception和已有的异常类体系的集成</a></span></li> +<li><span class="RenoLink"><a href="tutorial_exception_ptr.html">线程之间传 递异常</a></span></li> +<li><span class="RenoLink"><a href="exception_types_as_simple_semantic_tags.html">作为简单语义标记的异常类 型</a></span></li> +<li><span class="RenoLink"><a href="using_virtual_inheritance_in_exception_types.html">在异常类型之间使用 虚拟继承</a></span></li> +<li><span class="RenoLink"><a href="tutorial_diagnostic_information.html">调试信息</a></span></li>
 </ol></div>
 </li>
-<li>Documentation<div><ol><li>Class <span class="RenoLink"><a href="exception.html">exception</a></span></li> -<li>Throwing Exceptions<div><ol><li><span class="RenoLink"><a href="BOOST_THROW_EXCEPTION.html">BOOST_THROW_EXCEPTION</a></span></li> +<li>文档<div><ol><li>类 <span class="RenoLink"><a href="exception.html">exception</a></span></li> +<li>异常抛出<div><ol><li><span class="RenoLink"><a href="BOOST_THROW_EXCEPTION.html">BOOST_THROW_EXCEPTION</a></span></li> <li><span class="RenoLink"><a href="throw_exception.html">throw_exception</a></span></li>
 </ol></div>
 </li>
-<li>Transporting of Arbitrary Data to the Catch Site<div><ol><li><span class="RenoLink"><a href="error_info.html">error_info</a></span></li> +<li>向catch端传递任意的数据<div><ol><li><span class="RenoLink"><a href="error_info.html">error_info</a></span></li> <li><span class="RenoLink"><a href="exception_operator_shl.html">exception/operator&lt;&lt;</a></span></li> <li><span class="RenoLink"><a href="tuple_operator_shl.html">tuple/operator&lt;&lt;</a></span></li> <li><span class="RenoLink"><a href="get_error_info.html">get_error_info</a></span></li> <li><span class="RenoLink"><a href="enable_error_info.html">enable_error_info</a></span></li>
 </ol></div>
 </li>
-<li><span class="RenoLink"><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html";>N2179</a></span> Transporting of Exceptions between Threads<div><ol><li><span class="RenoLink"><a href="exception_ptr.html">exception_ptr</a></span></li> +<li><span class="RenoLink"><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html";>N2179</a></span> 在线程之间传递异常<div><ol><li><span class="RenoLink"><a href="exception_ptr.html">exception_ptr</a></span></li> <li><span class="RenoLink"><a href="enable_current_exception.html">enable_current_exception</a></span></li> <li><span class="RenoLink"><a href="current_exception.html">current_exception</a></span></li> <li><span class="RenoLink"><a href="copy_exception.html">copy_exception</a></span></li>
@@ -54,26 +54,26 @@
<li><span class="RenoLink"><a href="unknown_exception.html">unknown_exception</a></span></li>
 </ol></div>
 </li>
-<li>Diagnostic Information<div><ol><li><span class="RenoLink"><a href="diagnostic_information.html">diagnostic_information</a></span></li> +<li>调试信息<div><ol><li><span class="RenoLink"><a href="diagnostic_information.html">diagnostic_information</a></span></li> <li><span class="RenoLink"><a href="current_exception_diagnostic_information.html">current_exception_diagnostic_information</a></span></li>
 </ol></div>
 </li>
<li><span class="RenoLink"><a href="current_exception_cast.html">current_exception_cast</a></span></li>
 </ol></div>
 </li>
-<li>API<div><ol><li><span class="RenoLink"><a href="synopsis.html">Synopsis</a></span></li>
-<li><span class="RenoLink"><a href="headers.html">Headers</a></span></li>
-<li><span class="RenoLink"><a href="types.html">Types</a></span></li>
-<li><span class="RenoLink"><a href="functions.html">Functions</a></span></li>
-<li><span class="RenoLink"><a href="macros.html">Macros</a></span></li>
-<li><span class="RenoLink"><a href="configuration_macros.html">Configuration Macros</a></span></li> +<li>API<div><ol><li><span class="RenoLink"><a href="synopsis.html">概要 </a></span></li>
+<li><span class="RenoLink"><a href="headers.html">头文件</a></span></li>
+<li><span class="RenoLink"><a href="types.html">类型</a></span></li>
+<li><span class="RenoLink"><a href="functions.html">函数</a></span></li>
+<li><span class="RenoLink"><a href="macros.html">宏</a></span></li>
+<li><span class="RenoLink"><a href="configuration_macros.html">配置宏 </a></span></li>
 </ol></div>
 </li>
-<li><span class="RenoLink"><a href="frequently_asked_questions.html">Frequently Asked Questions</a></span></li> -<li><span class="RenoLink"><a href="page_idx.html">Page Index</a></span></li> +<li><span class="RenoLink"><a href="frequently_asked_questions.html">FAQ</a></span></li>
+<li><span class="RenoLink"><a href="page_idx.html">页索引</a></span></li>
 </ol></div>
-<h3>Acknowledgements</h3>
-<p>Thanks to Peter Dimov for his continuing help. Also thanks to Tobias Schwinger, Tom Brinkman, Pavel Vozenilek and everyone who participated in the review process.</p>
+<h3>致谢</h3>
+<p>感谢 Peter Dimov 持续不断的帮助. 同时感谢 Tobias Schwinger, Tom Brinkman, Pavel Vozenilek 和每个参与审阅过程的人.</p> </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) -->

Modified: trunk/libs/exception/doc/boost_exception_current_exception_cast_hpp.html
==============================================================================
--- trunk/libs/exception/doc/boost_exception_current_exception_cast_hpp.html (original) +++ trunk/libs/exception/doc/boost_exception_current_exception_cast_hpp.html Sun Jun 14 17:49:43 2009
@@ -21,7 +21,7 @@
<!-- 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/current_exception_cast.hpp</h2>
 </div>
-<h3>Synopsis</h3>
+<h3>摘要</h3>
 <div class="RenoIncludeDIV"><pre>namespace
 boost
     {
@@ -29,7 +29,7 @@
E * <span class="RenoLink"><a href="current_exception_cast.html">current_exception_cast</a></span>();</span></span>
     }</pre>
 </div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>See Also:</h3>
+<h3>参见:</h3>
<div class="RenoPageList"><a href="current_exception_cast.html">current_exception_cast<br/>
 </a><a href="synopsis.html">Synopsis<br/>
 </a></div>

Modified: trunk/libs/exception/doc/configuration_macros.html
==============================================================================
--- trunk/libs/exception/doc/configuration_macros.html  (original)
+++ trunk/libs/exception/doc/configuration_macros.html Sun Jun 14 17:49:43 2009
@@ -3,7 +3,7 @@
 <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>configuration macros</title>
+       <title>配置宏</title>
        <link href='reno.css' type='text/css' rel='stylesheet'/>
 </head>
 <body>
@@ -19,21 +19,21 @@
 <!-- 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>Configuration Macros</h2>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>配置宏</h2>
 </div>
-<p>Boost Exception responds to the following configuration macros:</p>
+<p>Boost Exception 依赖于以下的配置宏:</p>
<p><b>BOOST_NO_RTTI</b><span class="RenoBR">&nbsp;</span><br/><b>BOOST_NO_TYPEID</b></p> -<p>The first macro prevents Boost Exception from using dynamic_cast and dynamic typeid. If the second macro is also defined, Boost Exception does not use static typeid either. There are no observable degrading effects on the library functionality, except for the following:</p> -<blockquote><p>By default, the <span class="RenoLink"><a href="get_error_info.html">get_error_info</a></span> function template can be called with any exception type. If BOOST_NO_RTTI is defined, <span class="RenoLink"><a href="get_error_info.html">get_error_info</a></span> can be used only with objects of type boost::<span class="RenoLink"><a href="exception.html">exception</a></span>.</p></blockquote>
-<h4>Note:</h4>
-<p>The library needs RTTI functionality. Disabling the language RTTI support enables an internal RTTI system, which may have more or less overhead depending on the platform.</p> +<p>第一个宏禁止 Boost Exception 使用 dynamic_cast 和动态的 typeid. 如果第二 个宏也定义了,Boost Exception 也不会使用静态的 typeid. 这些对函数库的功能没 有显著的影响, 除了以下所述:</p> +<blockquote><p>默认情况下, 模板函数 <span class="RenoLink"><a href="get_error_info.html">get_error_info</a></span> 可用于任何的异常类型. 如果定义了 BOOST_NO_RTTI , 函数模版<span class="RenoLink"><a href="get_error_info.html">get_error_info</a></span> 只能用于 boost::<span class="RenoLink"><a href="exception.html">exception</a></span>类 型.</p></blockquote>
+<h4>注意:</h4>
+<p>本函数库需要 RTTI 功能. 禁止语言对 RTTI 的支持,会导致一个内部实现的 RTTI 系统, 这依赖于不同的平台,代价不一.</p>
 <p><b>BOOST_EXCEPTION_DISABLE</b></p>
-<p>By default, <span class="RenoLink"><a href="enable_current_exception.html">enable_current_exception</a></span> and <span class="RenoLink"><a href="enable_error_info.html">enable_error_info</a></span> are integrated directly in the <span class="RenoLink"><a href="throw_exception.html">throw_exception</a></span> function. Defining BOOST_EXCEPTION_DISABLE disables this integration.</p> -<p>Note that on some non-conformant compilers, for example MSVC 7.0 and older, as well as BCC, BOOST_EXCEPTION_DISABLE is implicitly defined in <span class="RenoLink"><a href="throw_exception_hpp.html">boost/throw_exception.hpp</a></span>.</p> +<p>默认情况下, <span class="RenoLink"><a href="enable_current_exception.html">enable_current_exception</a></span> 和 <span class="RenoLink"><a href="enable_error_info.html">enable_error_info</a></span> 直接和函数 <span class="RenoLink"><a href="throw_exception.html">throw_exception</a></span> 集成在一起. 定义宏 BOOST_EXCEPTION_DISABLE 会禁止这种集成.</p> +<p>注意在某些非标准的编译器上,例如 MSVC 7.0 或者更早的版本, 以及 BCC, 宏 BOOST_EXCEPTION_DISABLE 是在头文件 <span class="RenoLink"><a href="throw_exception_hpp.html">boost/throw_exception.hpp</a></span>中默认定 义的.</p>
 <p><b>BOOST_NO_EXCEPTIONS</b></p>
-<p>This macro disables exception handling in Boost, forwarding all exceptions to a user-defined non-template version of boost::<span class="RenoLink"><a href="throw_exception.html">throw_exception</a></span>. However, unless BOOST_EXCEPTION_DISABLE is also defined, users can still examine the exception object for any data added at the point of the throw, or use boost::<span class="RenoLink"><a href="diagnostic_information.html">diagnostic_information</a></span> (of course under BOOST_NO_EXCEPTIONS, the user-defined boost::throw_exception is not allowed to return to the caller.)</p> +<p>这个宏将禁止Boost的异常机制, 导致所有的异常调用去执行一个用户定义的非模 版函数 boost::<span class="RenoLink"><a href="throw_exception.html">throw_exception</a></span>. 然而, 除非宏 BOOST_EXCEPTION_DISABLE 也被定义, 否则用户在异常抛出点仍然可以使用添加在异常 对象上的任何数据, 或者使用相关函数 boost::<span class="RenoLink"><a href="diagnostic_information.html">diagnostic_information</a></span> (当 然,如果定义了 BOOST_NO_EXCEPTIONS, 用户定义的函数 boost::throw_exception 不 允许返回给调用者.)</p>
 </div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>See Also:</h3>
+<h3>参见:</h3>
<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/>
 </a><a href="get_error_info.html">get_error_info<br/>
 </a></div>

Modified: trunk/libs/exception/doc/copy_exception.html
==============================================================================
--- trunk/libs/exception/doc/copy_exception.html        (original)
+++ trunk/libs/exception/doc/copy_exception.html        Sun Jun 14 17:49:43 2009
@@ -28,8 +28,8 @@
 <span class="RenoIncludeSPAN">    template &lt;class T&gt;
<span class="RenoLink"><a href="exception_ptr.html">exception_ptr</a></span> <span class="RenoLink">copy_exception</span>( T const &amp; e );</span>
     }</pre>
-</div><h4>Effects:</h4>
-<p>As if</p>
+</div><h4>效果:</h4>
+<p>如下</p>
 <pre>try
     {
throw <span class="RenoLink"><a href="enable_current_exception.html">enable_current_exception</a></span>(e);
@@ -39,7 +39,7 @@
return <span class="RenoLink"><a href="current_exception.html">current_exception</a></span>();
     }</pre>
 </div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>See Also:</h3>
+<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></div>

Modified: trunk/libs/exception/doc/current_exception.html
==============================================================================
--- trunk/libs/exception/doc/current_exception.html     (original)
+++ trunk/libs/exception/doc/current_exception.html     Sun Jun 14 17:49:43 2009
@@ -27,20 +27,29 @@
     {
<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>Requirements:</h4>
-<p>The <span class="RenoLink">current_exception</span> function must not be called outside of a catch block.</p>
-<h4>Returns:</h4>
-<div><ul><li> An <span class="RenoLink"><a href="exception_ptr.html">exception_ptr</a></span> that refers to the currently handled exception or a copy of the currently handled exception.</li> -<li> If the function needs to allocate memory and the attempt fails, it returns an <span class="RenoLink"><a href="exception_ptr.html">exception_ptr</a></span> that refers to an instance of std::bad_alloc.</li>
+</div><h4>要求:</h4>
+<p>在catch块的外部不能在调用函数 <span class="RenoLink">current_exception</span>.</p>
+<h4>返回值:</h4>
+<div><ul><li> 异常对象指针 <span class="RenoLink"><a href="exception_ptr.html">exception_ptr</a></span> ,指向当前处理的异常对象或 者其拷贝.</li> +<li> 如果函数需要分配内存,但是分配失败, <span class="RenoLink"><a href="exception_ptr.html">exception_ptr</a></span>
+    对象指向一个 std::bad_alloc 的实例.</li>
 </ul></div>
-<h4>Throws:</h4>
-<p>Nothing.</p>
-<h4>Notes:</h4>
-<div><ul><li> It is unspecified whether the return values of two successive calls to <span class="RenoLink">current_exception</span> refer to the same exception object.</li> -<li> Correct implementation of <span class="RenoLink">current_exception</span> may require compiler support, unless <span class="RenoLink"><a href="enable_current_exception.html">enable_current_exception</a></span> was used at the time the currently handled exception object was passed to throw. If <span class="RenoLink"><a href="enable_current_exception.html">enable_current_exception</a></span> was not used, and if the compiler does not provide the necessary support, then <span class="RenoLink">current_exception</span> may return an <span class="RenoLink"><a href="exception_ptr.html">exception_ptr</a></span> that refers to an instance of <span class="RenoLink"><a href="unknown_exception.html">unknown_exception</a></span>. In this case, if the original exception object derives from boost::<span class="RenoLink"><a href="exception.html">exception</a></span>, then the boost::<span class="RenoLink"><a href="exception.html">exception</a></span> sub-object of the <span class="RenoLink"><a href="unknown_exception.html">unknown_exception</a></span> object is initialized by the boost::<span class="RenoLink"><a href="exception.html">exception</a></span> copy constructor.</li>
+<h4>异常抛出:</h4>
+<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>
 </ul></div>
 </div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>See Also:</h3>
+<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/>

Modified: trunk/libs/exception/doc/current_exception_cast.html
==============================================================================
--- trunk/libs/exception/doc/current_exception_cast.html        (original)
+++ trunk/libs/exception/doc/current_exception_cast.html Sun Jun 14 17:49:43 2009
@@ -28,14 +28,14 @@
 <span class="RenoIncludeSPAN">    template &lt;class E&gt;
     E * <span class="RenoLink">current_exception_cast</span>();</span>
     }</pre>
-</div><h4>Requirements:</h4>
-<p>This function must not be called outside of a catch block.</p>
-<h4>Returns:</h4>
-<p>A pointer of type E to the current exception object, or null if the current exception object can not be converted to E *.</p>
-<h4>Throws:</h4>
-<p>Nothing.</p>
+</div><h4>要求:</h4>
+<p>这个函数不能在catch块的外部调用.</p>
+<h4>返回值:</h4>
+<p>一个指向当前异常对象的E*类指针; 如果当前的异常对象不能转化为E*对象类 型,那么返回null.</p>
+<h4>异常抛出:</h4>
+<p>没有异常.</p>
 </div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>See Also:</h3>
+<h3>参见:</h3>
<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/> </a><a href="boost_exception_current_exception_cast_hpp.html">boost/exception/current_exception_cast.hpp<br/>
 </a></div>

Modified: trunk/libs/exception/doc/current_exception_diagnostic_information.html
==============================================================================
--- trunk/libs/exception/doc/current_exception_diagnostic_information.html (original) +++ trunk/libs/exception/doc/current_exception_diagnostic_information.html Sun Jun 14 17:49:43 2009
@@ -27,11 +27,11 @@
     {
<span class="RenoIncludeSPAN"> std::string <span class="RenoLink">current_exception_diagnostic_information</span>();</span>
     }</pre>
-</div><h4>Requirements:</h4>
-<p>This function must not be called outside of a catch block.</p>
-<h4>Returns:</h4>
-<p>If the current exception object can be converted to boost::<span class="RenoLink"><a href="exception.html">exception</a></span> or std::exception, this function returns the same string value returned by <span class="RenoLink"><a href="diagnostic_information.html">diagnostic_information</a></span> for the current exception object. Otherwise, an unspecified non-empty string is returned.</p> -<p>Typical use is to call <span class="RenoLink">current_exception_diagnostic_information</span> from a top-level function to output diagnostic information about unhandled exceptions:</p>
+</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()
     {
@@ -52,7 +52,7 @@
         }
     }</pre>
 </div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>See Also:</h3>
+<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/>
 </a></div>

Modified: trunk/libs/exception/doc/diagnostic_information.html
==============================================================================
--- trunk/libs/exception/doc/diagnostic_information.html        (original)
+++ trunk/libs/exception/doc/diagnostic_information.html Sun Jun 14 17:49:43 2009
@@ -28,28 +28,28 @@
 <span class="RenoIncludeSPAN">    template &lt;class E&gt;
std::string <span class="RenoLink">diagnostic_information</span>( E const &amp; e );</span>
     }</pre>
-</div><h4>Returns:</h4>
-<p>A string value that contains varying amount of implementation-specific diagnostic information about the passed exception object:</p> -<div><ul><li>If E can be statically converted to boost::<span class="RenoLink"><a href="exception.html">exception</a></span>, the returned value contains the string representations of all <span class="RenoLink"><a href="error_info.html">error_info</a></span> objects stored in the boost::<span class="RenoLink"><a href="exception.html">exception</a></span> through <span class="RenoLink"><a href="exception_operator_shl.html">operator&lt;&lt;</a></span>, along with other diagnostic information relevant to the exception. If e can be dynamically converted to std::exception, the returned value also contains the what() string.</li> -<li>Otherwise, if E can be statically converted std::exception:<div><ul><li>if e can be dynamically converted to boost::exception, the returned value is the same as if E could be statically converted to boost::<span class="RenoLink"><a href="exception.html">exception</a></span>;</li>
-<li>otherwise the returned value contains the what() string.</li>
+</div><h4>返回值:</h4>
+<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>
 </ul></div>
 </li>
-<li>Otherwise, the boost::<span class="RenoLink">diagnostic_information</span> template is not available.</li> +<li>否则, 函数模板 boost::<span class="RenoLink">diagnostic_information</span> 不可用.</li>
 </ul></div>
-<p>The string representation of each <span class="RenoLink"><a href="error_info.html">error_info</a></span> object is deduced by a function call that is bound at the time the <span class="RenoLink"><a href="error_info.html">error_info</a></span>&lt;Tag,T&gt; template is instantiated. The following overload resolutions are attempted in order:</p> -<div><ol><li>Unqualified call to to_string(x), where x is of type <span class="RenoLink"><a href="error_info.html">error_info</a></span>&lt;Tag,T&gt; (the return value is expected to be of type std::string.)</li> -<li>Unqualified call to to_string(x.<span class="RenoLink"><a href="error_info_value.html">value</a></span>()) (the return value is expected to be of type std::string.)</li> -<li>Unqualified call to s &lt;&lt; x.<span class="RenoLink"><a href="error_info_value.html">value</a></span>(), where s is a std::ostringstream.</li> +<p>每个 <span class="RenoLink"><a href="error_info.html">error_info</a></span> 对象的字符串表现是通过函数推导 出来的,函数绑定时间发生在模板 <span class="RenoLink"><a href="error_info.html">error_info</a></span>&lt;Tag,T&gt; 实例化的时候. 以下 的重载决议会依次执行:</p> +<div><ol><li>执行函数 to_string(x), x 是 <span class="RenoLink"><a href="error_info.html">error_info</a></span>&lt;Tag,T&gt; 类型的( 期望返回值 能够转换为 std::string 类型.)</li> +<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>The first successfully bound function is used at the time <span class="RenoLink">diagnostic_information</span> is called; if all 3 overload resolutions are unsuccessful, the system is unable to convert the <span class="RenoLink"><a href="error_info.html">error_info</a></span> object to string, and <i>an unspecified stub string value is used without issuing a compile error.</i></p>
-<h4>Notes:</h4>
-<div><ul><li>The format of the returned string is unspecified.</li>
-<li>The returned string is <i>not</i> user-friendly.</li>
-<li>The returned string may include additional platform-specific diagnostic information.</li> +<p>第一个成功绑定的函数会在函数 <span class="RenoLink">diagnostic_information</span> 被调用的是偶执行; 如果三个重 载决议都没有成功, 那么系统就不能成功转换 <span class="RenoLink"><a href="error_info.html">error_info</a></span> 对象为字符串信息, 那么 <i> 一个 未定义的存根字符串会被使用, 不会产生任何的编译错误.</i></p>
+<h4>注意:</h4>
+<div><ul><li>字符串的个格式是未定义的.</li>
+<li>返回的字符串并 <i>不是</i> 用户友好的.</li>
+<li>返回的字符串可能包含平台相关的信息.</li>
 </ul></div>
 <div class="RenoIncludeDIV"><h4>Example:</h4>
-<p>this is a possible output from the <span class="RenoLink">diagnostic_information</span> function, as used in <i>libs/exception/example/example_io.cpp:</i></p> +<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
@@ -58,7 +58,7 @@
 [struct tag_function *] = fopen
 [struct tag_open_mode *] = rb</pre>
 </div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>See Also:</h3>
+<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/>

Modified: trunk/libs/exception/doc/enable_current_exception.html
==============================================================================
--- trunk/libs/exception/doc/enable_current_exception.html      (original)
+++ trunk/libs/exception/doc/enable_current_exception.html Sun Jun 14 17:49:43 2009
@@ -28,12 +28,12 @@
 <span class="RenoIncludeSPAN">    template &lt;class T&gt;
---unspecified--- <span class="RenoLink">enable_current_exception</span>( T const &amp; e );</span>
     }</pre>
-</div><h4>Requirements:</h4>
-<p>T must be a class with an accessible no-throw copy constructor.</p>
-<h4>Returns:</h4>
-<p>An object of <i>unspecified</i> type which derives publicly from T. That is, the returned object can be intercepted by a catch(T &amp;).</p>
-<h4>Description:</h4>
-<p>This function is designed to be used directly in a throw-expression to enable the <span class="RenoLink"><a href="exception_ptr.html">exception_ptr</a></span> support in Boost Exception. For example:</p>
+</div><h4>要求:</h4>
+<p>T 的copy构造函数不能抛出异常,并且是可访问.</p>
+<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
@@ -42,11 +42,11 @@

 ....
throw boost::<span class="RenoLink">enable_current_exception</span>(my_exception());</pre> -<p>Unless <span class="RenoLink">enable_current_exception</span> is called at the time an exception object is used in a throw-expression, an attempt to copy it using <span class="RenoLink"><a href="current_exception.html">current_exception</a></span> may return an <span class="RenoLink"><a href="exception_ptr.html">exception_ptr</a></span> which refers to an instance of <span class="RenoLink"><a href="unknown_exception.html">unknown_exception</a></span>. See <span class="RenoLink"><a href="current_exception.html">current_exception</a></span> for details.</p>
-<h4>Note:</h4>
-<p>Instead of using the throw keyword directly, it is preferable to call boost::<span class="RenoLink"><a href="throw_exception.html">throw_exception</a></span>. This is guaranteed to throw an exception that derives from boost::<span class="RenoLink"><a href="exception.html">exception</a></span> and supports the <span class="RenoLink"><a href="exception_ptr.html">exception_ptr</a></span> functionality.</p> +<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>
-<h3>See Also:</h3>
+<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/>

Modified: trunk/libs/exception/doc/enable_error_info.html
==============================================================================
--- trunk/libs/exception/doc/enable_error_info.html     (original)
+++ trunk/libs/exception/doc/enable_error_info.html     Sun Jun 14 17:49:43 2009
@@ -28,16 +28,18 @@
 <span class="RenoIncludeSPAN">    template &lt;class T&gt;
---unspecified--- <span class="RenoLink">enable_error_info</span>( T const &amp; x );</span>
     }</pre>
-</div><h4>Requirements:</h4>
-<p>T must be a class with an accessible no-throw copy constructor as per (15.5.1).</p>
-<h4>Returns:</h4>
-<div><ul><li> If T derives from boost::<span class="RenoLink"><a href="exception.html">exception</a></span>, the returned object is of type T and is a copy of x.</li> -<li> Otherwise, the returned object is of an unspecified type that derives publicly from both T and boost::<span class="RenoLink"><a href="exception.html">exception</a></span>. The T sub-object is initialized from x by the T copy constructor.</li>
+</div><h4>要求:</h4>
+<p>T 的copy构造函数不能抛出异常,并且是可访问.参见(15.5.1).</p>
+<h4>返回值:</h4>
+<div><ul><li> 如果T继承自 boost::<span class="RenoLink"><a href="exception.html">exception</a></span>,
+    那么返回的对象是x的一个拷贝.</li>
+<li> 否则, 返回的对象类型不确定,但是确保共有继承自 T 和 boost::<span class="RenoLink"><a href="exception.html">exception</a></span>.
+    T类型的子对象通过T的构造函数初始化.</li>
 </ul></div>
-<h4>Throws:</h4>
-<p>Nothing.</p>
+<h4>异常抛出:</h4>
+<p>没有异常.</p>
 </div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>See Also:</h3>
+<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/>

Modified: trunk/libs/exception/doc/error_info.html
==============================================================================
--- trunk/libs/exception/doc/error_info.html    (original)
+++ trunk/libs/exception/doc/error_info.html    Sun Jun 14 17:49:43 2009
@@ -37,30 +37,30 @@
<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>
     }</pre>
-</div><h4>Requirements:</h4>
-<p>T must have accessible copy constructor and must not be a reference (there is no requirement that T's copy constructor does not throw.)</p>
-<h4>Description:</h4>
-<p>This class template is used to associate a Tag type with a value type T. Objects of type <span class="RenoLink">error_info</span>&lt;Tag,T&gt; can be passed to <span class="RenoLink"><a href="exception_operator_shl.html">operator&lt;&lt;</a></span> to be stored in objects of type boost::<span class="RenoLink"><a href="exception.html">exception</a></span>.</p>
-<h4>Usage:</h4>
-<p>The header &lt;<span class="RenoLink"><a href="exception_error_info_value_hpp.html">boost/exception/error_info.hpp</a></span>&gt; provides a declaration of the <span class="RenoLink">error_info</span> template, which is sufficient for the purpose of typedefing an instance for specific Tag and T, for example:</p>
+</div><h4>要求:</h4>
+<p>T 的拷贝构造函数必须是可访问的, 并且不能是引用(T的拷贝构造是否抛出异常不 是必须的).</p>
+<h4>描述:</h4>
+<p>这个模板类的目的是把一个Tag类型和一个T类型的变量结合在一起.&nbsp; <span class="RenoLink"><a href="error_info.html">error_info</a></span>&lt;Tag,T&gt; 类型的对象可以传递 给流式操作符 <span class="RenoLink"><a href="operator_shl_exception.html">operator&lt;&lt;</a></span> ,从而把值存储 在 boost::<span class="RenoLink"><a href="exception.html">exception</a> </span> 对象里面.</p>
+<h4>使用方法:</h4>
+<p>头文件 &lt;<span class="RenoLink"><a href="exception_error_info_value_hpp.html">boost/exception/error_info.hpp</a></span>&gt; 提供了模板类 <span class="RenoLink"><a href="error_info.html">error_info</a></span> 的声明, 这对于提供基于Tag和T的 类型别名声明是足够的,如下:</p> <pre>#include &lt;<span class="RenoLink"><a href="exception_error_info_value_hpp.html">boost/exception/error_info.hpp</a></span>&gt;

 struct tag_errno;
typedef boost::<span class="RenoLink">error_info</span>&lt;tag_errno,int&gt; errno_info;</pre>
-<p>Or, the shorter equivalent:</p>
+<p>或者,更加简练一些:</p>
<pre>#include &lt;<span class="RenoLink"><a href="exception_error_info_value_hpp.html">boost/exception/error_info.hpp</a></span>&gt;

typedef boost::<span class="RenoLink">error_info</span>&lt;struct tag_errno,int&gt; errno_info;</pre> -<p>This errno_info typedef can be passed to <span class="RenoLink"><a href="exception_operator_shl.html">operator&lt;&lt;</a></span> (#include &lt;<span class="RenoLink"><a href="exception_error_info_hpp.html">boost/exception/info.hpp</a></span>&gt; first) to store an int named tag_errno in exceptions of types that derive from boost::<span class="RenoLink"><a href="exception.html">exception</a></span>:</p> +<p>errno_info 类型对象可以传递给流式操作符 <span class="RenoLink"><a href="exception_operator_shl.html">operator&lt;&lt;</a></span> (#include &lt;<span class="RenoLink"><a href="exception_error_info_hpp.html">boost/exception/info.hpp</a></span>&gt; first) ,把命名为 tag_errno 的整型变量存储在从 boost::<span class="RenoLink"><a href="exception.html">exception</a></span>继承的对象里 面:</p> <pre>throw file_read_error() <span class="RenoLink"><a href="exception_operator_shl.html">&lt;&lt;</a></span> errno_info(errno);</pre> -<p>It can also be passed to <span class="RenoLink"><a href="get_error_info.html">get_error_info</a></span> (#include &lt;<span class="RenoLink"><a href="exception_get_error_info_hpp.html">boost/exception/get_error_info.hpp</a></span>&gt; first) to retrieve the tag_errno int from a boost::<span class="RenoLink"><a href="exception.html">exception</a></span>:</p> +<p>它也可以传递给函数 <span class="RenoLink"><a href="get_error_info.html">get_error_info</a></span> (#include &lt;<span class="RenoLink"><a href="exception_get_error_info_hpp.html">boost/exception/get_error_info.hpp</a></span>&gt; first) ,从 boost::<span class="RenoLink"><a href="exception.html">exception</a></span> 对象抽取tag_errno数值:</p> <pre>catch( boost::<span class="RenoLink"><a href="exception.html">exception</a></span> &amp; x )
     {
if( int const * e=boost::<span class="RenoLink"><a href="get_error_info.html">get_error_info</a></span>&lt;errno_info&gt;(x) )
         ....
     }</pre>
 </div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>See Also:</h3>
+<h3>参见:</h3>
<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/> </a><a href="exception_error_info_value_hpp.html">boost/exception/error_info.hpp<br/> </a><a href="exception_exception_hpp.html">boost/exception/exception.hpp<br/>

Modified: trunk/libs/exception/doc/error_info_error_info.html
==============================================================================
--- trunk/libs/exception/doc/error_info_error_info.html (original)
+++ trunk/libs/exception/doc/error_info_error_info.html Sun Jun 14 17:49:43 2009
@@ -23,12 +23,12 @@
 </div>
<div class="RenoIncludeDIV"><p><span class="RenoEscape">&#35;<!--<wiki>`&#35;</wiki>--></span>include &lt;<span class="RenoLink"><a href="exception_error_info_hpp.html">boost/exception/info.hpp</a></span>&gt;</p> <pre><span class="RenoIncludeSPAN"><span class="RenoLink">error_info</span>( <span class="RenoLink"><a href="error_info_value_type.html">value_type</a></span> const &amp; v );</span></pre>
-</div><h4>Effects:</h4>
-<p>Stores a copy of v in the <span class="RenoLink"><a href="error_info.html">error_info</a></span> object.</p>
-<div class="RenoIncludeDIV"><h4>Throws:</h4>
-<p>Any exception emitted by v's copy constructor.</p>
+</div><h4>效果:</h4>
+<p>在类型 <span class="RenoLink"><a href="error_info.html">error_info</a></span> 对象中存储v值的拷贝.</p>
+<div class="RenoIncludeDIV"><h4>异常抛出:</h4>
+<p>由 v 的拷贝构造函数引发的任何异常对象.</p>
 </div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>See Also:</h3>
+<h3>参见:</h3>
 <div class="RenoPageList"><a href="error_info.html">error_info<br/>
 </a></div>
 </div>

Modified: trunk/libs/exception/doc/error_info_value.html
==============================================================================
--- trunk/libs/exception/doc/error_info_value.html      (original)
+++ trunk/libs/exception/doc/error_info_value.html      Sun Jun 14 17:49:43 2009
@@ -23,12 +23,12 @@
 </div>
<div class="RenoIncludeDIV"><p><span class="RenoEscape">&#35;<!--<wiki>`&#35;</wiki>--></span>include &lt;<span class="RenoLink"><a href="exception_error_info_hpp.html">boost/exception/info.hpp</a></span>&gt;</p> <pre><span class="RenoIncludeSPAN"><span class="RenoLink"><a href="error_info_value_type.html">value_type</a></span> const &amp; <span class="RenoLink">value</span>() const;</span></pre>
-</div><h4>Description:</h4>
-<p>Returns a const reference to the copy of the value passed to <span class="RenoLink"><a href="error_info.html">error_info</a></span>'s constructor stored in the <span class="RenoLink"><a href="error_info.html">error_info</a></span> object.</p>
-<h4>Throws:</h4>
-<p>Nothing.</p>
+</div><h4>描述:</h4>
+<p>返回一个存储在 <span class="RenoLink"><a href="error_info.html">error_info</a></span> 对象中的常量引用, 这个数值是在 <span class="RenoLink"><a href="error_info.html">error_info</a></span> 对象 构造函数中引进的.</p>
+<h4>异常抛出:</h4>
+<p>没有异常.</p>
 </div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>See Also:</h3>
+<h3>参见:</h3>
<div class="RenoPageList"><a href="diagnostic_information.html">diagnostic_information<br/>
 </a><a href="error_info.html">error_info<br/>
 </a></div>

Modified: trunk/libs/exception/doc/error_info_value_type.html
==============================================================================
--- trunk/libs/exception/doc/error_info_value_type.html (original)
+++ trunk/libs/exception/doc/error_info_value_type.html Sun Jun 14 17:49:43 2009
@@ -24,9 +24,9 @@
<div class="RenoIncludeDIV"><p><span class="RenoEscape">&#35;<!--<wiki>`&#35;</wiki>--></span>include &lt;<span class="RenoLink"><a href="exception_error_info_hpp.html">boost/exception/info.hpp</a></span>&gt;</p> <pre><span class="RenoIncludeSPAN">typedef T <span class="RenoLink">value_type</span>;</span></pre>
 </div><h4>Definition:</h4>
-<p>The expression <span class="RenoLink"><a href="error_info.html">error_info</a></span>&lt;Tag,T&gt;::<span class="RenoLink">value_type</span> evaluates to T.</p> +<p>表达式 <span class="RenoLink"><a href="error_info.html">error_info</a></span>&lt;Tag,T&gt;::<span class="RenoLink">value_type</span> 等同于 T.</p>
 </div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>See Also:</h3>
+<h3>参见:</h3>
 <div class="RenoPageList"><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/>

Modified: trunk/libs/exception/doc/exception.html
==============================================================================
--- trunk/libs/exception/doc/exception.html     (original)
+++ trunk/libs/exception/doc/exception.html     Sun Jun 14 17:49:43 2009
@@ -35,11 +35,11 @@
<span class="RenoIncludeSPAN"> <span class="RenoLink"><a href="exception_destructor.html">~exception</a></span>();</span>
         };</span>
     }</pre>
-</div><p>Class boost::<span class="RenoLink">exception</span> is designed to be used as a universal base for user-defined exception types.</p> -<p>An object of any type deriving from boost::<span class="RenoLink">exception</span> can store data of arbitrary types, using the <span class="RenoLink"><a href="error_info.html">error_info</a></span> wrapper and <span class="RenoLink"><a href="exception_operator_shl.html">operator&lt;&lt;</a></span>.</p> -<p>To retrieve data from a boost::<span class="RenoLink">exception</span> object, use the <span class="RenoLink"><a href="get_error_info.html">get_error_info</a></span> function template.</p> +</div><p>&nbsp;boost::<span class="RenoLink"><a href="exception.html">exception</a></span>类被设计为用户自定义异常类型的基 类.</p> +<p>通过 <span class="RenoLink"><a href="error_info.html">error_info</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> 继承的异常类可以存储任何类型的数据.</p> +<p>要从 boost::<span class="RenoLink"><a href="exception.html">exception</a></span> 对象获取数据, 使用模板函数 <span class="RenoLink"><a href="get_error_info.html">get_error_info</a></span>
 </div><div class="RenoHR"><hr/></div>
-<h3>See Also:</h3>
+<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/> </a><a href="exception_exception_hpp.html">boost/exception/exception.hpp<br/>

Modified: trunk/libs/exception/doc/exception_cloning_hpp.html
==============================================================================
--- trunk/libs/exception/doc/exception_cloning_hpp.html (original)
+++ trunk/libs/exception/doc/exception_cloning_hpp.html Sun Jun 14 17:49:43 2009
@@ -21,7 +21,7 @@
<!-- 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>
+<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
@@ -45,7 +45,7 @@
<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>
+<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/>

Modified: trunk/libs/exception/doc/exception_constructors.html
==============================================================================
--- trunk/libs/exception/doc/exception_constructors.html        (original)
+++ trunk/libs/exception/doc/exception_constructors.html Sun Jun 14 17:49:43 2009
@@ -23,14 +23,14 @@
 </div>
 <div class="RenoIncludeDIV"><pre><span class="RenoLink">exception</span>();
<span class="RenoLink">exception</span>( <span class="RenoLink"><a href="exception.html">exception</a></span> const &amp; x );</pre>
-</div><h4>Effects:</h4>
-<div><ul><li> Default constructor: initializes an empty boost::<span class="RenoLink"><a href="exception.html">exception</a></span> object.</li> -<li> Copy constructor: initializes a boost::<span class="RenoLink"><a href="exception.html">exception</a></span> object which shares ownership with x of all data added through <span class="RenoLink"><a href="exception_operator_shl.html">operator&lt;&lt;</a></span>, including data that is added at a future time.</li>
+</div><h4>效果:</h4>
+<div><ul><li> 默认构造器,初始化一个空的 boost::<span class="RenoLink"><a href="exception.html">exception</a></span> 对象.</li> +<li> 拷贝构造器,初始化一个 boost::<span class="RenoLink"><a href="exception.html">exception</a></span> 对象,共享x的所有数据,包括通过流式 操作符<span class="RenoLink"><a href="exception_operator_shl.html">operator&lt;&lt;</a></span> 添加的数据, 以及以后添加的数据.</li>
 </ul></div>
-<h4>Throws:</h4>
-<p>Nothing.</p>
+<h4>异常抛出:</h4>
+<p>没有异常.</p>
 </div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>See Also:</h3>
+<h3>参见:</h3>
 <div class="RenoPageList"><a href="exception.html">exception<br/>
 </a></div>
 </div>

Modified: trunk/libs/exception/doc/exception_destructor.html
==============================================================================
--- trunk/libs/exception/doc/exception_destructor.html  (original)
+++ trunk/libs/exception/doc/exception_destructor.html Sun Jun 14 17:49:43 2009
@@ -22,12 +22,12 @@
<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>exception::~exception</h3>
 </div>
<div class="RenoIncludeDIV"><pre><span class="RenoLink">~exception</span>();</pre>
-</div><h4>Effects:</h4>
-<p>Frees all resources associated with a boost::<span class="RenoLink"><a href="exception.html">exception</a></span> object.</p>
-<h4>Throws:</h4>
-<p>Nothing.</p>
+</div><h4>效果:</h4>
+<p>释放所有和 boost::<span class="RenoLink"><a href="exception.html">exception</a></span> 对象关联的资源.</p>
+<h4>异常抛出:</h4>
+<p>没有异常.</p>
 </div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>See Also:</h3>
+<h3>参见:</h3>
 <div class="RenoPageList"><a href="exception.html">exception<br/>
 </a></div>
 </div>

Modified: trunk/libs/exception/doc/exception_diagnostic_information_hpp.html
==============================================================================
--- trunk/libs/exception/doc/exception_diagnostic_information_hpp.html (original) +++ trunk/libs/exception/doc/exception_diagnostic_information_hpp.html Sun Jun 14 17:49:43 2009
@@ -21,7 +21,7 @@
<!-- 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>
+<h3>摘要</h3>
 <div class="RenoIncludeDIV"><pre>#include &lt;string&gt;

 namespace
@@ -35,7 +35,7 @@
<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>
+<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/>

Modified: trunk/libs/exception/doc/exception_enable_current_exception_hpp.html
==============================================================================
--- trunk/libs/exception/doc/exception_enable_current_exception_hpp.html (original) +++ trunk/libs/exception/doc/exception_enable_current_exception_hpp.html Sun Jun 14 17:49:43 2009
@@ -21,7 +21,7 @@
<!-- 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>
+<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
@@ -31,7 +31,7 @@
---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>
+<h3>参见:</h3>
<div class="RenoPageList"><a href="enable_current_exception.html">enable_current_exception<br/>
 </a><a href="synopsis.html">Synopsis<br/>
 </a></div>

Modified: trunk/libs/exception/doc/exception_enable_error_info_hpp.html
==============================================================================
--- trunk/libs/exception/doc/exception_enable_error_info_hpp.html       
(original)
+++ trunk/libs/exception/doc/exception_enable_error_info_hpp.html Sun Jun 14 17:49:43 2009
@@ -21,7 +21,7 @@
<!-- 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>
+<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
@@ -31,7 +31,7 @@
---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>
+<h3>参见:</h3>
<div class="RenoPageList"><a href="enable_error_info.html">enable_error_info<br/>
 </a><a href="synopsis.html">Synopsis<br/>
 </a></div>

Modified: trunk/libs/exception/doc/exception_error_info_group_hpp.html
==============================================================================
--- trunk/libs/exception/doc/exception_error_info_group_hpp.html        
(original)
+++ trunk/libs/exception/doc/exception_error_info_group_hpp.html Sun Jun 14 17:49:43 2009
@@ -21,7 +21,7 @@
<!-- 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>
+<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;

@@ -36,7 +36,7 @@
<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>
+<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/>

Modified: trunk/libs/exception/doc/exception_error_info_hpp.html
==============================================================================
--- trunk/libs/exception/doc/exception_error_info_hpp.html      (original)
+++ trunk/libs/exception/doc/exception_error_info_hpp.html Sun Jun 14 17:49:43 2009
@@ -21,7 +21,7 @@
<!-- 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>
+<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
@@ -43,7 +43,7 @@
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>
+<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/>

Modified: trunk/libs/exception/doc/exception_error_info_value_hpp.html
==============================================================================
--- trunk/libs/exception/doc/exception_error_info_value_hpp.html        
(original)
+++ trunk/libs/exception/doc/exception_error_info_value_hpp.html Sun Jun 14 17:49:43 2009
@@ -21,7 +21,7 @@
<!-- 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>
+<h3>摘要</h3>
 <div class="RenoIncludeDIV"><pre>namespace
 boost
     {
@@ -29,7 +29,7 @@
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>
+<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/>

Modified: trunk/libs/exception/doc/exception_exception_hpp.html
==============================================================================
--- trunk/libs/exception/doc/exception_exception_hpp.html       (original)
+++ trunk/libs/exception/doc/exception_exception_hpp.html Sun Jun 14 17:49:43 2009
@@ -21,7 +21,7 @@
<!-- 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>
+<h3>摘要</h3>
 <div class="RenoIncludeDIV"><pre>namespace
 boost
     {
@@ -43,7 +43,7 @@
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>See Also:</h3>
+<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/>

Modified: trunk/libs/exception/doc/exception_get_error_info_hpp.html
==============================================================================
--- trunk/libs/exception/doc/exception_get_error_info_hpp.html  (original)
+++ trunk/libs/exception/doc/exception_get_error_info_hpp.html Sun Jun 14 17:49:43 2009
@@ -21,7 +21,7 @@
<!-- 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>
+<h3>摘要</h3>
 <div class="RenoIncludeDIV"><pre>#include &lt;boost/shared_ptr.hpp&gt;

 namespace
@@ -31,7 +31,7 @@
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>
+<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>

Modified: trunk/libs/exception/doc/exception_hpp.html
==============================================================================
--- trunk/libs/exception/doc/exception_hpp.html (original)
+++ trunk/libs/exception/doc/exception_hpp.html Sun Jun 14 17:49:43 2009
@@ -21,7 +21,7 @@
<!-- 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>Synopsis</h3>
+<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;
@@ -30,7 +30,7 @@
#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>See Also:</h3>
+<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/>

Modified: trunk/libs/exception/doc/exception_operator_shl.html
==============================================================================
--- trunk/libs/exception/doc/exception_operator_shl.html        (original)
+++ trunk/libs/exception/doc/exception_operator_shl.html Sun Jun 14 17:49:43 2009
@@ -28,16 +28,16 @@
<span class="RenoIncludeSPAN"> template &lt;class E, class Tag, class T&gt; E const &amp; <span class="RenoLink">operator&lt;&lt;</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>
     }</pre>
-</div><h4>Requirements:</h4>
-<p>E must be boost::<span class="RenoLink"><a href="exception.html">exception</a></span>, or a type that derives (indirectly) from boost::<span class="RenoLink"><a href="exception.html">exception</a></span>.</p>
-<h4>Effects:</h4>
-<p>Stores a copy of v into x. If x already contains data of type <span class="RenoLink"><a href="error_info.html">error_info</a></span>&lt;Tag,T&gt;, that data is overwritten.</p>
-<h4>Returns:</h4>
+</div><h4>要求:</h4>
+<p>E 必须是 boost::<span class="RenoLink"><a href="exception.html">exception</a></span> 类型, 或者是从 boost::<span class="RenoLink"><a href="exception.html">exception</a></span>继承的类 型.</p>
+<h4>效果:</h4>
+<p>把v的拷贝存储在x对象中. 如果已经存在这种 <span class="RenoLink"><a href="error_info.html">error_info</a></span>&lt;Tag,T&gt; 类型的数据, 原来的 数据就被覆盖.</p>
+<h4>返回值:</h4>
 <p>x.</p>
-<div class="RenoIncludeDIV"><h4>Throws:</h4>
-<p>std::bad_alloc, or any exception emitted by the T copy constructor.</p>
+<div class="RenoIncludeDIV"><h4>异常抛出:</h4>
+<p>std::bad_alloc, 或者通过T的拷贝构造函数抛出的任何异常.</p>
 </div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>See Also:</h3>
+<h3>参见:</h3>
<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/>
 </a><a href="exception_error_info_hpp.html">boost/exception/info.hpp<br/>
</a><a href="tutorial_diagnostic_information.html">Diagnostic Information<br/>

Modified: trunk/libs/exception/doc/exception_ptr.html
==============================================================================
--- trunk/libs/exception/doc/exception_ptr.html (original)
+++ trunk/libs/exception/doc/exception_ptr.html Sun Jun 14 17:49:43 2009
@@ -27,16 +27,16 @@
     {
<span class="RenoIncludeSPAN"> typedef ---unspecified--- <span class="RenoLink">exception_ptr</span>;</span>
     }</pre>
-</div><p>The <span class="RenoLink">exception_ptr</span> type can be used to refer to a copy of an exception object. It is Default Constructible, Copy Constructible, Assignable and Equality Comparable; <span class="RenoLink">exception_ptr</span>'s operations do not throw.</p> -<p>Two instances of <span class="RenoLink">exception_ptr</span> are equivalent and compare equal if and only if they refer to the same exception.</p> -<p>The default constructor of <span class="RenoLink">exception_ptr</span> produces the null value of the type. The null value is equivalent only to itself.</p>
-<h4>Thread safety</h4>
-<div><ul><li> It is legal for multiple threads to hold <span class="RenoLink">exception_ptr</span> references to the same exception object.</li> -<li> It is illegal for multiple threads to modify the same <span class="RenoLink">exception_ptr</span> object concurrently.</li> -<li> While calling <span class="RenoLink"><a href="current_exception.html">current_exception</a></span> makes a copy of the current exception object, it is still possible for the two copies to share internal state. Therefore, in general it is not safe to call <span class="RenoLink"><a href="rethrow_exception.html">rethrow_exception</a></span> concurrently to throw the same exception object into multiple threads.</li> +</div><p><span class="RenoLink">exception_ptr</span>类型用来指向异常对象的 拷贝. 它符合 Default Constructible, Copy Constructible, Assignable 和 Equality Comparable 概念的要求; <span class="RenoLink">exception_ptr</span> 类型的操作不抛出异常.</p> +<p>两个 <span class="RenoLink">exception_ptr</span> 类型的实例被认为是相等 的,当且仅当它们指向同一个异常对.</p> +<p><span class="RenoLink">exception_ptr</span> 的默认构造函数初始化一个 null 值的对象, 并且只是和自身相等.</p>
+<h4>线程安全</h4>
+<div><ul><li> 多个线程可以合法的拥有多个 <span class="RenoLink">exception_ptr</span> 类型的实例, 它们指向同一个异常对 象.</li> +<li> 多个线程可以并发的修改同一个 <span class="RenoLink">exception_ptr</span> 类型的对象.</li> +<li> 调用函数 <span class="RenoLink"><a href="current_exception.html">current_exception</a></span> 会产生当前异常对 象的拷贝, 两个拷贝可能共享同一的内部状态. 因此在并发环境中,通过函数 <span class="RenoLink"><a href="rethrow_exception.html">rethrow_exception</a></span> 向多个线程重新抛 出异常并不安全.</li>
 </ul></div>
 </div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>See Also:</h3>
+<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/>

Modified: trunk/libs/exception/doc/exception_types_as_simple_semantic_tags.html
==============================================================================
--- trunk/libs/exception/doc/exception_types_as_simple_semantic_tags.html (original) +++ trunk/libs/exception/doc/exception_types_as_simple_semantic_tags.html Sun Jun 14 17:49:43 2009
@@ -21,16 +21,16 @@
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) --> <div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>Exception Types as Simple Semantic Tags</h3>
 </div>
-<p>Deriving from boost::<span class="RenoLink"><a href="exception.html">exception</a></span> effectively decouples the semantics of a failure from the information that is relevant to each individual instance of reporting a failure with a given semantic.</p> -<p>In other words: with boost::<span class="RenoLink"><a href="exception.html">exception</a></span>, what data a given exception object transports depends primarily on the context in which failures are reported (not on its type.) Since exception types need no members, it becomes very natural to throw exceptions that derive from more than one type to indicate multiple appropriate semantics:</p> +<p>从 boost::<span class="RenoLink"><a href="exception.html">exception</a></span> 继承异常类型, 可以高效的对多个语 义解耦, 使得单个异常类型只是报告一种给定的错误语义.</p> +<p>换句话说: 使用 boost::<span class="RenoLink"><a href="exception.html">exception</a></span>, 给定异常对象所传递的信息基本上依 赖于错误发生的上下文(而不是其类型.) 既然异常类型不需要数据成员, 那么很自然 的,抛出的异常对象可以从多个类型继承, 以表达不同的语义:</p> <pre>struct exception_base: virtual std::exception, virtual boost::<span class="RenoLink"><a href="exception.html">exception</a></span> { };
 struct io_error: virtual exception_base { };
 struct file_error: virtual io_error { };
 struct read_error: virtual io_error { };
 struct file_read_error: virtual file_error, virtual read_error { };</pre>
-<p>Using this approach, exception types become a simple tagging system for categorizing errors and selecting failures in exception handlers.</p> +<p>使用这种方法, 异常类型就成为一个简单的标签系统,用来进行错误分类和异常处 理.</p>
 </div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>See Also:</h3>
+<h3>参见:</h3>
<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/>
 </a><a href="motivation.html">Motivation<br/>
</a><a href="using_virtual_inheritance_in_exception_types.html">Using Virtual Inheritance in Exception Types<br/>

Modified: trunk/libs/exception/doc/frequently_asked_questions.html
==============================================================================
--- trunk/libs/exception/doc/frequently_asked_questions.html    (original)
+++ trunk/libs/exception/doc/frequently_asked_questions.html Sun Jun 14 17:49:43 2009
@@ -3,7 +3,7 @@
 <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>frequently asked questions</title>
+       <title>常问问题</title>
        <link href='reno.css' type='text/css' rel='stylesheet'/>
 </head>
 <body>
@@ -21,29 +21,29 @@
<!-- file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) --> <div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>Frequently Asked Questions</h2>
 </div>
-<h3>Why doesn't boost::exception derive from std::exception?</h3>
-<p>Despite that <span class="RenoLink"><a href="using_virtual_inheritance_in_exception_types.html">virtual inheritance should be used in deriving from base exception types</a></span>, many programmers fail to follow this principle when deriving from std::exception. If boost::<span class="RenoLink"><a href="exception.html">exception</a></span> derives from std::exception, using the <span class="RenoLink"><a href="enable_error_info.html">enable_error_info</a></span> function with such user-defined types would introduce dangerous ambiguity which would break all catch(std::exception &amp;) statements.</p> -<p>Of course, boost::<span class="RenoLink"><a href="exception.html">exception</a></span> should not be used to replace std::exception as a base type in exception type hierarchies. Instead, it should be included as a virtual base, in addition to std::exception (which should also be derived virtually.)</p>
-<h3>Why is boost::exception abstract?</h3>
-<p>To prevent exception-neutral contexts from erroneously erasing the type of the original exception when adding <span class="RenoLink"><a href="error_info.html">error_info</a></span> to an active exception object:</p>
+<h3>为什么 boost::exception 不是从std::exception 继承?</h3>
+<p>尽管 <span class="RenoLink"><a href="using_virtual_inheritance_in_exception_types.html">应该对基类异常使用 虚拟继承</a></span>, 但是很多的程序员从 std::exception 继承的时候都忘记了这 条原则. 如果 boost::<span class="RenoLink"><a href="exception.html">exception</a></span>从 std::exception 继承, 对用户定义 的异常类型使用函数 <span class="RenoLink"><a href="enable_error_info.html">enable_error_info</a></span> 就会引入歧义, 从 而破坏函数 catch(std::exception &amp;) 执行.</p> +<p>当然, boost::<span class="RenoLink"><a href="exception.html">exception</a></span> 不应该在异常体系中作为基类类型替 换 std::exception . 相反, 它应该是作为虚拟基类和 std::exception 一起使 用.(std::exception也应该被虚拟继承.)</p>
+<h3>为什么 boost::exception 是抽象类 ?</h3>
+<p>在异常中立的上下文中,向当前活动的异常对象添加 <span class="RenoLink"><a href="error_info.html">error_info</a></span> 信息的时候, 很容易错误的删除异 常的类型, 因此boost::exception 被设计为抽象类. 如下所示:</p> <pre>catch( boost::<span class="RenoLink"><a href="exception.html">exception</a></span> &amp; e )
     {
e <span class="RenoLink"><a href="exception_operator_shl.html">&lt;&lt;</a></span> foo_info(foo); throw e; //Compile error: boost::<span class="RenoLink"><a href="exception.html">exception</a></span> is abstract
     }</pre>
-<p>The correct code is:</p>
+<p>正确的做法是:</p>
<pre>catch( boost::<span class="RenoLink"><a href="exception.html">exception</a></span> &amp; e )
     {
e <span class="RenoLink"><a href="exception_operator_shl.html">&lt;&lt;</a></span> foo_info(foo);
     throw; //Okay, re-throwing the original exception object.
     }</pre>
-<h3>What is the space overhead of the boost::exception base class?</h3>
-<p>The space overhead for the boost::exception data members is negligible in the context of exception handling. Throwing objects that derive from boost::<span class="RenoLink"><a href="exception.html">exception</a></span> does not by itself cause dynamic memory allocations.</p> -<p>Deriving from boost::<span class="RenoLink"><a href="exception.html">exception</a></span> enables any data to be added to exceptions, which usually does allocate memory. However, this memory is reclaimed when the exception has been handled, and since typically user code does not allocate memory during the unrolling of the stack, adding error info to exceptions should not cause memory fragmentation.</p> -<h3>Should I use boost::throw_exception or BOOST_THROW_EXCEPTION or just throw?</h3> -<p>The benefit of calling boost::<span class="RenoLink"><a href="throw_exception.html">throw_exception</a></span> instead of using throw directly is that it ensures that the emitted exception derives from boost::<span class="RenoLink"><a href="exception.html">exception</a></span> and that it is compatible with boost::<span class="RenoLink"><a href="current_exception.html">current_exception</a></span>.</p> -<p>The <span class="RenoLink"><a href="BOOST_THROW_EXCEPTION.html">BOOST_THROW_EXCEPTION</a></span> macro also results in a call to boost::<span class="RenoLink"><a href="throw_exception.html">throw_exception</a></span>, but in addition it records in the exception object the __FILE__ and __LINE__ of the throw, as well as the pretty name of the function that throws. This has virtually no overhead, yet enables boost::<span class="RenoLink"><a href="diagnostic_information.html">diagnostic_information</a></span> to compose a more useful, if not user-friendly message.</p> -<p>Typical use of boost::<span class="RenoLink"><a href="diagnostic_information.html">diagnostic_information</a></span> is:</p>
+<h3> boost::exception 基类的空间开销是多大 ?</h3>
+<p>在异常处理过程中, boost::exception 的空间开销是可以忽略的. 抛出从 boost::<span class="RenoLink"><a href="exception.html">exception</a></span> 继承的异常本身不会引起任何的内存分配.</p> +<p>从 boost::<span class="RenoLink"><a href="exception.html">exception</a></span> 继承,使得可以向异常对象添加任何数 据, 这一般会导致分配内存. 但是, 这些内存会在异常处理以后被回收. 同时, 既然用 户代码一般在栈展开的时候不会引起内存分配, 向异常对象添加错误信息一般不会引起 内存碎片.</p> +<h3>抛出异常的时候,应该使用 boost::throw_exception 还是 BOOST_THROW_EXCEPTION, 或者只是简单的抛出 ?</h3> +<p>使用 boost::<span class="RenoLink"><a href="throw_exception.html">throw_exception</a></span> ,而不是简单的直接抛 出, 带来的收益是确保抛出的异常从 boost::<span class="RenoLink"><a href="exception.html">exception</a></span> 继承, 从而使之和函数 boost::<span class="RenoLink"><a href="current_exception.html">current_exception</a></span> 兼容.</p> +<p>宏 <span class="RenoLink"><a href="BOOST_THROW_EXCEPTION.html">BOOST_THROW_EXCEPTION</a></span> 也会导致 调用函数 boost::<span class="RenoLink"><a href="throw_exception.html">throw_exception</a></span>, 但是会向异常对象添 加 __FILE__ 和 __LINE__ 信息, 同时还有抛出函数的一个友好的名字信息. 这不会带 来什么开销, 但是会使得 boost::<span class="RenoLink"><a href="diagnostic_information.html">diagnostic_information</a></span> 含有一 些更加有用, 即便不是用户友好的消息.</p> +<p>boost::<span class="RenoLink"><a href="diagnostic_information.html">diagnostic_information</a></span> 的典型 用法是:</p>
 <pre>catch( boost::exception &amp; e )
     {
     std::cerr &lt;&lt; "OMG!" &lt;&lt; boost::diagnostic_information(e);
@@ -52,7 +52,7 @@
     {
     std::cerr &lt;&lt; "OMG!!!";
     }</pre>
-<p>This is a possible message it may display, the first line is only possible if <span class="RenoLink"><a href="BOOST_THROW_EXCEPTION.html">BOOST_THROW_EXCEPTION</a></span> is used:</p> +<p>下面是一条可能显示的消息格式, 第一行信息只有在调用 <span class="RenoLink"><a href="BOOST_THROW_EXCEPTION.html">BOOST_THROW_EXCEPTION</a></span> 才会出 现:</p>
 <pre>example_io.cpp(83): Throw in function void parse_file(const char *)
 Dynamic exception type: class file_open_error
 std::exception::what: example_io error
@@ -60,27 +60,27 @@
 [struct tag_file_name *] = tmp1.xml
 [struct tag_function *] = fopen
 [struct tag_open_mode *] = rb</pre>
-<h3>Why is boost::exception integrated in boost::throw_exception?</h3>
-<p>The boost::<span class="RenoLink"><a href="throw_exception.html">throw_exception</a></span> function predates the Boost Exception library and there has been some concern about its current behavior of injecting boost::<span class="RenoLink"><a href="exception.html">exception</a></span> as a base of any exception passed to boost::<span class="RenoLink"><a href="throw_exception.html">throw_exception</a></span>. Such concerns are dictated by the typical strict interpretation of a common principle in C and C++, that users only pay for features they actually use.</p> -<p>The problem is that users of Boost Exception can't by themselves cause a library to throw types that derive from boost::<span class="RenoLink"><a href="exception.html">exception</a></span>, and without this they can't use any of the Boost Exception facilities.</p> -<p>For example, if a user wants to use Boost Serialization in a separate thread, it is desirable to be able to transport exceptions emitted by that library into the main thread where they can be analyzed to generate a user-friendly message. This can be easily achieved using boost::<span class="RenoLink"><a href="exception_ptr.html">exception_ptr</a></span>, but this requires that Boost Serialization throws exceptions using boost::<span class="RenoLink"><a href="enable_current_exception.html">enable_current_exception</a></span>. If Boost Serialization calls boost::<span class="RenoLink"><a href="throw_exception.html">throw_exception</a></span> to throw, this behavior happens automatically and transparently.</p>
-<p>The cost of this integration is:</p>
-<div><ul><li> In terms of space: a pointer and 3 ints are added to the static size of exception objects.</li> -<li> In terms of speed: the pointer is initialized to null at the point of the throw.</li> -<li> In terms of coupling: about 400 self-contained lines of C++ with no external includes.</li>
+<h3>boost::exception 为什么要和 boost::throw_exception 集成在一起 ?</h3>
+<p>函数 boost::<span class="RenoLink"><a href="throw_exception.html">throw_exception</a></span> 先于 Boost Exception 函数库存在, 因此 boost::<span class="RenoLink"><a href="exception.html">exception</a></span> 作为任何异常的基类传入到函数 boost::<span class="RenoLink"><a href="throw_exception.html">throw_exception</a></span> 当中所产生的行为就被 特别的关注. 这些关注点也体现为 C 和 C++ 中一个通用的原则, 即用户仅需关注他们 使用的特性 .</p> +<p>问题是 Boost Exception 的用用户自身不能使得一个函数库抛出的异常都是继承 自 boost::<span class="RenoLink"><a href="exception.html">exception</a></span>, 而不是这样就不能发挥 Boost Exception 的威力.</p> +<p>例如, 如果用户想在一个单独的线程中使用 Boost Serialization , 那么很自然 的就希望把这个函数库抛出的异常传递到主线程中, 进行分析, 然后给出一个用户友好 的消息. 通过 boost::<span class="RenoLink"><a href="exception_ptr.html">exception_ptr</a></span> 可以很容易的实现这一点, 但是这要求 Boost Serialization 通过 boost::<span class="RenoLink"><a href="enable_current_exception.html">enable_current_exception</a></span> 抛 出异常. 如果 Boost Serialization 通过 boost::<span class="RenoLink"><a href="throw_exception.html">throw_exception</a></span> 抛出异常, 这种行为就 会自动和透明的发生.</p>
+<p>这种集成的代价是:</p>
+<div><ul><li> 空间占用方面: 异常对象的静态大小增加了一个指针和3个整数的大 小.</li>
+<li> 速率方面: 在异常抛出点,指针被初始化为 null .</li>
+<li> 代码耦合方面: 增加 400 行自包含的, 没有外部连接的 C++ 代码.</li>
 </ul></div>
-<h3>Why use operator&lt;&lt; overload for adding info to exceptions?</h3>
-<p>Before throwing an object of type that derives from boost::<span class="RenoLink"><a href="exception.html">exception</a></span>, it is often desirable to add one or more <span class="RenoLink"><a href="error_info.html">error_info</a></span> objects in it. The syntactic sugar provided by <span class="RenoLink"><a href="exception_operator_shl.html">exception/operator&lt;&lt;</a></span> allows this to be done directly in a throw expression:</p>
+<h3>为什么使用操作符 &lt;&lt; 重载向异常对象添加信息 ?</h3>
+<p>在抛出从 boost::<span class="RenoLink"><a href="exception.html">exception</a></span> 继承的异常对象以前, 经常需要添加 一个或者多个 <span class="RenoLink"><a href="error_info.html">error_info</a></span> 对象. 操作符 <span class="RenoLink"><a href="exception_operator_shl.html">exception/operator&lt;&lt;</a></span> 提 供的语法糖使用起来很直接 :</p> <pre>throw error() <span class="RenoLink"><a href="exception_operator_shl.html">&lt;&lt;</a></span> foo_info(foo) <span class="RenoLink"><a href="exception_operator_shl.html">&lt;&lt;</a></span> bar_info(bar);</pre>
-<p>which saves typing compared to this possible alternative:</p>
+<p>和下面的这种方法相比, 这节省了不少的代码 :</p>
 <pre>error e;
 e.add(foo_info(foo));
 e.add(bar_info(bar));
 throw e;</pre>
-<p>and looks better than something like:</p>
+<p>和下面的形式相比也要更好:</p>
 <pre>throw error().add(foo_info(foo)).add(bar_info(bar));</pre>
 </div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>See Also:</h3>
+<h3>参见:</h3>
<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/>
 </a><a href="motivation.html">Motivation<br/>
 </a></div>

Modified: trunk/libs/exception/doc/functions.html
==============================================================================
--- trunk/libs/exception/doc/functions.html     (original)
+++ trunk/libs/exception/doc/functions.html     Sun Jun 14 17:49:43 2009
@@ -19,7 +19,7 @@
 <!-- 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>Functions</h2>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>函数</h2>
 </div>
 <div class="RenoIndex"><h3>c</h3>
 <p><a href="copy_exception.html">copy_exception</a></p>
@@ -45,7 +45,7 @@
 <p><a href="tuple_operator_shl.html">tuple/operator&lt;&lt;</a></p>
 </div>
 </div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>See Also:</h3>
+<h3>参见:</h3>
<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/>
 </a></div>
 </div>

Modified: trunk/libs/exception/doc/get_error_info.html
==============================================================================
--- trunk/libs/exception/doc/get_error_info.html        (original)
+++ trunk/libs/exception/doc/get_error_info.html        Sun Jun 14 17:49:43 2009
@@ -27,20 +27,20 @@
 <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">get_error_info</span>( E const &amp; x );</span>
     }</pre>
-</div><h4>Requirements:</h4>
-<div><ul><li> ErrorInfo must be an instance of the <span class="RenoLink"><a href="error_info.html">error_info</a></span> template.</li>
-<li> E must be polymorphic.</li>
+</div><h4>要求:</h4>
+<div><ul><li> ErrorInfo 必须是模板 <span class="RenoLink"><a href="error_info.html">error_info</a></span> 的实例.</li>
+<li> E 必须是多态类型的.</li>
 </ul></div>
-<h4>Returns:</h4>
-<div><ul><li> If dynamic_cast&lt;boost::<span class="RenoLink"><a href="exception.html">exception</a></span> const *&gt;(&amp;x) is 0, or if x does not store an object of type ErrorInfo, the returned value is null.</li> -<li> Otherwise, the returned pointer points to the stored value (use <span class="RenoLink"><a href="exception_operator_shl.html">operator&lt;&lt;</a></span> to store values in exception objects.) When x is destroyed, any pointers returned by <span class="RenoLink">get_error_info</span> become invalid.</li>
+<h4>返回值:</h4>
+<div><ul><li> 如果 dynamic_cast&lt;boost::<span class="RenoLink"><a href="exception.html">exception</a></span> const *&gt;(&amp;x) 等于 0, 或者 x 没有存储任何 ErrorInfo 对象数据, 返回值是 null.</li> +<li> 否则, 返回的指针指向通过操作符 <span class="RenoLink"><a href="exception_operator_shl.html">operator&lt;&lt;</a></span> 存储在异常对 象中的数值.当 x 析构的时候, 通过 <span class="RenoLink">get_error_info</span> 得到的指针变为无效.</li>
 </ul></div>
-<h4>Throws:</h4>
-<p>Nothing.</p>
-<h4>Note:</h4>
-<p>The interface of <span class="RenoLink">get_error_info</span> may be affected by the build <span class="RenoLink"><a href="configuration_macros.html">configuration macros</a></span>.</p>
+<h4>异常抛出:</h4>
+<p>没有异常.</p>
+<h4>注意:</h4>
+<p>函数 <span class="RenoLink">get_error_info</span> 的接口会受宏 <span class="RenoLink"><a href="configuration_macros.html">configuration macros</a></span>设置的影响.</p>
 </div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>See Also:</h3>
+<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_get_error_info_hpp.html">boost/exception/get_error_info.hpp<br/>

Modified: trunk/libs/exception/doc/headers.html
==============================================================================
--- trunk/libs/exception/doc/headers.html       (original)
+++ trunk/libs/exception/doc/headers.html       Sun Jun 14 17:49:43 2009
@@ -19,7 +19,7 @@
 <!-- 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>Headers</h2>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>头文件</h2>
 </div>
 <div class="RenoIndex"><h3>e</h3>
 <p><a href="exception_hpp.html">boost/exception.hpp</a></p>
@@ -37,7 +37,7 @@
 <p><a href="throw_exception_hpp.html">boost/throw_exception.hpp</a></p>
 </div>
 </div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>See Also:</h3>
+<h3>参见:</h3>
<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/>
 </a></div>
 </div>

Modified: trunk/libs/exception/doc/macros.html
==============================================================================
--- trunk/libs/exception/doc/macros.html        (original)
+++ trunk/libs/exception/doc/macros.html        Sun Jun 14 17:49:43 2009
@@ -19,12 +19,12 @@
 <!-- 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>Macros</h2>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>宏</h2>
 </div>
<div class="RenoPageList"><a href="BOOST_THROW_EXCEPTION.html">BOOST_THROW_EXCEPTION<br/>
 </a></div>
 </div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>See Also:</h3>
+<h3>参见:</h3>
<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/>
 </a></div>
 </div>

Modified: trunk/libs/exception/doc/motivation.html
==============================================================================
--- trunk/libs/exception/doc/motivation.html    (original)
+++ trunk/libs/exception/doc/motivation.html    Sun Jun 14 17:49:43 2009
@@ -19,23 +19,23 @@
 <!-- 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>Motivation</h3>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>动机</h3>
 </div>
-<p>Traditionally, when using exceptions to report failures, the throw site:</p>
-<div><ul><li>creates an exception object of the appropriate type, and</li>
-<li>stuffs it with data relevant to the detected error.</li>
+<p>传统上, 使用异常机制报告错误, 在抛出端:</p>
+<div><ul><li>创建一个合适类型的异常对象, 并且</li>
+<li>向这个对象添加错误相关的数据.</li>
 </ul></div>
-<p>A higher context in the program contains a catch statement which:</p>
-<div><ul><li>selects failures based on exception types, and</li>
-<li>inspects exception objects for data required to deal with the problem.</li>
+<p>在程序的高端包含一个catch 语句:</p>
+<div><ul><li>通过异常类型选择特定的错误,并且</li>
+<li>从异常对象中抽取相关的数据处理异常问题.</li>
 </ul></div>
-<p>The main issue with this "traditional" approach is that often, the data available at the point of the throw is insufficient for the catch site to handle the failure.</p>
-<p>Here is an example of a catch statement:</p>
+<p>这种处理异常的 "传统" 方法经常导致在throw端缺乏catch端处理异常所需的足够 信息.</p>
+<p>下面是一个catch端得实例:</p>
 <pre>catch( file_read_error &amp; e )
     {
     std::cerr &lt;&lt; e.file_name();
     }</pre>
-<p>And here is a possible matching throw:</p>
+<p>还有一个匹配的throw端得实例:</p>
 <pre>void
 read_file( FILE * f )
     {
@@ -45,8 +45,8 @@
         throw file_read_error(???);
     ....
     }</pre>
-<p>Clearly, the problem is that the handler requires a file name but the read_file function does not have a file name to put in the exception object; all it has is a FILE pointer!</p> -<p>In an attempt to deal with this problem, we could modify read_file to accept a file name:</p> +<p>很清楚, 问题是处理器需要一个文件名, 但是函数 read_file 不能向异常对象提 供这个文件名; 它所拥有的只是一个 FILE 指针!</p>
+<p>如果我们企图修改这个问题, 可能会修改函数 read_file ,增加一个文件名:</p>
 <pre>void
 read_file( FILE * f, char const * name )
     {
@@ -56,21 +56,21 @@
         throw file_read_error(name);
     ....
     }</pre>
-<p>This is not a real solution: it simply shifts the burden of supplying a file name to the immediate caller of the read_file function.</p> -<blockquote><p><i>In general, the data required to handle a given library-emitted exception depends on the program that links to it. Many contexts between the throw and the catch may have relevant information which must be transported to the exception handler.</i></p></blockquote>
-<h3>Exception wrapping</h3>
-<p>The idea of exception wrapping is to catch an exception from a lower level function (such as the read_file function above), and throw a new exception object that contains the original exception (and also carries a file name.) This method seems to be particularly popular with C++ programmers with Java background.</p>
-<p>Exception wrapping leads to the following problems:</p>
-<div><ul><li>To wrap an exception object it must be copied, which may result in slicing.</li>
-<li>Wrapping is practically impossible to use in generic contexts.</li>
+<p>这不是一个真正的解决之道: 它只是简单的把提供文件名的负担转交给函数 read_file 的调用者.</p> +<blockquote><p><i>一般来说, 处理一个函数库抛出的异常所需的数据依赖于连接它 的程序. 在throw和catch端得上下文含有异常处理必须的数据.</i></p></blockquote>
+<h3>异常包裹</h3>
+<p>异常包裹,就是在在低端函数捕获异常 (例如上面的 read_file 函数), 然后重新 抛出一个包含原始对象的新的异常对象 (包含文件名.) 这种方法对有Java背景的C++程 序员来说,有特别的吸引力.</p>
+<p>异常包裹会导致以下的问题:</p>
+<div><ul><li>要包裹的异常对象必须被拷贝,这可能会导致对象分裂.</li>
+<li>在泛型编程的上下文环境中, 异常对象的包裹实际上不可能.</li>
 </ul></div>
-<p>The second point is actually special case of violating the exception neutrality principle. Most contexts in a program can not handle exceptions; such contexts should not interfere with the process of exception handling.</p>
-<h3>The boost::exception solution</h3>
-<div><ul><li>Simply derive your exception types from boost::<span class="RenoLink"><a href="exception.html">exception</a></span>.</li> -<li>Confidently limit the throw site to provide only data that is available naturally.</li> -<li>Use exception-neutral contexts between the throw and the catch to augment exceptions with more relevant data as they bubble up.</li> +<p>第二点实际上时违反异常中立原则的一个特例. 大多数的情况下程序不能处理异 常,不能干扰异常处理的正常流程.</p>
+<h3>boost::exception 的解决方案</h3>
+<div><ul><li>简单的从 boost::<span class="RenoLink"><a href="exception.html">exception</a></span> 继承你需要的异常类型.</li>
+<li>在throw端, 很自然并且自信的把提供的数据限制为能力的范围之内.</li>
+<li>在throw和catch之间,在异常中立的上下文环境中, 向展开的异常对象添加相关的 数据.</li>
 </ul></div>
-<p>For example, in the throw statement below we only add the errno code, since this is the only failure-relevant information available in this context:</p> +<p>例如, 在下面的throw语句中我们仅需添加错误代码 errno , 因为这是在当前能够 得到的唯一的错误信息:</p> <pre>struct exception_base: virtual std::exception, virtual boost::<span class="RenoLink"><a href="exception.html">exception</a></span> { };
 struct io_error: virtual exception_base { };
 struct file_read_error: virtual io_error { };
@@ -86,7 +86,7 @@
throw file_read_error() <span class="RenoLink"><a href="exception_operator_shl.html">&lt;&lt;</a></span> errno_code(errno);
     ....
     }</pre>
-<p>In a higher exception-neutral context, we add the file name to <i>any</i> exception that derives from boost::<span class="RenoLink"><a href="exception.html">exception</a></span>:</p> +<p>在高端的异常中立的环境中, 我们把文件名添加到 <i>任何</i> 从 boost::<span class="RenoLink"><a href="exception.html">exception</a></span>继承的异常对象:</p> <pre>typedef boost::<span class="RenoLink"><a href="error_info.html">error_info</a></span>&lt;struct tag_file_name,std::string&gt; file_name;

 ....
@@ -108,7 +108,7 @@
e <span class="RenoLink"><a href="exception_operator_shl.html">&lt;&lt;</a></span> file_name("foo.txt");
     throw;
     }</pre>
-<p>Finally here is how the handler retrieves data from exceptions that derive from boost::<span class="RenoLink"><a href="exception.html">exception</a></span>:</p> +<p>最后, 基于boost::<span class="RenoLink"><a href="exception.html">exception</a></span>抛出的异常对象, 异常处理器可以从中 抽取文件名:</p>
 <pre>catch( io_error &amp; e )
     {
     std::cerr &lt;&lt; "I/O Error!\n";
@@ -119,9 +119,9 @@
if( int const * c=<span class="RenoLink"><a href="get_error_info.html">get_error_info</a></span>&lt;errno_code&gt;(e) )
         std::cerr &lt;&lt; "OS says: " &lt;&lt; strerror(*c) &lt;&lt; "\n";
     }</pre>
-<p>In addition, boost::<span class="RenoLink"><a href="diagnostic_information.html">diagnostic_information</a></span> can be used to compose an automatic (if not user-friendly) message that contains all of the <span class="RenoLink"><a href="error_info.html">error_info</a></span> objects added to a boost::<span class="RenoLink"><a href="exception.html">exception</a></span>. This is useful for inclusion in logs and other diagnostic objects.</p> +<p>另外, boost::<span class="RenoLink"><a href="diagnostic_information.html">diagnostic_information</a></span> 可以用 来自动合成所有的基于 <span class="RenoLink"><a href="error_info.html">error_info</a></span> 向 boost::<span class="RenoLink"><a href="exception.html">exception</a></span>对象添加的消息 文本(即便这样的消息不一定是用户友好的). 这对调试对象和日志对象是非常有用 的.</p>
 </div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>See Also:</h3>
+<h3>参见:</h3>
<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/> </a><a href="exception_types_as_simple_semantic_tags.html">Exception Types as Simple Semantic Tags<br/> </a><a href="frequently_asked_questions.html">Frequently Asked Questions<br/>

Modified: trunk/libs/exception/doc/page_idx.html
==============================================================================
--- trunk/libs/exception/doc/page_idx.html      (original)
+++ trunk/libs/exception/doc/page_idx.html      Sun Jun 14 17:49:43 2009
@@ -19,9 +19,9 @@
 <!-- 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"><h1>Page Index</h1>
+<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h1>页面索引</h1>
 </div>
-<p>This is an alphabetical list of all Boost Exception documentation pages.</p>
+<p>这是一个字母排序的所有的 Boost Exception 文档列表.</p>
 <div class="RenoIndex"><h3>B</h3>
 <p><a href="BOOST_THROW_EXCEPTION.html">BOOST_THROW_EXCEPTION</a></p>
 <h3>b</h3>
@@ -91,7 +91,7 @@
 <p><a href="unknown_exception.html">unknown_exception</a></p>
 </div>
 </div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>See Also:</h3>
+<h3>参见:</h3>
<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/>
 </a></div>
 </div>

Modified: trunk/libs/exception/doc/rethrow_exception.html
==============================================================================
--- trunk/libs/exception/doc/rethrow_exception.html     (original)
+++ trunk/libs/exception/doc/rethrow_exception.html     Sun Jun 14 17:49:43 2009
@@ -28,11 +28,11 @@
<span class="RenoIncludeSPAN"> void <span class="RenoLink">rethrow_exception</span>( <span class="RenoLink"><a href="exception_ptr.html">exception_ptr</a></span> const &amp; ep );</span>
     }</pre>
 </div><h4>Precondition:</h4>
-<p>ep shall not be null.</p>
-<h4>Throws:</h4>
-<p>The exception to which ep refers.</p>
+<p>ep 不能为空.</p>
+<h4>异常抛出:</h4>
+<p>ep 指定的异常.</p>
 </div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>See Also:</h3>
+<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="exception_ptr.html">exception_ptr<br/>

Modified: trunk/libs/exception/doc/synopsis.html
==============================================================================
--- trunk/libs/exception/doc/synopsis.html      (original)
+++ trunk/libs/exception/doc/synopsis.html      Sun Jun 14 17:49:43 2009
@@ -20,7 +20,7 @@
<!-- 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"><h2>Synopsis</h2>
-<p>List of documented definitions, declarations and includes by header file:</p>
+<p>通过头文件的文档定义声明的列表:</p>
<p><span class="RenoEscape">&#35;<!--<wiki>`&#35;</wiki>--></span>include &lt;<span class="RenoLink"><a href="exception_exception_hpp.html">boost/exception/exception.hpp</a></span>&gt;</p>
 <pre><span class="RenoIncludeSPAN">namespace
 boost
@@ -177,7 +177,7 @@
#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>See Also:</h3>
+<h3>参见:</h3>
<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/>
 </a></div>
 </div>

Modified: trunk/libs/exception/doc/throw_exception.html
==============================================================================
--- trunk/libs/exception/doc/throw_exception.html       (original)
+++ trunk/libs/exception/doc/throw_exception.html       Sun Jun 14 17:49:43 2009
@@ -32,16 +32,16 @@
     void <span class="RenoLink">throw_exception</span>( E const &amp; e );
 #endif</span>
     }</pre>
-</div><h4>Requirements:</h4>
-<p>E must derive publicly from std::exception.</p>
-<h4>Effects:</h4>
-<div><ul><li> If BOOST_NO_EXCEPTIONS is not defined, boost::<span class="RenoLink">throw_exception</span>(e) is equivalent to throw boost::<span class="RenoLink"><a href="enable_current_exception.html">enable_current_exception</a></span>(boost::<span class="RenoLink"><a href="enable_error_info.html">enable_error_info</a></span>(e)), unless BOOST_EXCEPTION_DISABLE is defined, in which case boost::<span class="RenoLink">throw_exception</span>(e) is equivalent to throw e;</li> -<li> If BOOST_NO_EXCEPTIONS is defined, the function is left undefined, and the user is expected to supply an appropriate definition. Callers of <span class="RenoLink">throw_exception</span> are allowed to assume that the function never returns; therefore, if the user-defined <span class="RenoLink">throw_exception</span> returns, the behavior is undefined.</li>
+</div><h4>要求:</h4>
+<p>E 必须从继承自 std::exception.</p>
+<h4>效果:</h4>
+<div><ul><li> 如果 BOOST_NO_EXCEPTIONS 没有定义, 函数boost::<span class="RenoLink">throw_exception</span>(e) 等价于 throw boost::<span class="RenoLink"><a href="enable_current_exception.html">enable_current_exception</a></span>(boost::<span class="RenoLink"><a href="enable_error_info.html">enable_error_info</a></span>(e)), 除非 BOOST_EXCEPTION_DISABLE 被定义了, 在那种情况下 boost::<span class="RenoLink">throw_exception</span>(e) 等价于 throw e;</li> +<li> 如果 BOOST_NO_EXCEPTIONS 被定义了, 那么这个函数没有被定义, 用户应该定 义一个合适的实现. 函数<span class="RenoLink">throw_exception</span> 的调用者 可以合理的假定这个函数永不返回; 如果用户定义的函数返回了, 函数<span class="RenoLink">throw_exception</span> 的行为时未定义的 .</li>
 </ul></div>
-<h4>Note:</h4>
-<p>Under BOOST_NO_EXCEPTIONS, unless BOOST_EXCEPTION_DISABLE is also defined, users can examine the passed exception object using boost::<span class="RenoLink"><a href="get_error_info.html">get_error_info</a></span>, or format an automatic diagnostic message using boost::<span class="RenoLink"><a href="diagnostic_information.html">diagnostic_information</a></span>.</p>
+<h4>注意:</h4>
+<p>定义宏 BOOST_NO_EXCEPTIONS, 并且宏 BOOST_EXCEPTION_DISABLE 也被定义, 用 户才能使用函数 boost::<span class="RenoLink"><a href="get_error_info.html">get_error_info</a></span> 操作传入的异常对象, 或 者通过函数 boost::<span class="RenoLink"><a href="diagnostic_information.html">diagnostic_information</a></span> 格式化 自动产生的诊断消息.</p>
 </div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>See Also:</h3>
+<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="throw_exception_hpp.html">boost/throw_exception.hpp<br/>

Modified: trunk/libs/exception/doc/throw_exception_hpp.html
==============================================================================
--- trunk/libs/exception/doc/throw_exception_hpp.html   (original)
+++ trunk/libs/exception/doc/throw_exception_hpp.html Sun Jun 14 17:49:43 2009
@@ -21,7 +21,7 @@
<!-- 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>
+<h3>摘要</h3>
<div class="RenoIncludeDIV"><div class="RenoIncludeDIV"><pre><span class="RenoIncludeSPAN">#if !defined( BOOST_EXCEPTION_DISABLE ) #include &lt;<span class="RenoLink"><a href="exception_exception_hpp.html">boost/exception/exception.hpp</a></span>&gt;
     #include &lt;boost/current_function.hpp&gt;
@@ -45,7 +45,7 @@
 #endif</span>
     }</pre>
 </div></div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>See Also:</h3>
+<h3>参见:</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/>

Modified: trunk/libs/exception/doc/tuple_operator_shl.html
==============================================================================
--- trunk/libs/exception/doc/tuple_operator_shl.html    (original)
+++ trunk/libs/exception/doc/tuple_operator_shl.html Sun Jun 14 17:49:43 2009
@@ -32,16 +32,16 @@
             ...,
<span class="RenoLink"><a href="error_info.html">error_info</a></span>&lt;TagN,TN&gt; &gt; const &amp; v );</span>
     }</pre>
-</div><h4>Requirements:</h4>
-<p>E must be boost::<span class="RenoLink"><a href="exception.html">exception</a></span>, or a type that derives (indirectly) from boost::<span class="RenoLink"><a href="exception.html">exception</a></span>.</p>
-<h4>Effects:</h4>
-<p>Equivalent to x &lt;&lt; v.<span class="RenoLink"><a href="http://www.boost.org/libs/tuple/doc/tuple_users_guide.html#accessing_elements";>get</a></span>&lt;0&gt;() &lt;&lt; ... &lt;&lt; v.<span class="RenoLink"><a href="http://www.boost.org/libs/tuple/doc/tuple_users_guide.html#accessing_elements";>get</a></span>&lt;N&gt;().</p>
-<h4>Returns:</h4>
+</div><h4>要求:</h4>
+<p>E 必须是 boost::<span class="RenoLink"><a href="exception.html">exception</a></span>, 或者是从 boost::<span class="RenoLink"><a href="exception.html">exception</a></span> 直接或者间接 继承的类型.</p>
+<h4>效果:</h4>
+<p>等价于 x &lt;&lt; v.<span class="RenoLink"><a href="http://www.boost.org/libs/tuple/doc/tuple_users_guide.html#accessing_elements";>get</a></span>&lt;0&gt;() &lt;&lt; ... &lt;&lt; v.<span class="RenoLink"><a href="http://www.boost.org/libs/tuple/doc/tuple_users_guide.html#accessing_elements";>get</a></span>&lt;N&gt;().</p>
+<h4>返回值:</h4>
 <p>x.</p>
-<div class="RenoIncludeDIV"><h4>Throws:</h4>
-<p>std::bad_alloc, or any exception emitted by T1..TN copy constructor.</p>
+<div class="RenoIncludeDIV"><h4>异常抛出:</h4>
+<p>std::bad_alloc, 或者 T1..TN 拷贝构造函数抛出的异常 .</p>
 </div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>See Also:</h3>
+<h3>参见:</h3>
<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/> </a><a href="exception_error_info_group_hpp.html">boost/exception/info_tuple.hpp<br/>
 </a></div>

Modified: trunk/libs/exception/doc/tutorial_diagnostic_information.html
==============================================================================
--- trunk/libs/exception/doc/tutorial_diagnostic_information.html       
(original)
+++ trunk/libs/exception/doc/tutorial_diagnostic_information.html Sun Jun 14 17:49:43 2009
@@ -55,7 +55,7 @@
 [struct tag_function *] = fopen
 [struct tag_open_mode *] = rb</pre>
 </div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>See Also:</h3>
+<h3>参见:</h3>
<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/>
 </a></div>
 </div>

Modified: trunk/libs/exception/doc/tutorial_enable_error_info.html
==============================================================================
--- trunk/libs/exception/doc/tutorial_enable_error_info.html    (original)
+++ trunk/libs/exception/doc/tutorial_enable_error_info.html Sun Jun 14 17:49:43 2009
@@ -51,7 +51,7 @@
 </pre>
<p>The call to <span class="RenoLink"><a href="enable_error_info.html">enable_error_info</a></span>&lt;T&gt; gets us an object of <i>unspecified type</i> which is guaranteed to derive from both boost::<span class="RenoLink"><a href="exception.html">exception</a></span> and T. This makes it possible to use <span class="RenoLink"><a href="exception_operator_shl.html">operator&lt;&lt;</a></span> to store additional information in the exception object. The exception can be intercepted as T &amp;, so existing exception handling will not break. It can also be intercepted as boost::<span class="RenoLink"><a href="exception.html">exception</a></span> &amp;, so that <span class="RenoLink"><a href="tutorial_transporting_data.html">more information can be added to the exception at a later time</a></span>.</p>
 </div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>See Also:</h3>
+<h3>参见:</h3>
<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/>
 </a><a href="motivation.html">Motivation<br/>
 </a></div>

Modified: trunk/libs/exception/doc/tutorial_exception_ptr.html
==============================================================================
--- trunk/libs/exception/doc/tutorial_exception_ptr.html        (original)
+++ trunk/libs/exception/doc/tutorial_exception_ptr.html Sun Jun 14 17:49:43 2009
@@ -22,7 +22,7 @@
<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>Transporting of Exceptions Between Threads</h2>
 </div>
<p>Boost Exception supports transporting of exception objects between threads through cloning. This system is similar to <span class="RenoLink"><a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2179.html";>N2179</a></span>, but because Boost Exception can not rely on language support, the use of <span class="RenoLink"><a href="enable_current_exception.html">enable_current_exception</a></span> at the time of the throw is required in order to use cloning.</p>
-<h4>Note:</h4>
+<h4>注意:</h4>
<p>All exceptions emitted by the familiar function boost::<span class="RenoLink"><a href="throw_exception.html">throw_exception</a></span> are guaranteed to derive from boost::<span class="RenoLink"><a href="exception.html">exception</a></span> and to support cloning.</p> <div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>Using enable_current_exception at the Time of the Throw</h3>
 </div>
@@ -84,7 +84,7 @@
 </ul></div>
<p>Regardless, the use of <span class="RenoLink"><a href="current_exception.html">current_exception</a></span> and <span class="RenoLink"><a href="rethrow_exception.html">rethrow_exception</a></span> in the above examples is well-formed.</p>
 </div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>See Also:</h3>
+<h3>参见:</h3>
<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/>
 </a></div>
 </div>

Modified: trunk/libs/exception/doc/tutorial_transporting_data.html
==============================================================================
--- trunk/libs/exception/doc/tutorial_transporting_data.html    (original)
+++ trunk/libs/exception/doc/tutorial_transporting_data.html Sun Jun 14 17:49:43 2009
@@ -19,16 +19,16 @@
 <!-- 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>Transporting of Arbitrary Data to the Catch Site</h2> +<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h2>向catch端传递任意 的数据</h2>
 </div>
-<p>All exception types that derive from boost::<span class="RenoLink"><a href="exception.html">exception</a></span> can be used as type-safe containers of arbitrary data objects, while complying with the no-throw requirements (15.5.1) of the ANSI C++ standard for exception types.</p> -<p>When exceptions derive from boost::<span class="RenoLink"><a href="exception.html">exception</a></span>, arbitrary data can be added to exception objects:</p>
-<div><ul><li>At the point of the throw;</li>
-<li>At a later time as exceptions bubble up the call stack.</li>
+<p>所有从 boost::<span class="RenoLink"><a href="exception.html">exception</a></span> 继承的子类对象都可以作为类型安全 的任意数据的容器使用, 而且这个异常类型还遵从ANSI C++对异常类型无抛出规范 (15.5.1)的要求.</p> +<p>当异常是从 boost::<span class="RenoLink"><a href="exception.html">exception</a></span> 继承, 任何的数据都可以添加到异常 对象中, 当:</p>
+<div><ul><li>异常抛出的时候;</li>
+<li>在以后某个调用栈展开的时刻.</li>
 </ul></div>
<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>Adding of Arbitrary Data at the Point of the Throw</h3>
 </div>
-<p>The following example demonstrates how errno can be stored in exception objects using Boost Exception:</p>
+<p>下面的实例说明了如何使用Boost Exception向异常对象添加errno:</p>
<pre>#include &lt;<span class="RenoLink"><a href="exception_hpp.html">boost/exception.hpp</a></span>&gt;
 #include &lt;errno.h&gt;
 #include &lt;iostream&gt;
@@ -43,10 +43,10 @@
     throw my_error() &lt;&lt; errno_info(errno); //(3)
     }
 </pre>
-<p>First, we instantiate the <span class="RenoLink"><a href="error_info.html">error_info</a></span> template using a unique identifier -- tag_errno, and the type of the info it identifies -- int. This provides compile-time type safety for the various values stored in exception objects.</p> -<p>Second, we define class my_error, which derives from boost::<span class="RenoLink"><a href="exception.html">exception</a></span>.</p> -<p>Finally, (3) illustrates how the typedef from (1) can be used with <span class="RenoLink"><a href="exception_operator_shl.html">operator&lt;&lt;</a></span> to store values in exception objects at the point of the throw.</p>
-<p>The stored errno value can be recovered at a later time like this:</p>
+<p>首先, 我们使用唯一的标识符tag_errno和其对应的数据类型int实例化 <span class="RenoLink"><a href="error_info.html">error_info</a></span> 模板对象. 这确保了向异常对象存储的各种数据对象是编译时类型安全的.</p> +<p>而后, 我们定义了 my_error, 这是一个从 boost::<span class="RenoLink"><a href="exception.html">exception</a></span>继承的类型.</p> +<p>最后, (3) 说明了在异常对象的抛出点, 如何联合使用在 (1) 定义的typedef和操 作符 <span class="RenoLink"><a href="operator_shl_exception.html">operator&lt;&lt;</a></span> ,把数据存储在 异常对象当中.</p>
+<p>存储的 errno 数值可以在其后的某个时间像这样被恢复出来:</p>
 <pre>// ...continued

 void
@@ -63,18 +63,18 @@
             std::cerr &lt;&lt; "Error code: " &lt;&lt; *err;
         }
     }</pre>
-<p>The <span class="RenoLink"><a href="get_error_info.html">get_error_info</a></span> function template is instantiated with the typedef from (1), and is passed an exception object of a polymorphic type. If the exception object contains the requested value, err will point to it; otherwise a null pointer is returned.</p> -</div><div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>Adding of Arbitrary Data to Active Exception Objects</h3> +<p>函数模板 <span class="RenoLink"><a href="get_error_info.html">get_error_info</a></span> 通过(1)处的typedef实例 化, 并传入多态类型的异常对象作为参数. 如果异常对象包含需要的数据, 返回的对象 智能指针; 否则返回空指针.</p> +</div><div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>向活动的异常 对象添加任意的数据</h3>
 </div>
-<p>Sometimes the throw site does not have all the information that is needed at the catch site to make sense of what went wrong. Let's say we have an exception type file_read_error, which takes a file name in its constructor. Consider the following function:</p> +<p>有时候 throw 端没有足够的信息, 这些信息使得catch端能够辨明错误的意义. 假 定我们有一个异常对象,类型是 file_read_error, 它的的构造函数需要一个文件名作 为参数. 考虑下面的函数:</p>
 <pre>void
 file_read( FILE * f, void * buffer, size_t size )
     {
     if( size!=fread(buffer,1,size,f) )
         throw file_read_error(????);
     }</pre>
-<p>How can the file_read function pass a file name to the exception type constructor? All it has is a FILE handle.</p> -<p>Using boost::<span class="RenoLink"><a href="exception.html">exception</a></span> allows us to free the file_read function from the burden of storing the file name in exceptions it throws:</p> +<p>函数 file_read 如何向异常类型的构造函数传递一个文件名作为参数 ? 它知道的 全部信息是一个文件句柄对象.</p> +<p>使用 boost::<span class="RenoLink"><a href="exception.html">exception</a></span> ,我们就不必再函数 file_read 进行 异常抛出的时候向异常对象传入文件名参数:</p> <pre>#include &lt;<span class="RenoLink"><a href="exception_hpp.html">boost/exception.hpp</a></span>&gt;
 #include &lt;stdio.h&gt;
 #include &lt;errno.h&gt;
@@ -89,7 +89,7 @@
     if( size!=fread(buffer,1,size,f) )
         throw file_read_error() &lt;&lt; errno_info(errno);
     }</pre>
-<p>If file_read detects a failure, it throws an exception which contains the information that is available at the time, namely the errno. Other relevant information, such as the file name, can be added in a context higher up the call stack, where it is known naturally:</p> +<p>如果函数 file_read 检测到错误的发生, 他会抛出相关的异常对象, 其中包含当 时能够得到的错误信息,即errno. 其他相关的信息,例如文件名, 可以在高端的调用堆 栈上下文环境中得到,并添加到对象当中,那时它很自然的就知道了这个信息:</p> <pre>#include &lt;<span class="RenoLink"><a href="exception_hpp.html">boost/exception.hpp</a></span>&gt;
 #include &lt;boost/shared_ptr.hpp&gt;
 #include &lt;stdio.h&gt;
@@ -117,10 +117,10 @@
         throw;
         }
     }</pre>
-<p>The above function is (almost) exception-neutral -- if an exception is emitted by any function call within the try block, parse_file does not need to do any real work, but it intercepts any boost::<span class="RenoLink"><a href="exception.html">exception</a></span> object, stores the file name, and re-throws using a throw-expression with no operand (15.1.6). The rationale for catching any boost::<span class="RenoLink"><a href="exception.html">exception</a></span> object is that the file name is relevant to any failure that occurs in parse_file, <i>even if the failure is unrelated to file I/O</i>.</p> -</div><div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>Adding Grouped Data to Exceptions</h3> +<p>上面的实例(几乎)是异常中立的 -- 如果在try代码块中,任何的函数抛出了异常, parse_file 不需要做特别的工作, 而只是截获任何的 boost::<span class="RenoLink"><a href="exception.html">exception</a></span> 对象, 存储文 件名,然后重新抛出. 截获 boost::<span class="RenoLink"><a href="exception.html">exception</a></span> 对象是因为文件名和发生在函数 parse_file 中的错误相关,<i>即便是这个错误和文件 I/O 无关</i>. </p> +</div><div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>向异常对象添 加组数据</h3>
 </div>
-<p>The code snippet below demonstrates how boost::<span class="RenoLink"><a href="http://www.boost.org/libs/tuple/doc/tuple_users_guide.html";>tuple</a></span> can be used to bundle the name of the function that failed, together with the reported errno so that they can be added to exception objects more conveniently together:</p> +<p>下面的代码片段展示了 boost::<span class="RenoLink"><a href="http://www.boost.org/libs/tuple/doc/tuple_users_guide.html";>tuple</a></span> 的用法, 用它把发生错误的函数名称和errno信息打包存储到异常对象当中,这样更加方 便:</p> <pre>#include &lt;<span class="RenoLink"><a href="exception_error_info_group_hpp.html">boost/exception/info_tuple.hpp</a></span>&gt;
 #include &lt;boost/shared_ptr.hpp&gt;
 #include &lt;stdio.h&gt;
@@ -144,9 +144,9 @@
             file_name_info(name) &lt;&lt;
             clib_failure("fopen",errno);
     }</pre>
-<p>Note that the members of a boost::<span class="RenoLink"><a href="http://www.boost.org/libs/tuple/doc/tuple_users_guide.html";>tuple</a></span> are stored separately in exception objects; they can only be retrieved individually, using <span class="RenoLink"><a href="get_error_info.html">get_error_info</a></span>.</p> +<p>注意到 boost::<span class="RenoLink"><a href="http://www.boost.org/libs/tuple/doc/tuple_users_guide.html";>tuple</a></span> 的各个成员是单独存储到异常对象中的; 它们也只能单独的获取出来, 使用函数 <span class="RenoLink"><a href="get_error_info.html">get_error_info</a></span> .</p>
 </div></div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>See Also:</h3>
+<h3>参见:</h3>
<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/> </a><a href="tutorial_enable_error_info.html">Integrating Boost Exception in Existing Exception Class Hierarchies<br/>
 </a></div>

Modified: trunk/libs/exception/doc/types.html
==============================================================================
--- trunk/libs/exception/doc/types.html (original)
+++ trunk/libs/exception/doc/types.html Sun Jun 14 17:49:43 2009
@@ -30,7 +30,7 @@
 <p><a href="unknown_exception.html">unknown_exception</a></p>
 </div>
 </div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>See Also:</h3>
+<h3>参见:</h3>
<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/>
 </a></div>
 </div>

Modified: trunk/libs/exception/doc/unknown_exception.html
==============================================================================
--- trunk/libs/exception/doc/unknown_exception.html     (original)
+++ trunk/libs/exception/doc/unknown_exception.html     Sun Jun 14 17:49:43 2009
@@ -33,9 +33,9 @@
         ---unspecified---
         };</span>
     }</pre>
-</div><p>This type is used by the <span class="RenoLink"><a href="exception_ptr.html">exception_ptr</a></span> support in Boost Exception. Please see <span class="RenoLink"><a href="current_exception.html">current_exception</a></span>.</p> +</div><p>这个类型在 <span class="RenoLink"><a href="exception_ptr.html">exception_ptr</a></span> 中使用. 参见 <span class="RenoLink"><a href="current_exception.html">current_exception</a></span>.</p>
 </div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>See Also:</h3>
+<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="current_exception.html">current_exception<br/>

Modified: trunk/libs/exception/doc/using_virtual_inheritance_in_exception_types.html
==============================================================================
--- trunk/libs/exception/doc/using_virtual_inheritance_in_exception_types.html (original) +++ trunk/libs/exception/doc/using_virtual_inheritance_in_exception_types.html Sun Jun 14 17:49:43 2009
@@ -19,9 +19,9 @@
 <!-- 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>Using Virtual Inheritance in Exception Types</h3> +<div class="RenoIncludeDIV"><div class="RenoAutoDIV"><h3>在异常类型之间使用 虚拟继承</h3>
 </div>
-<p>Exception types should use virtual inheritance when deriving from other exception types. This insight is due to Andrew Koenig. Using virtual inheritance prevents ambiguity problems in the exception handler:</p> +<p>在异常对象之间应该使用虚拟继承, 这最早是由 Andrew Koenig 发现的.使用虚拟 继承可以避免在异常处理中产生的歧义性:</p>
 <pre>#include &lt;iostream&gt;
 struct my_exc1 : std::exception { char const* what() const throw(); };
 struct my_exc2 : std::exception { char const* what() const throw(); };
@@ -34,10 +34,10 @@
     catch(std::exception const&amp; e) {}
     catch(...) { std::cout &lt;&lt; "whoops!" &lt;&lt; std::endl; }
     }</pre>
-<p>The program above outputs "whoops!" because the conversion to std::exception is ambiguous.</p> -<p>The overhead introduced by virtual inheritance is always negligible in the context of exception handling. Note that virtual bases are initialized directly by the constructor of the most-derived-type (the type passed to the throw statement, in case of exceptions.) However, typically this detail is of no concern when boost::<span class="RenoLink"><a href="exception.html">exception</a></span> is used, because it enables exception types to be trivial structs with no members (there's nothing to initialize.) See <span class="RenoLink"><a href="exception_types_as_simple_semantic_tags.html">Exception Types as Simple Semantic Tags</a></span>.</p>
+<p>上面的程序会输出 "whoops!" , 因为到 std::exception 的转换时歧义的.</p>
+<p>在异常的处理的上下文中, 虚拟继承所产生的代价是微不足道的. 注意到虚基类是 通过最顶端子类初始化的 (在异常处理中, 就是向throw语句传递的类型.) 但是, 典型 的情况是使用 boost::<span class="RenoLink"><a href="exception.html">exception</a></span> 类型的时候, 这种细节不值得关注, 这是因为由于异常对象没有成员(这就不需要初始化).参见 <span class="RenoLink"><a href="exception_types_as_simple_semantic_tags.html">Exception Types as Simple Semantic Tags</a></span>.</p>
 </div><div class="RenoAutoDIV"><div class="RenoHR"><hr/></div>
-<h3>See Also:</h3>
+<h3>参见:</h3>
<div class="RenoPageList"><a href="boost-exception.html">Boost Exception<br/> </a><a href="frequently_asked_questions.html">Frequently Asked Questions<br/>
 </a></div>

Other related posts:

  • » [boost-doc-zh commit] r264 - for Version 1.39 - codesite-noreply