[boost-doc-zh commit] r251 - 转换至1.39.0,第4批,完成以下库:

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

Author: alai04
Date: Sun May 31 23:21:30 2009
New Revision: 251

Added:
   trunk/doc/html/boost/proto/noinvoke.html
Modified:
   trunk/doc/html/boost_staticassert.html
   trunk/doc/html/proto.html
   trunk/doc/html/proto/reference.html
   trunk/doc/html/proto/users_guide.html
   trunk/doc/html/signals/tests.html
   trunk/doc/html/string_algo.html
   trunk/doc/html/string_algo/concept.html
   trunk/doc/html/string_algo/design.html
   trunk/doc/html/string_algo/quickref.html

Log:
转换至1.39.0,第4批,完成以下库:
program_options
proto
ref
signals
static_assert
string_algo

Added: trunk/doc/html/boost/proto/noinvoke.html
==============================================================================
--- (empty file)
+++ trunk/doc/html/boost/proto/noinvoke.html    Sun May 31 23:21:30 2009
@@ -0,0 +1,75 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<title>Struct template noinvoke</title><link rel="stylesheet" href="../../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.3">
+<link rel="home" href="../../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../../proto/reference.html#header.boost.proto.transform.make_hpp" title="Header &lt;boost/proto/transform/make.hpp&gt;">
+<link rel="prev" href="lazy/impl.html" title="Struct template impl">
+<link rel="next" href="protect.html" title="Struct template protect"></head> +<body alink="#0000ff" bgcolor="white" link="#0000ff" text="black" vlink="#840084">
+<table cellpadding="2" width="100%"><tbody><tr>
+<td valign="top"><img alt="Boost C++ Libraries" src="../../../../boost.png" height="86" width="277"></td>
+<td align="center"><a href="../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html";>People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html";>FAQ</a></td>
+<td align="center"><a href="../../../../more/index.htm">More</a></td>
+</tr></tbody></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lazy/impl.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.make_hpp"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="protect.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="refentry" lang="en">
+<a name="boost.proto.noinvoke"></a><div class="titlepage"></div>
+<div class="refnamediv">
+<h2><span class="refentrytitle">Struct template noinvoke</span></h2>
+<p>boost::proto::noinvoke -- A type annotation in an <a class="link" href="../../ObjectTransform.html" title="Concept ObjectTransform">ObjectTransform</a> which instructs + Proto not to look for a nested <code class="computeroutput">::type</code> within + <code class="computeroutput">T</code> after type substitution.<br>boost::proto::noinvoke -- 在 <a class="link" href="../../ObjectTransform.html" title="Concept ObjectTransform">ObjectTransform</a> 中的一个类型注解,指定 Proto&nbsp;在类 型替换后不要在 + <code class="computeroutput">T</code> 的内部查找嵌套的 <code class="computeroutput">::type</code> 。</p>
+</div>
+<h2 xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"; class="refsynopsisdiv-title">Synopsis 摘要</h2> +<div xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"; class="refsynopsisdiv"><pre class="synopsis"><span class="emphasis"><em>// In header: &lt;<a class="link" href="../../proto/reference.html#header.boost.proto.transform.make_hpp" title="Header &lt;boost/proto/transform/make.hpp&gt;">boost/proto/transform/make.hpp</a>&gt;<br><br></em></span><span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <br><span class="bold"><strong>struct</strong></span> <a class="link" href="noinvoke.html" title="Struct template noinvoke">noinvoke</a> {<br>};</pre></div>
+<div class="refsect1" lang="en">
+<a name="id3311757"></a><h2>Description 说明</h2>
+<p>
+ <a class="link" href="../../ObjectTransform.html" title="Concept ObjectTransform">ObjectTransform</a>s are evaluated by + <code class="computeroutput"><a class="link" href="make.html" title="Struct template make">proto::make&lt;&gt;</a></code>, + which finds all nested transforms and replaces them with the result of their applications. + If any substitutions are performed, the result is first assumed to be a metafunction to be applied; + that is, Proto checks to see if the result has a nested <code class="computeroutput">::type</code> + typedef. If it does, that becomes the result. The purpose of <code class="computeroutput">proto::noinvoke&lt;&gt;</code> + is to prevent Proto from looking for a nested <code class="computeroutput">::type</code> typedef + in these situations.<br><a class="link" href="../../ObjectTransform.html" title="Concept ObjectTransform">ObjectTransform</a>s 是由 + <code class="computeroutput"><a class="link" href="make.html" title="Struct template make">proto::make&lt;&gt;</a></code> 来求值的,它找出 所有内嵌的变换并以它们的应用结果来替换它们。如果执行了任一替换,其结果首先被 假定为一个要应用的元函数;即 Proto 检查该结果是否带有内嵌的 <code class="computeroutput">::type</code> + typedef。如果有,则成为结果。<code class="computeroutput">proto::noinvoke&lt;&gt;</code> + 的目的是阻止 Proto 在这种情况下查找内嵌的 <code class="computeroutput">::type</code> typedef。&nbsp;
+          </p>
+<p>
+            Example:<br>示例:
+            </p>
+<pre class="programlisting">struct Test<br> : <a class="link" href="when.html" title="Struct template when">proto::when</a>&lt;<br> <a class="link" href="_.html" title="Struct _">_</a>
+      , proto::noinvoke&lt;
+ // This remove_pointer invocation is bloked by noinvoke <br> // 这个remove_pointer调用被noinvoke阻止
+            boost::remove_pointer&lt;
+ // This add_pointer invocation is *not* blocked by noinvoke <br> // 这个add_pointer调用则不会被noinvoke阻止 + boost::add_pointer&lt;<a class="link" href="_.html" title="Struct _">_</a>&gt;<br> &gt;<br> &gt;()<br> &gt;<br>{};<br><br>void test_noinvoke()<br>{<br> typedef <a class="link" href="terminal.html" title="Struct template terminal">proto::terminal</a>&lt;int&gt;::type Int;<br> <br> BOOST_MPL_ASSERT((<br> boost::is_same&lt;<br> boost::result_of&lt;Test(Int)&gt;::type<br> , boost::remove_pointer&lt;Int *&gt;<br> &gt;<br> ));<br> <br> Int i = {42};<br> boost::remove_pointer&lt;Int *&gt; t = Test()(i);<br>}</pre>
+<p>
+          </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"; width="100%"><tbody><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright (c) 2008 Eric Niebler<p> + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt"; target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+      </p>
+</div></td>
+</tr></tbody></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lazy/impl.html"><img src="../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../../proto/reference.html#header.boost.proto.transform.make_hpp"><img src="../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="protect.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body></html>
\ No newline at end of file

Modified: trunk/doc/html/boost_staticassert.html
==============================================================================
--- trunk/doc/html/boost_staticassert.html      (original)
+++ trunk/doc/html/boost_staticassert.html      Sun May 31 23:21:30 2009
@@ -1,293 +1,205 @@
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
 <html><head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Chapter 18.Boost.StaticAssert</title>

-  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-
-
-
- <title>Chapter 17.Boost.StaticAssert</title><link rel="stylesheet" href="boostbook.css" type="text/css">
-
-  <meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
-
- <link rel="start" href="index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
-
- <link rel="up" href="libraries.html" title="PartI.The Boost C++ Libraries (BoostBook Subset)">
-
-  <link rel="prev" href="signals/tests.html" title="Testsuite">
-
- <link rel="next" href="boost_staticassert/how.html" title=" How it works"></head> -<body alink="#0000ff" bgcolor="white" link="#0000ff" text="black" vlink="#840084">
-
+<link rel="stylesheet" href="boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.68.1">
+<link rel="start" href="index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="libraries.html" title="PartI.The Boost C++ Libraries (BoostBook Subset)">
+<link rel="prev" href="signals2/tests.html" title="Testsuite">
+<link rel="next" href="boost_staticassert/how.html" title=" How it works">
+</head>
+<body style="color: black; background-color: white;" alink="#0000ff" link="#0000ff" vlink="#840084">
 <table cellpadding="2" width="100%">
-
-  <tbody>
-    <tr>
- <td valign="top"><img alt="Boost C++ Libraries" src="../../boost.png" height="86" width="277"></td>
-
-      <td align="center"><a href="../../index.htm">Home</a></td>
-
- <td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
-
-      <td align="center"><a href="../../people/people.htm">People</a></td>
-
-      <td align="center"><a href="../../more/faq.htm">FAQ</a></td>
-
-      <td align="center"><a href="../../more/index.htm">More</a></td>
-
-    </tr>
-  </tbody>
+<tbody>
+<tr>
+<td valign="top"><img alt="Boost C++ Libraries" src="../../boost.png" height="86" width="277"></td>
+<td align="center"><a href="../../index.htm">Home</a></td>
+<td align="center"><a href="../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../people/people.htm">People</a></td>
+<td align="center"><a href="../../more/faq.htm">FAQ</a></td>
+<td align="center"><a href="../../more/index.htm">More</a></td>
+</tr>
+</tbody>
 </table>
-
 <hr>
-<div class="spirit-nav">
-<a accesskey="p" href="signals/tests.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="libraries.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="boost_staticassert/how.html"><img src="images/next.png" alt="Next"></a> +<div class="spirit-nav"><a accesskey="p" href="signals2/tests.html"><img style="border: 0px solid ; width: 19px; height: 19px;" src="images/prev.png" alt="Prev"></a><a accesskey="u" href="libraries.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="boost_staticassert/how.html"><img src="images/next.png" alt="Next"></a>
 </div>
-
 <div class="chapter" lang="en">
 <div class="titlepage">
 <div>
 <div>
-<h2 class="title">
-<a name="boost_staticassert"></a>Chapter 17. Boost.StaticAssert</h2>
+<h2 class="title"><a name="boost_staticassert"></a>Chapter
+18. Boost.StaticAssert</h2>
 </div>
-
 <div>
 <div class="author">
-<h3 class="author">
-<span class="firstname">John</span> <span class="surname">Maddock</span>
+<h3 class="author"><span class="firstname">John</span>
+<span class="surname">Maddock</span>
 </h3>
 </div>
 </div>
-
 <div>
 <div class="author">
-<h3 class="author">
-<span class="firstname">Steve</span> <span class="surname">Cleary</span>
+<h3 class="author"><span class="firstname">Steve</span>
+<span class="surname">Cleary</span>
 </h3>
 </div>
 </div>
-
 <div>
-<p class="copyright">Copyright 2000, 2005 Steve Cleary and John Maddock</p>
+<p class="copyright">Copyright 2000, 2005 Steve Cleary and
+John Maddock</p>
 </div>
-
 <div>
-<div class="legalnotice">
-<a name="id1635481"></a>
-<p>
- Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt"; target="_top">
-        http://www.boost.org/LICENSE_1_0.txt </a>)
-      </p>
-
+<div class="legalnotice"><a name="id1635481"></a>
+<p> Distributed under the Boost Software License, Version 1.0.
+(See accompanying file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt"; target="_top">
+http://www.boost.org/LICENSE_1_0.txt </a>) </p>
 </div>
 </div>
-
 </div>
 </div>
-
 <div class="toc">
 <p><b>Table of Contents 目录</b></p>
-
 <dl>
-
- <dt><span class="section"><a href="boost_staticassert.html#boost_staticassert.intro">综述及指南 </a></span></dt>
-
-  <dd>
-    <dl>
-
- <dt><span class="section"><a href="boost_staticassert.html#boost_staticassert.namespace">在名字空间域中使 用</a></span></dt>
-
- <dt><span class="section"><a href="boost_staticassert.html#boost_staticassert.function">在函数域中使用 </a></span></dt>
-
- <dt><span class="section"><a href="boost_staticassert.html#boost_staticassert.class">在类域中使用 </a></span></dt>
-
- <dt><span class="section"><a href="boost_staticassert.html#boost_staticassert.templates">在模板中使用 </a></span></dt>
-
-    </dl>
-  </dd>
-
- <dt><span class="section"><a href="boost_staticassert/how.html">它是如何 工作的</a></span></dt>
-
- <dt><span class="section"><a href="boost_staticassert/test.html">测试程序 </a></span></dt>
-
+<dt><span class="section"><a href="boost_staticassert.html#boost_staticassert.intro">综述及指南 </a></span></dt>
+<dd>
+<dl>
+<dt><span class="section"><a href="boost_staticassert.html#boost_staticassert.namespace">在
+名字空间域中使用</a></span></dt>
+<dt><span class="section"><a href="boost_staticassert.html#boost_staticassert.function">在函
+数域中使用</a></span></dt>
+<dt><span class="section"><a href="boost_staticassert.html#boost_staticassert.class">在类域中使
+用</a></span></dt>
+<dt><span class="section"><a href="boost_staticassert.html#boost_staticassert.templates">在
+模板中使用</a></span></dt>
+</dl>
+</dd>
+<dt><span class="section"><a href="boost_staticassert/how.html">它是如何工 作的</a></span></dt> +<dt><span class="section"><a href="boost_staticassert/test.html">测试程序 </a></span></dt>
 </dl>
-
 </div>
-
 <div class="section" lang="en">
-
<p>本手册还提供了 <a href="http://svn.boost.org/svn/boost/sandbox/pdf/static_assert/release/static_assert.pdf"; target="_top">适于打印的 PDF 格式</a>。</p> <h2 class="title" style="clear: both;"><a name="boost_staticassert.intro"></a>综述及指南</h2>
-
 <div class="toc">
 <dl>
-
- <dt><span class="section"><a href="boost_staticassert.html#boost_staticassert.namespace">在名字空间域中使 用</a></span></dt>
-
- <dt><span class="section"><a href="boost_staticassert.html#boost_staticassert.function">在函数域中使用 </a></span></dt>
-
- <dt><span class="section"><a href="boost_staticassert.html#boost_staticassert.class">在函数域中使用 </a></span></dt>
-
- <dt><span class="section"><a href="boost_staticassert.html#boost_staticassert.templates">在模板中使用 </a></span></dt>
-
+<dt><span class="section"><a href="boost_staticassert.html#boost_staticassert.namespace">在
+名字空间域中使用</a></span></dt>
+<dt><span class="section"><a href="boost_staticassert.html#boost_staticassert.function">在函
+数域中使用</a></span></dt>
+<dt><span class="section"><a href="boost_staticassert.html#boost_staticassert.class">在函数域中
+使用</a></span></dt>
+<dt><span class="section"><a href="boost_staticassert.html#boost_staticassert.templates">在
+模板中使用</a></span></dt>
 </dl>
 </div>
-
-
-<p>头文件 <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">static_assert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> 提供了一个独立的宏 <code class="computeroutput"><span class="identifier">BOOST_STATIC_ASSERT</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code>,如果 integral-constant-expression <code class="computeroutput"><span class="identifier">x</span></code> 不为 true,将产生一个编译时错误信息。换句话说,它是一个 assert 宏在编译时的等价 物,这有时被称为"编译时断言",但在当前这些文档中被称为"静态断言"。注意,如果 条件为 <code class="computeroutput"><span class="keyword">true</span></code>,这个宏将不生成代码和数据----而这个宏既可以 用于名字空间域,类域,也可以用于函数域。当用在模板中时,静态断言在模板实例化 时被评估,这在确定模板参数时特别有用。</p>
-
-<p><code class="computeroutput"><span class="identifier">BOOST_STATIC_ASSERT</span></code> 的目标之一是生成可读的 错误信息。这些就立刻告诉使用者一个库的某种用法是不被支持的。这时的错误信息针 对不同的编译器会有明显的不同,但你应该会看到类似这样的东西:</p>
-
+<p>头文件 <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">static_assert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> 提供了一个独立的宏 +<code class="computeroutput"><span class="identifier">BOOST_STATIC_ASSERT</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code>,如果 +integral-constant-expression <code class="computeroutput"><span class="identifier">x</span></code> 不为
+true,将产生一个编译时错误信息。换句话说,它是一个 assert
+宏在编译时的等价物,这有时被称为"编译时断言",但在当前这些文档中被称为"静态 断言"。注意,如果条件为 <code class="computeroutput"><span class="keyword">true</span></code>, +这个宏将不生成代码和数据----而这个宏既可以用于名字空间域,类域,也可以用于函 数域。当用在模板中时,静态断言在模板实例化时被评估,这在确定模板参数
+时特别有用。</p>
+<p><code class="computeroutput"><span class="identifier">BOOST_STATIC_ASSERT</span></code> +的目标之一是生成可读的错误信息。这些就立刻告诉使用者一个库的某种用法是不被 支持的。这时的错误信息针对不同的编译器会有明显的不同,但你应该会看到类
+似这样的东西:</p>
<pre class="programlisting"><span class="identifier">Illegal</span> <span class="identifier">use</span> <span class="identifier">of</span> <span class="identifier">STATIC_ASSERTION_FAILURE</span><span class="special">&lt;</span><span class="keyword">false</span><span class="special">&gt;</span>
 </pre>
-
 <p>这样至少能让人抓住要害!</p>
-
-<p>你可以在任何能够放置一个声明的地方使用 <code class="computeroutput"><span class="identifier">BOOST_STATIC_ASSERT</span></code>,也就是说在类域,函数与 或名字空间域中,以下是举例说明:</p>
-
+<p>你可以在任何能够放置一个声明的地方使用 <code class="computeroutput"><span class="identifier">BOOST_STATIC_ASSERT</span></code>,
+也就是说在类域,函数与或名字空间域中,以下是举例说明:</p>
 <div class="section" lang="en">
 <div class="titlepage">
 <div>
 <div>
-<h3 class="title">
-<a name="boost_staticassert.namespace"></a>在名字空间域中使用</h3>
+<h3 class="title"><a name="boost_staticassert.namespace"></a>在
+名字空间域中使用</h3>
 </div>
 </div>
 </div>
-
-<p>如果在名字空间域中有一些条件必须总为 true(这通常意味着平台的特殊需求 ),那么就可以把这个宏用在名字空间域中。假设我们需要 <code class="computeroutput"><span class="keyword">int</span></code> 至少是一个 32-bit 的整类型,而且 <code class="computeroutput"><span class="keyword">wchar_t</span></code> 必须是一个 unsigned 类型。我们可以在编 译时进行这样的校验:</p>
-
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">climits</span><span class="special">&gt;</span> -<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">cwchar</span><span class="special">&gt;</span> -<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">limits</span><span class="special">&gt;</span> -<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">static_assert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-
-<span class="keyword">namespace</span> <span class="identifier">my_conditions</span> <span class="special">{</span>
-
- <span class="identifier">BOOST_STATIC_ASSERT</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;::</span><span class="identifier">digits</span> <span class="special">&gt;=</span> <span class="number">32</span><span class="special">);</span> - <span class="identifier">BOOST_STATIC_ASSERT</span><span class="special">(</span><span class="identifier">WCHAR_MIN</span> <span class="special">&gt;=</span> <span class="number">0</span><span class="special">);</span>
-
-<span class="special">}</span> <span class="comment">// namespace my_conditions<br></span></pre>
-
-<p>这里名字空间 my_conditions 的用法需要一些解释。宏 <code class="computeroutput"><span class="identifier">BOOST_STATIC_ASSERT</span></code> 一般是通过一个 typedef 声明在起作用,而且因为 typedef 必须有一个名字,宏通过自动从 <code class="computeroutput"><span class="identifier">__LINE__</span></code> 的值 中截取一个片段来生成一个名字。当在类域或函数域中使用 <code class="computeroutput"><span class="identifier">BOOST_STATIC_ASSERT</span></code> 时,每一个使用 <code class="computeroutput"><span class="identifier">BOOST_STATIC_ASSERT</span></code>
+<p>如果在名字空间域中有一些条件必须总为
+true(这通常意味着平台的特殊需求),那么就可以把这个宏用在名字空间域中。假 设我们需要 <code class="computeroutput"><span class="keyword">int</span></code> +至少是一个 32-bit 的整类型,而且 <code class="computeroutput"><span class="keyword">wchar_t</span></code> 必须是一个
+unsigned 类型。我们可以在编译时进行这样的校验:</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">climits</span><span class="special">&gt;</span><br><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">cwchar</span><span class="special">&gt;</span><br><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">limits</span><span class="special">&gt;</span><br><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">static_assert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span><br><span class="keyword">namespace</span> <span class="identifier">my_conditions</span> <span class="special">{</span><br><span class="identifier">BOOST_STATIC_ASSERT</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;::</span><span class="identifier">digits</span> <span class="special">&gt;=</span> <span class="number">32</span><span class="special">);</span><br><span class="identifier">BOOST_STATIC_ASSERT</span><span class="special">(</span><span class="identifier">WCHAR_MIN</span> <span class="special">&gt;=</span> <span class="number">0</span><span class="special">);</span><br><span class="special">}</span> <span class="comment">// namespace my_conditions<br></span></pre> +<p>这里名字空间 my_conditions 的用法需要一些解释。宏 <code class="computeroutput"><span class="identifier">BOOST_STATIC_ASSERT</span></code> +一般是通过一个 typedef 声明在起作用,而且因为 typedef 必须有一个名字,宏通 过自动从 <code class="computeroutput"><span class="identifier">__LINE__</span></code> +的值中截取一个片段来生成一个名字。当在类域或函数域中使用 <code class="computeroutput"><span class="identifier">BOOST_STATIC_ASSERT</span></code> +时,每一个使用 <code class="computeroutput"><span class="identifier">BOOST_STATIC_ASSERT</span></code> 的地方保证生成一个在域中唯一的名字(只要你在每一行中最多只使用一次宏)。但 是如果用在一个头文件的名字空间域中,而这个名字空间会在多个头文件中延 续,每一个都可以有它自己的静态断言,因此在"相同"的行,就会生成重复的声明。 在理论上编译器应该默默地忽略重复的
 typedef
声明,但是很多编译器并没有这样做(即使它们这样做了,它们也有资格在这种情况 下发出一个警告)。为了避免潜在的问题,如果你在一个头文件而且是在名字空 -间中使用 <code class="computeroutput"><span class="identifier">BOOST_STATIC_ASSERT</span></code>,那么将它们封装在一个在 头文件中是唯一的名字空间中。</p>
-
+间中使用 <code class="computeroutput"><span class="identifier">BOOST_STATIC_ASSERT</span></code>,
+那么将它们封装在一个在头文件中是唯一的名字空间中。</p>
 </div>
-
 <div class="section" lang="en">
 <div class="titlepage">
 <div>
 <div>
-<h3 class="title">
-<a name="boost_staticassert.function"></a>在函数域中使用</h3>
+<h3 class="title"><a name="boost_staticassert.function"></a>在
+函数域中使用</h3>
 </div>
 </div>
 </div>
-
-<p>这个宏在函数域中的典型用法就是用在模板函数内部,用来检查模板参数。设想我 们有一个基于迭代器的算法需要随机访问迭代器。如果这个算法被一个迭代 +<p>这个宏在函数域中的典型用法就是用在模板函数内部,用来检查模板参数。设想我 们有一个基于迭代器的算法需要随机访问迭代器。如果这个算
+法被一个迭代
器实例化,而这个迭代器不符合我们的要求,那么最终就会产生一个错误,但是这可 能深深地嵌套在几层模板之内,让使用者去确定到底哪里发生了问题可能很困 难。一种选择就是在模板的最上层增加一个静态断言,这样一来,如果条件没有被满 足,那么错误会以一种对于误用模板的使用者来说相当明显的方式产生出来。</p>
-
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">&gt;</span> -<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">static_assert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span> -<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RandomAccessIterator</span> <span class="special">&gt;</span> -<span class="identifier">RandomAccessIterator</span> <span class="identifier">foo</span><span class="special">(</span><span class="identifier">RandomAccessIterator</span> <span class="identifier">from</span><span class="special">,</span> <span class="identifier">RandomAccessIterator</span> <span class="identifier">to</span><span class="special">)</span>
-<span class="special">{</span>
- <span class="comment">// this template can only be used with<br></span> <span class="comment">// random access iterators...<br></span> <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator_traits</span><span class="special">&lt;</span> <span class="identifier">RandomAccessIterator</span> <span class="special">&gt;::</span><span class="identifier">iterator_category</span> <span class="identifier">cat</span><span class="special">;</span> - <span class="identifier">BOOST_STATIC_ASSERT</span><span class="special">((</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_convertible</span><span class="special">&lt;</span><span class="identifier">cat</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">random_access_iterator_tag</span><span class="special">&amp;&gt;::</span><span class="identifier">value</span><span class="special">));</span> - <span class="comment">//<br></span> <span class="comment">// detail goes here...<br></span> <span class="keyword">return</span> <span class="identifier">from</span><span class="special">;</span>
-<span class="special">}</span>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">&gt;</span><br><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">static_assert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span><br><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span><br><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RandomAccessIterator</span> <span class="special">&gt;</span><br><span class="identifier">RandomAccessIterator</span> <span class="identifier">foo</span><span class="special">(</span><span class="identifier">RandomAccessIterator</span> <span class="identifier">from</span><span class="special">,</span> <span class="identifier">RandomAccessIterator</span> <span class="identifier">to</span><span class="special">)</span><br><span class="special">{</span><br><span class="comment">// this template can only be used with<br></span> <span class="comment">// random access iterators...<br></span> <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">iterator_traits</span><span class="special">&lt;</span> <span class="identifier">RandomAccessIterator</span> <span class="special">&gt;::</span><span class="identifier">iterator_category</span> <span class="identifier">cat</span><span class="special">;</span><br><span class="identifier">BOOST_STATIC_ASSERT</span><span class="special">((</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">is_convertible</span><span class="special">&lt;</span><span class="identifier">cat</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">random_access_iterator_tag</span><span class="special">&amp;&gt;::</span><span class="identifier">value</span><span class="special">));</span><br><span class="comment">//<br></span> <span class="comment">// detail goes here...<br></span> <span class="keyword">return</span> <span class="identifier">from</span><span class="special">;</span><br><span class="special">}</span>
 </pre>
-
-<p>有几个脚注记录在此:那一对围绕断言的额外插入的圆括号,是为了防止 <code class="computeroutput"><span class="identifier">is_convertible</span></code> 模板内部的逗号被预处理器解释 成为宏参数的分隔符;<code class="computeroutput"><span class="identifier">is_convertible</span></code> 的目标类型是一个引用类型,因 为如果转换需要使用一个用户定义构造函数的话,某些编译器在使用 <code class="computeroutput"><span class="identifier">is_convertible</span></code> 时会出问题(在某些情况下,不 能保证这里的 iterator tag 类是可拷贝构造的)。</p>
-
+<p>有几个脚注记录在此:那一对围绕断言的额外插入的圆括号,是为了防止 <code class="computeroutput"><span class="identifier">is_convertible</span></code> +模板内部的逗号被预处理器解释成为宏参数的分隔符;<code class="computeroutput"><span class="identifier">is_convertible</span></code> +的目标类型是一个引用类型,因为如果转换需要使用一个用户定义构造函数的话,某 些编译器在使用 <code class="computeroutput"><span class="identifier">is_convertible</span></code> +时会出问题(在某些情况下,不能保证这里的 iterator tag 类是可拷贝构造的)。 </p>
 </div>
-
 <div class="section" lang="en">
 <div class="titlepage">
 <div>
 <div>
-<h3 class="title">
-<a name="boost_staticassert.class"></a>在类域中使用</h3>
+<h3 class="title"><a name="boost_staticassert.class"></a>在
+类域中使用</h3>
 </div>
 </div>
 </div>
-
-<p>这个宏经常会用在那些是模板的类中。假设我们有一个模板类需要一个精度至少 为 16-bit 的无符号整类型作为一个模板参数,我们可以像这样做到这一点:</p>
-
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">climits</span><span class="special">&gt;</span> -<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">static_assert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">UnsignedInt</span><span class="special">&gt;</span>
-<span class="keyword">class</span> <span class="identifier">myclass</span>
-<span class="special">{</span>
-<span class="keyword">private</span><span class="special">:</span>
- <span class="identifier">BOOST_STATIC_ASSERT</span><span class="special">((</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">UnsignedInt</span><span class="special">&gt;::</span><span class="identifier">digits</span> <span class="special">&gt;=</span> <span class="number">16</span><span class="special">)</span> - <span class="special">&amp;&amp;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">UnsignedInt</span><span class="special">&gt;::</span><span class="identifier">is_specialized</span> - <span class="special">&amp;&amp;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">UnsignedInt</span><span class="special">&gt;::</span><span class="identifier">is_integer</span> - <span class="special">&amp;&amp;</span> <span class="special">!</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">UnsignedInt</span><span class="special">&gt;::</span><span class="identifier">is_signed</span><span class="special">);</span>
-<span class="keyword">public</span><span class="special">:</span>
-   <span class="comment">/* details here */</span>
-<span class="special">};</span>
+<p>这个宏经常会用在那些是模板的类中。假设我们有一个模板类需要一个精度至少 为 16-bit
+的无符号整类型作为一个模板参数,我们可以像这样做到这一点:</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">climits</span><span class="special">&gt;</span><br><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">static_assert</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span><br><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">UnsignedInt</span><span class="special">&gt;</span><br><span class="keyword">class</span> <span class="identifier">myclass</span><br><span class="special">{</span><br><span class="keyword">private</span><span class="special">:</span><br><span class="identifier">BOOST_STATIC_ASSERT</span><span class="special">((</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">UnsignedInt</span><span class="special">&gt;::</span><span class="identifier">digits</span> <span class="special">&gt;=</span> <span class="number">16</span><span class="special">)</span><br><span class="special">&amp;&amp;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">UnsignedInt</span><span class="special">&gt;::</span><span class="identifier">is_specialized</span><br><span class="special">&amp;&amp;</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">UnsignedInt</span><span class="special">&gt;::</span><span class="identifier">is_integer</span><br><span class="special">&amp;&amp;</span> <span class="special">!</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">numeric_limits</span><span class="special">&lt;</span><span class="identifier">UnsignedInt</span><span class="special">&gt;::</span><span class="identifier">is_signed</span><span class="special">);</span><br><span class="keyword">public</span><span class="special">:</span><br><span class="comment">/* details here */</span><br><span class="special">};</span>
 </pre>
-
 </div>
-
 <div class="section" lang="en">
 <div class="titlepage">
 <div>
 <div>
-<h3 class="title">
-<a name="boost_staticassert.templates"></a>在模板中使用</h3>
+<h3 class="title"><a name="boost_staticassert.templates"></a>在
+模板中使用</h3>
 </div>
 </div>
 </div>
-
-<p>通常情况下,用在一个类模板或函数模板中静态断言不会被实例化,直到那个使用 它的模板被实例化,它才会被实例化。可是,这里就要提防一个问题:如果 +<p>通常情况下,用在一个类模板或函数模板中静态断言不会被实例化,直到那个使用 它的模板被实例化,它才会被实例化。可是,这里就要提防一
+个问题:如果
静态断言没有依赖于一个或更多的模板参数,那么编译器就被准许在它第一次看到静 态断言的时候就评估它,而不管模板是否已经被实例化,例如:</p>
-
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span> -<span class="keyword">struct</span> <span class="identifier">must_not_be_instantiated</span> -<span class="special">{</span> <br> <span class="identifier">BOOST_STATIC_ASSERT</span><span class="special">(</span><span class="keyword">false</span><span class="special">);</span>
-<span class="special">};</span>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span><br><span class="keyword">struct</span> <span class="identifier">must_not_be_instantiated</span><br><span class="special">{</span> <br> <span class="identifier">BOOST_STATIC_ASSERT</span><span class="special">(</span><span class="keyword">false</span><span class="special">);</span><br><span class="special">};</span>
 </pre>
-
-<p>无论模板是否已经被实例化,这在某些编译器(例如 Intel 8.1 或 gcc 3.4)上,都会产生一个编译错误。在这种情况下,就要强迫这个断言依赖于一个模板 参数:</p>
-
-<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span> -<span class="keyword">struct</span> <span class="identifier">must_not_be_instantiated</span> -<span class="special">{</span> <br> <span class="comment">// this will be triggered if this type is instantiated<br></span> <span class="identifier">BOOST_STATIC_ASSERT</span><span class="special">(</span><span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">T</span><span class="special">)</span> <span class="special">==</span> <span class="number">0</span><span class="special">);</span> <br><span class="special">};</span>
+<p>无论模板是否已经被实例化,这在某些编译器(例如 Intel 8.1 或 gcc
+3.4)上,都会产生一个编译错误。在这种情况下,就要强迫这个断言依赖于一个模板 参数:</p> +<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span><br><span class="keyword">struct</span> <span class="identifier">must_not_be_instantiated</span><br><span class="special">{</span> <br> <span class="comment">// this will be triggered if this type is instantiated<br></span> <span class="identifier">BOOST_STATIC_ASSERT</span><span class="special">(</span><span class="keyword">sizeof</span><span class="special">(</span><span class="identifier">T</span><span class="special">)</span> <span class="special">==</span> <span class="number">0</span><span class="special">);</span> <br><span class="special">};</span>
 </pre>
-
 </div>
-
 </div>
-
 </div>
-
 <table width="100%">
-  <tbody>
-    <tr>
-
- <td align="left"><p><small>Last revised: July 13, 2008 at 17:08:33 -0400</small></p>
-      </td>
-
-      <td align="right"><small></small></td>
-
-    </tr>
-  </tbody>
+<tbody>
+<tr>
+<td align="left">
+<p><small>Last revised: February 23, 2009 at 18:39:32 +0000</small></p>
+</td>
+<td align="right"></td>
+</tr>
+</tbody>
 </table>
-
 <hr>
-<div class="spirit-nav">
-<a accesskey="p" href="signals/tests.html"><img src="images/prev.png" alt="Prev"></a><a accesskey="u" href="libraries.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="boost_staticassert/how.html"><img src="images/next.png" alt="Next"></a> +<div class="spirit-nav"><a accesskey="p" href="signals2/tests.html"><img style="border: 0px solid ; width: 19px; height: 19px;" src="images/prev.png" alt="Prev"></a><a accesskey="u" href="libraries.html"><img src="images/up.png" alt="Up"></a><a accesskey="h" href="index.html"><img src="images/home.png" alt="Home"></a><a accesskey="n" href="boost_staticassert/how.html"><img src="images/next.png" alt="Next"></a>
 </div>
-
 </body></html>

Modified: trunk/doc/html/proto.html
==============================================================================
--- trunk/doc/html/proto.html   (original)
+++ trunk/doc/html/proto.html   Sun May 31 23:21:30 2009
@@ -264,7 +264,7 @@
 </div>
 </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"; width="100%"><tbody><tr> -<td align="left"><p><small>Last revised: February 07, 2009 at 16:14:09 GMT</small></p></td> +<td align="left"><p><small>Last revised: May 01, 2009 at 19:23:40 GMT</small></p></td>
 <td align="right"><div class="copyright-footer"></div></td>
 </tr></tbody></table>
 <hr>

Modified: trunk/doc/html/proto/reference.html
==============================================================================
--- trunk/doc/html/proto/reference.html (original)
+++ trunk/doc/html/proto/reference.html Sun May 31 23:21:30 2009
@@ -811,7 +811,7 @@
 </div>
 <p>Contains definition of the make&lt;&gt; transform.<br>
 包含 make&lt;&gt; 变换的定义。 </p>
-<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {<br> <span class="bold"><strong>namespace</strong></span> proto {<br> <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> <a class="link" href="../PrimitiveTransform.html" title="Concept PrimitiveTransform">PrimitiveTransform</a>&gt; <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/proto/protect.html" title="Struct template protect">protect</a>;<br> <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="bold"><strong>struct</strong></span> <a class="link" href="../boost/proto/make.html" title="Struct template make">make</a>;<br> }<br>}</pre> +<pre class="synopsis"><span class="bold"><strong>namespace</strong></span> boost {<br> <span class="bold"><strong>namespace</strong></span> proto {<br> <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="bold"><strong>struct</strong></span> <a class="link" title="Struct template noinvoke" href="../boost/proto/noinvoke.html">noinvoke</a>;<br> <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> <a class="link" title="Concept PrimitiveTransform" href="../PrimitiveTransform.html">PrimitiveTransform</a>&gt; <span class="bold"><strong>struct</strong></span> <a class="link" title="Struct template protect" href="../boost/proto/protect.html">protect</a>;<br> <span class="bold"><strong>template</strong></span>&lt;<span class="bold"><strong>typename</strong></span> T&gt; <span class="bold"><strong>struct</strong></span> <a class="link" title="Struct template make" href="../boost/proto/make.html">make</a>;<br> }<br>}<span class="bold"><strong></strong></span></pre>
 </div>
 <div class="section" lang="en">
 <div class="titlepage">

Modified: trunk/doc/html/proto/users_guide.html
==============================================================================
--- trunk/doc/html/proto/users_guide.html       (original)
+++ trunk/doc/html/proto/users_guide.html       Sun May 31 23:21:30 2009
@@ -4142,13 +4142,12 @@
<span class="emphasis"><em>变换transform</em></span> 是将某些行为 与 Proto 语法中的规则而不是与表达式的节点类型相关联的方法。使用这种方法,类 似于其它编译器构造工具中的语义动作。
         </li>
 </ul></div>
-<p>
- Two ways to evaluate expressions! How to choose? Contexts are a bit simpler - to understand and to debug, since they are largely procedural, so contexts - are a good place to start. But although transforms are more advanced, they - are also more powerful; since they are associated with rules in your grammar, - you can select the proper transform based on the entire <span class="emphasis"><em>structure</em></span> - of a sub-expression rather than simply on the type of its top-most node.<br>有两种方法对表达式进行求值!如何选择?上下文对于理解和调试来说更简 单些,因为它基本上是过程性的,所以上下文是一个良好的开端。但是,变换更为高 级,也更强大;因为它是与你的语法中的规则相关联的,你可以基于某个子表达式的整 个<span style="font-style: italic;">结构</span>而不仅仅是顶层节点的类型来选 择正确的变换。 +<p>Two ways to evaluate expressions! How to choose? Since contexts are largely +procedural, they are a bit simpler to understand and debug so they are a good +place to start. But although transforms are more advanced, they are also more +powerful; since they are associated with rules in your grammar, you can select +the proper transform based on the entire <span class="emphasis"><em>structure</em></span> of a sub-expression rather than simply +on the type of its top-most node.<br>有两种方法对表达式进行求值!如何选 择?因为上下文基本上是过程性的,它们对于理解和调试来说更简单些,所以上下文是 一个良好的开端。但是,变换更为高级,也更强大;因为它是与你的语法中的规则相关 联的,你可以基于某个子表达式的整个<span style="font-style: italic;">结构 </span>而不仅仅是顶层节点的类型来选择正确的变换。
       </p>
 <p>
Also, transforms have a concise and declarative syntax that can be confusing
@@ -5580,6 +5579,7 @@
function object, we can use it to turn output expressions into lists as follows:<br>现在,我们已经定义了 <code class="computeroutput"><span class="identifier">FoldToList</span></code>
             函数对象,我们可以用它来把输出表达式转换为链表,如下:
+




Modified: trunk/doc/html/signals/tests.html
==============================================================================
--- trunk/doc/html/signals/tests.html   (original)
+++ trunk/doc/html/signals/tests.html   Sun May 31 23:21:30 2009
@@ -1,168 +1,205 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Testsuite</title>
-<link rel="stylesheet" href="../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
-<link rel="up" href="../signals.html" title="Chapter 14. Boost.Signals">
-<link rel="prev" href="s05.html" title="Design Rationale">
-<link rel="next" href="../boost_staticassert.html" title="Chapter 15. Boost.StaticAssert">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
-<td align="center"><a href="../../../index.html">Home</a></td>
-<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/people/people.htm";>People</a></td>
-<td align="center"><a href="http://www.boost.org/more/faq.htm";>FAQ</a></td>
-<td align="center"><a href="../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="s05.html"><img src="../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../signals.html"><img src="../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../boost_staticassert.html"><img src="../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="signals.tests"></a>Testsuite</h2>
-
-<h2 class="title" style="clear: both">
-<a name="signals.tests"></a>测试套件</h2>
-
-</div></div></div>
-
-<div class="toc"><dl><dt><span class="section"><a href="tests.html#id1286870">Acceptance tests</a></span></dt></dl></div>
-
-<div class="toc"><dl><dt><span class="section"><a href="tests.html#id1286870">验收测试</a></span></dt></dl></div>
-
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="id1286870"></a>Acceptance tests</h3>
-
-<h3 class="title">
-<a name="id1286870"></a>验收测试</h3>
-
-</div></div></div>
-
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>Test</th>
-<th>Type</th>
-<th>Description</th>
-<th>If failing...</th>
-</tr></thead>
-<tbody>
-<tr>
-<td><p><a href="../../../libs/signals/test/dead_slot_test.cpp" target="_top">dead_slot_test.cpp</a></p></td>
-<td><p>run</p></td>
-<td><p>Ensure that calling <code class="computeroutput">connect</code> with a slot
-that has already been disconnected via deletion does not actually
-connect to the slot.</p>
-
-<p>确保对一个已经通过删除被断开的插槽调用
-<code class="computeroutput">connect</code>
-不会真正地连接该插槽。
-</p>
-
-</td>
-<td>?/td>
-</tr>
-<tr>
-<td><p><a href="../../../libs/signals/test/deletion_test.cpp" target="_top">deletion_test.cpp</a></p></td>
-<td><p>run</p></td>
-<td><p>Test deletion of slots.</p>
-
-<p>测试插槽的删除。</p>
-
-</td>
-<td>?/td>
-</tr>
-<tr>
-<td><p><a href="../../../libs/signals/test/ordering_test.cpp" target="_top">ordering_test.cpp</a></p></td>
-<td><p>run</p></td>
-<td><p>Test slot group ordering.</p>
-
-<p>测试插槽组排序。</p>
-
-</td>
-<td>?/td>
-</tr>
-<tr>
-<td><p><a href="../../../libs/signals/test/signal_n_test.cpp" target="_top">signal_n_test.cpp</a></p></td>
-<td><p>run</p></td>
-<td><p>Basic test of signal/slot connections and invocation using the
-<code class="computeroutput"><a class="link" href="../boost/signalN.html" title="Class template signalN">boost::signalN</a></code> class templates.</p>
-
-<p>用
-<code class="computeroutput"><a class="link" href="../boost/signalN.html" title="Class template signalN">boost::signalN</a></code>
-类模板的信号/插槽连接和调用的基本测度。</p>
-
-</td>
-<td>?/td>
-</tr>
-<tr>
-<td><p><a href="../../../libs/signals/test/signal_test.cpp" target="_top">signal_test.cpp</a></p></td>
-<td><p>run</p></td>
-<td><p>Basic test of signal/slot connections and invocation using the
-<code class="computeroutput"><a class="link" href="../boost/signal.html" title="Class template signal">boost::signal</a></code> class template.</p>
-
-<p>用
-<code class="computeroutput"><a class="link" href="../boost/signal.html" title="Class template signal">boost::signal</a></code>
-类模板的信号/插槽连接和调用的基本测试。</p>
-
-</td>
-<td><p>The <code class="computeroutput"><a class="link" href="../boost/signal.html" title="Class template signal">boost::signal</a></code> class template may not
-be usable on your compiler. However, the
-<code class="computeroutput"><a class="link" href="../boost/signalN.html" title="Class template signalN">boost::signalN</a></code> class templates may still be
-usable.</p>
-
-<p>在你的编译器上,
-<code class="computeroutput"><a class="link" href="../boost/signal.html" title="Class template signal">boost::signal</a></code>
-类模板可能不可用。
-然而
-<code class="computeroutput"><a class="link" href="../boost/signalN.html" title="Class template signalN">boost::signalN</a></code>
-类模板仍是可用的。</p>
-
-</td>
-</tr>
-<tr>
-<td><p><a href="../../../libs/signals/test/trackable_test.cpp" target="_top">trackable_test.cpp</a></p></td>
-<td><p>run</p></td>
-<td><p>Test automatic lifetime management using
-      <code class="computeroutput">boost::trackable</code> objects.</p>
-
-<p>测试使用
-      <code class="computeroutput">boost::trackable</code>
-      对象的自动生命期管理。
-      </p>
-
-      </td>
-<td>?/td>
-</tr>
-</tbody>
-</table></div>
-</div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"; width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &copy; 2001-2004 Douglas Gregor
-
-    <p>翻译:<a href="http://blog.csdn.net/jq0123";>金庆</a></p>
-    <p>译文更新:2008.7.10</p>
-
-    <p>Use, modification and distribution is subject to the Boost
-    Software License, Version 1.0. (See accompanying file
- <code class="filename">LICENSE_1_0.txt</code> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt"; target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)</p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="s05.html"><img src="../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../signals.html"><img src="../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../boost_staticassert.html"><img src="../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Testsuite</title>
+
+<link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset">
+<link rel="up" href="../signals.html" title="Chapter 14. Boost.Signals">
+<link rel="prev" href="s05.html" title="Design Rationale">
+<link rel="next" href="../signals2.html" title="Chapter 15. Boost.StaticAssert">
+</head>
+<body style="color: black; background-color: white;" alink="#0000ff" link="#0000ff" vlink="#840084">
+<table cellpadding="2" width="100%">
+<tbody>
+<tr>
+<td valign="top"><img alt="Boost C++ Libraries" src="../../../boost.png" height="86" width="277"></td>
+<td align="center"><a href="../../../index.html">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/people/people.htm";>People</a></td>
+<td align="center"><a href="http://www.boost.org/more/faq.htm";>FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</tr>
+</tbody>
+</table>
+<hr>
+<div class="spirit-nav"><a accesskey="p" href="s05.html"><img src="../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../signals.html"><img src="../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../signals2.html"><img style="border: 0px solid ; width: 19px; height: 19px;" src="../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage">
+<div>
+<div>
+<h2 class="title" style="clear: both;"><a name="signals.tests"></a>Testsuite</h2>
+<h2 class="title" style="clear: both;">
+<a name="signals.tests"></a>测试套件</h2>
+</div>
+</div>
+</div>
+<div class="toc">
+<dl>
+<dt><span class="section"><a href="tests.html#id1286870">Acceptance tests</a></span></dt>
+</dl>
+</div>
+<div class="toc">
+<dl>
+<dt><span class="section"><a href="tests.html#id1286870">验收测试 </a></span></dt>
+</dl>
+</div>
+<div class="section" lang="en">
+<div class="titlepage">
+<div>
+<div>
+<h3 class="title"><a name="id1286870"></a>Acceptance
+tests</h3>
+<h3 class="title">
+<a name="id1286870"></a>验收测试</h3>
+</div>
+</div>
+</div>
+<div class="informaltable">
+<table class="table">
+<colgroup><col><col><col></colgroup>
+<thead><tr>
+<th>Test</th>
+<th>Type</th>
+<th>Description</th>
+<th>If failing...</th>
+</tr>
+</thead><tbody>
+<tr>
+<td>
+<p><a href="../../../libs/signals/test/dead_slot_test.cpp" target="_top">dead_slot_test.cpp</a></p>
+</td>
+<td>
+<p>run</p>
+</td>
+<td>
+<p>Ensure that calling <code class="computeroutput">connect</code>
+with a slot
+that has already been disconnected via deletion does not actually
+connect to the slot.</p>
+<p>确保对一个已经通过删除被断开的插槽调用 <code class="computeroutput">connect</code>
+不会真正地连接该插槽。
+</p>
+</td>
+<td>?/td&gt;
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../../libs/signals/test/deletion_test.cpp" target="_top">deletion_test.cpp</a></p>
+</td>
+<td>
+<p>run</p>
+</td>
+<td>
+<p>Test deletion of slots.</p>
+<p>测试插槽的删除。</p>
+</td>
+<td>?/td&gt;
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../../libs/signals/test/ordering_test.cpp" target="_top">ordering_test.cpp</a></p>
+</td>
+<td>
+<p>run</p>
+</td>
+<td>
+<p>Test slot group ordering.</p>
+<p>测试插槽组排序。</p>
+</td>
+<td>?/td&gt;
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../../libs/signals/test/signal_n_test.cpp" target="_top">signal_n_test.cpp</a></p>
+</td>
+<td>
+<p>run</p>
+</td>
+<td>
+<p>Basic test of signal/slot connections and invocation
+using the
+<code class="computeroutput"><a class="link" href="../boost/signalN.html" title="Class template signalN">boost::signalN</a></code>
+class templates.</p>
+<p>用
+<code class="computeroutput"><a class="link" href="../boost/signalN.html" title="Class template signalN">boost::signalN</a></code>
+类模板的信号/插槽连接和调用的基本测度。</p>
+</td>
+<td>?/td&gt;
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../../libs/signals/test/signal_test.cpp" target="_top">signal_test.cpp</a></p>
+</td>
+<td>
+<p>run</p>
+</td>
+<td>
+<p>Basic test of signal/slot connections and invocation
+using the
+<code class="computeroutput"><a class="link" href="../boost/signal.html" title="Class template signal">boost::signal</a></code>
+class template.</p>
+<p>用
+<code class="computeroutput"><a class="link" href="../boost/signal.html" title="Class template signal">boost::signal</a></code>
+类模板的信号/插槽连接和调用的基本测试。</p>
+</td>
+<td>
+<p>The <code class="computeroutput"><a class="link" href="../boost/signal.html" title="Class template signal">boost::signal</a></code>
+class template may not
+be usable on your compiler. However, the
+<code class="computeroutput"><a class="link" href="../boost/signalN.html" title="Class template signalN">boost::signalN</a></code>
+class templates may still be
+usable.</p>
+<p>在你的编译器上,
+<code class="computeroutput"><a class="link" href="../boost/signal.html" title="Class template signal">boost::signal</a></code>
+类模板可能不可用。
+然而
+<code class="computeroutput"><a class="link" href="../boost/signalN.html" title="Class template signalN">boost::signalN</a></code>
+类模板仍是可用的。</p>
+</td>
+</tr>
+<tr>
+<td>
+<p><a href="../../../libs/signals/test/trackable_test.cpp" target="_top">trackable_test.cpp</a></p>
+</td>
+<td>
+<p>run</p>
+</td>
+<td>
+<p>Test automatic lifetime management using <code class="computeroutput">boost::trackable</code> objects.</p>
+<p>测试使用 <code class="computeroutput">boost::trackable</code>
+对象的自动生命期管理。 </p>
+</td>
+<td>?/td&gt;
+</td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"; width="100%">
+<tbody>
+<tr>
+<td align="left"></td>
+<td align="right">
+<div class="copyright-footer">Copyright (c) 2001-2004
+Douglas Gregor
+<p>翻译:<a href="http://blog.csdn.net/jq0123";>金庆</a></p>
+<p>译文更新:2008.7.10</p>
+<p>Use, modification and distribution is subject to the
+Boost Software License, Version 1.0. (See accompanying file <code class="filename">LICENSE_1_0.txt</code> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt"; target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)</p>
+</div>
+</td>
+</tr>
+</tbody>
+</table>
+<hr>
+<div class="spirit-nav"><a accesskey="p" href="s05.html"><img src="../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../signals.html"><img src="../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../signals2.html"><img style="border: 0px solid ; width: 19px; height: 19px;" src="../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body></html>
\ No newline at end of file

Modified: trunk/doc/html/string_algo.html
==============================================================================
--- trunk/doc/html/string_algo.html     (original)
+++ trunk/doc/html/string_algo.html     Sun May 31 23:21:30 2009
@@ -2,7 +2,7 @@
 <html><head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

-<title>Chapter 18. Boost String Algorithms Library</title><link rel="stylesheet" href="boostbook.css" type="text/css"> +<title>Chapter 19. Boost String Algorithms Library</title><link rel="stylesheet" href="boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
<link rel="start" href="index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> <link rel="up" href="libraries.html" title="Part I. The Boost C++ Libraries (BoostBook Subset)">
@@ -24,7 +24,7 @@
 <div class="chapter" lang="en">
 <div class="titlepage"><div>
 <div><h2 class="title">
-<a name="string_algo"></a>Chapter 18. Boost String Algorithms Library</h2></div> +<a name="string_algo"></a>Chapter 19. Boost String Algorithms Library</h2></div>
 <div><div class="author"><h3 class="author">
 <span class="firstname">Pavol</span> <span class="surname">Droba</span>
 </h3></div></div>

Modified: trunk/doc/html/string_algo/concept.html
==============================================================================
--- trunk/doc/html/string_algo/concept.html     (original)
+++ trunk/doc/html/string_algo/concept.html     Sun May 31 23:21:30 2009
@@ -1,205 +1,158 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Concepts(概念)</title>
-<link rel="stylesheet" href="../boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> -<link rel="up" href="../string_algo.html" title="Chapter17. Boost String Algorithms Library">
-<link rel="prev" href="design.html" title="Design Topics">
-<link rel="next" href="reference.html" title="Reference">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
-<td align="center"><a href="../../../index.html">Home</a></td>
-<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
-<td align="center"><a href="http://www.boost.org/users/people.html";>People</a></td> -<td align="center"><a href="http://www.boost.org/users/faq.html";>FAQ</a></td>
-<td align="center"><a href="../../../more/index.htm">More</a></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="design.html"><img src="../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../string_algo.html"><img src="../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="string_algo.concept"></a>Concepts(概念)</h2></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="concept.html#id3487479">Definitions(定 义)</a></span></dt> -<dt><span class="section"><a href="concept.html#string_algo.finder_concept">Finder Concept(Finder 概念 )</a></span></dt> -<dt><span class="section"><a href="concept.html#string_algo.formatter_concept">Formatter concept(Formatter 概念)</a></span></dt>
-</dl></div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="id3487479"></a>Definitions(定义)</h3></div></div></div>
-<div class="table">
-<a name="id3487485"></a><p class="title"><b>Table17.13. Notation(符号 )</b></p>
-<div class="table-contents"><table class="table" summary="Notation">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<tbody>
-<tr>
-<td align="left"><code class="computeroutput">F</code></td>
-<td align="left">可作为 Finder 的模型的类型</td>
-</tr>
-<tr>
-<td align="left"><code class="computeroutput">Fmt</code></td>
-<td align="left">可作为 Formatter 的模型的类型</td>
-</tr>
-<tr>
-<td align="left"><code class="computeroutput">Iter</code></td>
-<td align="left">迭代器类型</td>
-</tr>
-<tr>
-<td align="left"><code class="computeroutput">f</code></td>
-<td align="left">类型 <code class="computeroutput">F</code> 的对象</td>
-</tr>
-<tr>
-<td align="left"><code class="computeroutput">fmt</code></td>
-<td align="left">类型 <code class="computeroutput">Fmt</code> 的对象</td>
-</tr>
-<tr>
-<td align="left"><code class="computeroutput">i,j</code></td>
-<td align="left">类型 <code class="computeroutput">Iter</code> 的对象</td>
-</tr>
-</tbody>
-</table></div>
-</div>
-<br class="table-break">
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="string_algo.finder_concept"></a>Finder 概念</h3></div></div></div>
-<p>Finder 是一个搜索某个容器的任意部分的仿函数。搜索的结果以一个限定所选择 的部分的 <code class="computeroutput">iterator_range</code> 的形式给出。</p>
-<div class="table">
-<a name="id3487622"></a><p class="title"><b>Table17.14. Valid Expressions(合法表达式)</b></p> -<div class="table-contents"><table class="table" summary="Valid Expressions">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th align="left">表达式</th>
-<th align="left">返回类型</th>
-<th align="left">效果</th>
-</tr></thead>
-<tbody><tr>
-<td align="left"><code class="computeroutput">f(i,j)</code></td>
-<td align="left">可转换为 <code class="computeroutput">iterator_range&lt;Iter&gt;</code>
-</td>
-<td align="left">在区间 [i,j) 上执行搜索并返回搜索的结果</td>
-</tr></tbody>
-</table></div>
-</div>
-<br class="table-break"><p>许多算法都需要在一个容器上执行搜索操作,而一个 Finder 就是这种搜索操作的一个泛化,它允许算法从搜索中抽象出来。例如,通用的 替换算法可以替换输入的任何部分,而 Finder 就用来选择需要的那部分。</p> -<p>注意,Finder 和一种特定的迭代器类型一起工作是仅有的必要条件。然而,一个 Finder 操作可以定义成一个模板,这样就允许 Finder 可以和任何迭代器一个工作。 </p>
-<p>
-            <span class="bold"><strong>示例</strong></span>
-        </p>
-<p>
-            </p>
-<div class="itemizedlist"><ul type="disc">
-<li>Finder 实现为一个类。这个 Finder 总是将整个输入作为一个匹配项返回。 <code class="computeroutput">operator()</code>是模板化的,所以这个 Finder 能 够用于任何迭代器类型
-                    <pre class="programlisting">
-struct simple_finder
-{
-    template&lt;typename ForwardIteratorT&gt;
-    boost::iterator_range&lt;ForwardIteratorT&gt; operator()(
-        ForwardIteratorT Begin,
-        ForwardIteratorT End )
-    {
-        return boost::make_range( Begin, End );
-    }
-};
-        </pre>
-</li>
-<li>函数 Finder。Finder 可以成为任何函数对象。也就是说,和任何带有必要的识 别标识的普通函数一样可以使用。然而,这样一个函数只能用于一种特定的迭代器类 型。
-                    <pre class="programlisting">
-boost::iterator_range&lt;std::string&gt; simple_finder(
-    std::string::const_iterator Begin,
-    std::string::const_iterator End )
-{
-    return boost::make_range( Begin, End );
-}
-        </pre>
-</li>
-</ul></div>
-<p>
-        </p>
-</div>
-<div class="section" lang="en">
-<div class="titlepage"><div><div><h3 class="title">
-<a name="string_algo.formatter_concept"></a>Formatter 概念 </h3></div></div></div> -<p>Formatters 用于 <a class="link" href="design.html#string_algo.replace" title="Replace Algorithms">replace algorithms(替换算法)</a>。它们通常和 Finder 紧密结合在一起。一个 Formatter 是一个仿函数,它持有一个来自 Finder 的 结果并按照指定的方式对它执行转换。Formatter 的运作可以使用由一个指定的 Finder 提供的额外信息,比如 <code class="computeroutput"><a class="link" href="../boost/algorithm/regex_formatter.html" title="Function template regex_formatter">regex_formatter()</a></code> 使用来自 <code class="computeroutput"><a class="link" href="../boost/algorithm/regex_finder.html" title="Function template regex_finder">regex_finder()</a></code> 的匹配信息来格式化 Formatter 操作的 结果。</p>
-<div class="table">
-<a name="id3487816"></a><p class="title"><b>Table17.15. Valid Expressions(合法表达式)</b></p> -<div class="table-contents"><table class="table" summary="Valid Expressions">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th align="left">表达式</th>
-<th align="left">返回类型</th>
-<th align="left">效果</th>
-</tr></thead>
-<tbody><tr>
-<td align="left"><code class="computeroutput">fmt(f(i,j))</code></td>
-<td align="left">一个容器类型,可使用容器特有的方式访问</td>
-<td align="left">格式化 Finder 操作的结果</td>
-</tr></tbody>
-</table></div>
-</div>
-<br class="table-break"><p>和 Finders 类似,Formatters 泛化了格式化操作。一 个 Finder 用于选择输入的一个部分,Formatter 持有这个被选择的部分并对它执行某 些格式化操作。使用一个 Formatter 可以将算法从格式化中抽象出来。</p>
-<p>
-            <span class="bold"><strong>示例</strong></span>
-        </p>
-<p>
-            </p>
-<div class="itemizedlist"><ul type="disc">
-<li>Formatter 实现为一个类。这个 Formatter不执行任何格式化只返回匹配项并重 新打包。<code class="computeroutput">operator()</code> 是模板化的,所以这个 Formatter 能够用于任何 Finder 类型。
-                    <pre class="programlisting">
-struct simple_formatter
-{
-    template&lt;typename FindResultT&gt;
-    std::string operator()( const FindResultT&amp; Match )
-    {
-        std::string Temp( Match.begin(), Match.end() );
-        return Temp;
-    }
-};
-                </pre>
-</li>
-<li>函数 Formatter。和 Finder 类似,Formatter 可以成为任何函数对象。然 而,作为一个函数,它只能用于一种特定的 Finder 类型。
-                    <pre class="programlisting">
-std::string simple_formatter( boost::iterator_range&lt;std::string::const_iterator&gt;&amp; Match )
-{
-    std::string Temp( Match.begin(), Match.end() );
-    return Temp;
-}
-                    </pre>
-</li>
-</ul></div>
-<p>
-        </p>
-</div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"; width="100%"><tr> -<td align="left"><p><small>Last revised: June 19, 2008 at 08:07:24 -0400</small></p></td> -<td align="right"><div class="copyright-footer">Copyright (c) 2002-2004 Pavol Droba<p>Use, modification and distribution is subject to the Boost
-                Software License, Version 1.0. (See accompanying file
- <code class="filename">LICENSE_1_0.txt</code> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt"; target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
-            </p>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="design.html"><img src="../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../string_algo.html"><img src="../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<title>Concepts(概念)</title><link rel="stylesheet" href="../boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
+<link rel="start" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> +<link rel="up" href="../string_algo.html" title="Chapter17. Boost String Algorithms Library">
+<link rel="prev" href="design.html" title="Design Topics">
+<link rel="next" href="reference.html" title="Reference"></head>
+<body alink="#0000ff" bgcolor="white" link="#0000ff" text="black" vlink="#840084">
+<table cellpadding="2" width="100%"><tbody><tr>
+<td valign="top"><img alt="Boost C++ Libraries" src="../../../boost.png" height="86" width="277"></td>
+<td align="center"><a href="../../../index.html">Home</a></td>
+<td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
+<td align="center"><a href="http://www.boost.org/users/people.html";>People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html";>FAQ</a></td>
+<td align="center"><a href="../../../more/index.htm">More</a></td>
+</tr></tbody></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="design.html"><img src="../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../string_algo.html"><img src="../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both;">
+<a name="string_algo.concept"></a>Concepts(概念)</h2></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="concept.html#id3487479">Definitions(定 义)</a></span></dt> +<dt><span class="section"><a href="concept.html#string_algo.finder_concept">Finder Concept(Finder 概念 )</a></span></dt> +<dt><span class="section"><a href="concept.html#string_algo.formatter_concept">Formatter concept(Formatter 概念)</a></span></dt>
+</dl></div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="id3487479"></a>Definitions(定义)</h3></div></div></div>
+<div class="table">
+<a name="id3487485"></a><p class="title"><b>Table19.13. Notation(符号 )</b></p>
+<div class="table-contents"><table class="table" summary="Notation">
+<colgroup><col><col></colgroup>
+<tbody>
+<tr>
+<td align="left"><code class="computeroutput">F</code></td>
+<td align="left">可作为 Finder 的模型的类型</td>
+</tr>
+<tr>
+<td align="left"><code class="computeroutput">Fmt</code></td>
+<td align="left">可作为 Formatter 的模型的类型</td>
+</tr>
+<tr>
+<td align="left"><code class="computeroutput">Iter</code></td>
+<td align="left">迭代器类型</td>
+</tr>
+<tr>
+<td align="left"><code class="computeroutput">f</code></td>
+<td align="left">类型 <code class="computeroutput">F</code> 的对象</td>
+</tr>
+<tr>
+<td align="left"><code class="computeroutput">fmt</code></td>
+<td align="left">类型 <code class="computeroutput">Fmt</code> 的对象</td>
+</tr>
+<tr>
+<td align="left"><code class="computeroutput">i,j</code></td>
+<td align="left">类型 <code class="computeroutput">Iter</code> 的对象</td>
+</tr>
+</tbody>
+</table></div>
+</div>
+<br class="table-break">
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="string_algo.finder_concept"></a>Finder 概念</h3></div></div></div>
+<p>Finder 是一个搜索某个容器的任意部分的仿函数。搜索的结果以一个限定所选择 的部分的 <code class="computeroutput">iterator_range</code> 的形式给出。</p>
+<div class="table">
+<a name="id3487622"></a><p class="title"><b>Table19.14. Valid Expressions(合法表达式)</b></p> +<div class="table-contents"><table class="table" summary="Valid Expressions">
+<colgroup><col><col><col></colgroup>
+<thead><tr>
+<th align="left">表达式</th>
+<th align="left">返回类型</th>
+<th align="left">效果</th>
+</tr></thead>
+<tbody><tr>
+<td align="left"><code class="computeroutput">f(i,j)</code></td>
+<td align="left">可转换为 <code class="computeroutput">iterator_range&lt;Iter&gt;</code>
+</td>
+<td align="left">在区间 [i,j) 上执行搜索并返回搜索的结果</td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><p>许多算法都需要在一个容器上执行搜索操作,而一个 Finder 就是这种搜索操作的一个泛化,它允许算法从搜索中抽象出来。例如,通用的 替换算法可以替换输入的任何部分,而 Finder 就用来选择需要的那部分。</p> +<p>注意,Finder 和一种特定的迭代器类型一起工作是仅有的必要条件。然而,一个 Finder 操作可以定义成一个模板,这样就允许 Finder 可以和任何迭代器一个工作。 </p>
+<p>
+            <span class="bold"><strong>示例</strong></span>
+        </p>
+<p>
+            </p>
+<div class="itemizedlist"><ul type="disc">
+<li>Finder 实现为一个类。这个 Finder 总是将整个输入作为一个匹配项返回。 <code class="computeroutput">operator()</code>是模板化的,所以这个 Finder 能 够用于任何迭代器类型 + <pre class="programlisting">struct simple_finder<br>{<br> template&lt;typename ForwardIteratorT&gt;<br> boost::iterator_range&lt;ForwardIteratorT&gt; operator()(<br> ForwardIteratorT Begin,<br> ForwardIteratorT End )<br> {<br> return boost::make_range( Begin, End );<br> }<br>};<br> </pre>
+</li>
+<li>函数 Finder。Finder 可以成为任何函数对象。也就是说,和任何带有必要的识 别标识的普通函数一样可以使用。然而,这样一个函数只能用于一种特定的迭代器类 型。 + <pre class="programlisting">boost::iterator_range&lt;std::string&gt; simple_finder(<br> std::string::const_iterator Begin,<br> std::string::const_iterator End )<br>{<br> return boost::make_range( Begin, End );<br>}<br> </pre>
+</li>
+</ul></div>
+<p>
+        </p>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="string_algo.formatter_concept"></a>Formatter 概念 </h3></div></div></div> +<p>Formatters 用于 <a class="link" href="design.html#string_algo.replace" title="Replace Algorithms">replace algorithms(替换算法)</a>。它们通常和 Finder 紧密结合在一起。一个 Formatter 是一个仿函数,它持有一个来自 Finder 的 结果并按照指定的方式对它执行转换。Formatter 的运作可以使用由一个指定的 Finder 提供的额外信息,比如 <code class="computeroutput"><a class="link" href="../boost/algorithm/regex_formatter.html" title="Function template regex_formatter">regex_formatter()</a></code> 使用来自 <code class="computeroutput"><a class="link" href="../boost/algorithm/regex_finder.html" title="Function template regex_finder">regex_finder()</a></code> 的匹配信息来格式化 Formatter 操作的 结果。</p>
+<div class="table">
+<a name="id3487816"></a><p class="title"><b>Table19.15. Valid Expressions(合法表达式)</b></p> +<div class="table-contents"><table class="table" summary="Valid Expressions">
+<colgroup><col><col><col></colgroup>
+<thead><tr>
+<th align="left">表达式</th>
+<th align="left">返回类型</th>
+<th align="left">效果</th>
+</tr></thead>
+<tbody><tr>
+<td align="left"><code class="computeroutput">fmt(f(i,j))</code></td>
+<td align="left">一个容器类型,可使用容器特有的方式访问</td>
+<td align="left">格式化 Finder 操作的结果</td>
+</tr></tbody>
+</table></div>
+</div>
+<br class="table-break"><p>和 Finders 类似,Formatters 泛化了格式化操作。一 个 Finder 用于选择输入的一个部分,Formatter 持有这个被选择的部分并对它执行某 些格式化操作。使用一个 Formatter 可以将算法从格式化中抽象出来。</p>
+<p>
+            <span class="bold"><strong>示例</strong></span>
+        </p>
+<p>
+            </p>
+<div class="itemizedlist"><ul type="disc">
+<li>Formatter 实现为一个类。这个 Formatter不执行任何格式化只返回匹配项并重 新打包。<code class="computeroutput">operator()</code> 是模板化的,所以这个 Formatter 能够用于任何 Finder 类型。 + <pre class="programlisting">struct simple_formatter<br>{<br> template&lt;typename FindResultT&gt;<br> std::string operator()( const FindResultT&amp; Match )<br> {<br> std::string Temp( Match.begin(), Match.end() );<br> return Temp;<br> }<br>};<br> </pre>
+</li>
+<li>函数 Formatter。和 Finder 类似,Formatter 可以成为任何函数对象。然 而,作为一个函数,它只能用于一种特定的 Finder 类型。 + <pre class="programlisting">std::string simple_formatter( boost::iterator_range&lt;std::string::const_iterator&gt;&amp; Match )<br>{<br> std::string Temp( Match.begin(), Match.end() );<br> return Temp;<br>}<br> </pre>
+</li>
+</ul></div>
+<p>
+        </p>
+</div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"; width="100%"><tbody><tr> +<td align="left"><p><small>Last revised: June 19, 2008 at 08:07:24 -0400</small></p></td> +<td align="right"><div class="copyright-footer">Copyright (c) 2002-2004 Pavol Droba<p>Use, modification and distribution is subject to the Boost
+                Software License, Version 1.0. (See accompanying file
+ <code class="filename">LICENSE_1_0.txt</code> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt"; target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+            </p>
+</div></td>
+</tr></tbody></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="design.html"><img src="../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../string_algo.html"><img src="../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body></html>
\ No newline at end of file

Modified: trunk/doc/html/string_algo/design.html
==============================================================================
--- trunk/doc/html/string_algo/design.html      (original)
+++ trunk/doc/html/string_algo/design.html      Sun May 31 23:21:30 2009
@@ -1,29 +1,28 @@
-<html>
-<head>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Design Topics(设计话题)</title>
-<link rel="stylesheet" href="../boostbook.css" type="text/css">
+
+<title>Design Topics(设计话题)</title><link rel="stylesheet" href="../boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
<link rel="start" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> <link rel="up" href="../string_algo.html" title="Chapter 17. Boost String Algorithms Library">
 <link rel="prev" href="quickref.html" title="Quick Reference">
-<link rel="next" href="concept.html" title="Concepts">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
+<link rel="next" href="concept.html" title="Concepts"></head>
+<body alink="#0000ff" bgcolor="white" link="#0000ff" text="black" vlink="#840084">
+<table cellpadding="2" width="100%"><tbody><tr>
+<td valign="top"><img alt="Boost C++ Libraries" src="../../../boost.png" height="86" width="277"></td>
 <td align="center"><a href="../../../index.html">Home</a></td>
 <td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html";>People</a></td> <td align="center"><a href="http://www.boost.org/users/faq.html";>FAQ</a></td>
 <td align="center"><a href="../../../more/index.htm">More</a></td>
-</tr></table>
+</tr></tbody></table>
 <hr>
 <div class="spirit-nav">
<a accesskey="p" href="quickref.html"><img src="../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../string_algo.html"><img src="../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="concept.html"><img src="../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both;">
<a name="string_algo.design"></a>Design Topics(设计话题 )</h2></div></div></div>
 <div class="toc"><dl>
<dt><span class="section"><a href="design.html#string_algo.string">string 表示法</a></span></dt>
@@ -39,7 +38,9 @@
<p>顾名思义,本库主要是和 strings 一起工作的。然而,在本库的语境中,一个 string 并不局限于任何特定的实现(比如 <code class="computeroutput">std::basic_string</code>),而是一个概念。这就允许本 库的算法为任何满足给定要求的 string 类型所复用。</p> <p><span class="bold"><strong>定义:</strong></span>一个 string 就是一个可 以用连续有序方式访问的 characters 的 <a href="../../../libs/range/doc/range.html" target="_top">range</a>。 character 是任何带有"廉价"拷贝和赋值c 操作的值类型(基于前文所述原因,译文中 的 character 和 string 一律保留原文,而不译为字符和字符串,只有明确表示为通 常意义上的字符或字符串时才译为中文----译者)。</p> <p>string-type 的第一个要求是必须可以用 <a href="../../../libs/range/index.html" target="_top">Boost.Range</a> 访问。这 一便利条件允许以一种统一的基于迭代器的方式访问 string 中的元素。这对于我们的 库来说已经足够了。</p> -<p>第二个要求清楚地规定了 characters 存储在 string 中的方法。本库中的算法在 工作时假设拷贝一个 character 是比较廉价的,并因此分配额外的存储空间以缓存结 果。对于常见的 character 类型来说这是一个正常的假设。即使这个要求没有被满 足,算法也可以工作,但要付出性能降低的代价。</p> +<p>第二个要求清楚地规定了 characters 存储在 string 中的方法。本库中的算法在 工作时假设拷贝一个 character
+是比较廉价的,并因此分配额外的存储空间以缓存结果。对于常见的 character
+类型来说这是一个正常的假设。即使这个要求没有被满足,算法也可以工作,但要付 出性能降低的代价。</p> <p>另外,有些算法对 string-type 有额外的要求。特别是,那些可以创建一个给定 类型的新 string 的算法。在这种情况下,它要求这个类型满足序列 (Std §23.1.1) 要求。</p> <p>在参考和代码中,对 string 类型的要求通过模板参数的名字表现出来。<code class="computeroutput">RangeT</code> 意味着基本的 range 要求必须有效。<code class="computeroutput">SequenceT</code> 表明扩展的序列要求。</p>
 </div>
@@ -50,12 +51,9 @@
<p>序列特征允许开发者指定一个序列容器的额外性质(参见 Std §23.2)。因此这些 性质可以被算法用来为某些操作选择优化处理。这些序列特性声明在头文件 <code class="computeroutput"><a class="link" href="reference.html#header.boost.algorithm.string.sequence_traits.hpp" title="Header &lt;boost/algorithm/string/sequence_traits.hpp&gt;">boost/algorithm/string/sequence_traits.hpp</a></code> 中。</p>
 <p>在下表中,C 表示一个容器,而 c 是 C 的一个对象。</p>
 <div class="table">
-<a name="id3487009"></a><p class="title"><b>Table 17.12. 序列特征</b></p>
+<a name="id3487009"></a><p class="title"><b>Table 19.12. 序列特征</b></p>
 <div class="table-contents"><table class="table" summary="Sequence Traits">
-<colgroup>
-<col>
-<col>
-</colgroup>
+<colgroup><col><col></colgroup>
 <thead><tr>
 <th align="left">特征</th>
 <th align="left">说明</th>
@@ -89,10 +87,16 @@
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="string_algo.find"></a>查找算法</h3></div></div></div>
-<p>查找算法具有与 <code class="computeroutput">std::search()</code> 算法类 似的功能。它们提供了一个不同的接口,更适合常用的 string 操作。它们不再仅仅返 回匹配子序列的开始位置,而是返回一个 range,这在事先不知道匹配子序列的长度时 是非常必要的。这个特性也允许将输入序列分割为三个部分:一个前缀,一个 substring 和一个后缀。</p>
+<p>查找算法具有与 <code class="computeroutput">std::search()</code>
+算法类似的功能。它们提供了一个不同的接口,更适合常用的 string 操作。它们不 再仅仅返回匹配子序列的开始位置,而是返回一个 +range,这在事先不知道匹配子序列的长度时是非常必要的。这个特性也允许将输入序 列分割为三个部分:一个前缀,一个 substring
+和一个后缀。</p>
<p>另一个不同是在 find_first 之外又增加了很多搜索方法,包括 find_regex。 </p> <p>在本库中,查找算法是实现为 <a class="link" href="concept.html#string_algo.finder_concept" title="Finder Concept">Finders</a> 的。Finders 也被其它部件 (replace, split) 使用。为便于 使用,还有函数将这些 Finders 包装成简单的查找操作。</p> -<p>当前本库只包含了复杂度为 O(n * m) 的查找算法的初级实现,这里的 n 是输入 序列的大小,而 m 是搜索序列的大小。要不是因为对于较小的序列来说,常量成本都 是相当大的,算法本来可以带有 O(n) 复杂度。对于小的 m &lt;&lt; n(m 在数量级 上比 n 小),当前实现提供了可以接受的性能。即使在 C++ 标准中为查找算法定义的 必要复杂度都是 O(n * m)。在库的未来版本中,可能会包含可选的线性复杂度的算 法。</p> +<p>当前本库只包含了复杂度为 O(n * m) 的查找算法的初级实现,这里的 n 是输入 序列的大小,而 m +是搜索序列的大小。要不是因为对于较小的序列来说,常量成本都是相当大的,算法 本来可以带有 O(n) 复杂度。对于小的 m &lt;&lt; +n(m 在数量级上比 n 小),当前实现提供了可以接受的性能。即使在 C++ 标准中为 查找算法定义的必要复杂度都是 O(n *
+m)。在库的未来版本中,可能会包含可选的线性复杂度的算法。</p>
 </div>
 <div class="section" lang="en">
 <div class="titlepage"><div><div><h3 class="title">
@@ -120,17 +124,16 @@
<p>关于异常安全话题的更多信息,请参考这个<a href="http://www.boost.org/more/generic_exception_safety.html"; target="_top">连接</a></p>
 </div>
 </div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"; width="100%"><tr> +<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"; width="100%"><tbody><tr> <td align="left"><p><small>Last revised: February 27, 2008 at 15:00:24 -0500</small></p></td> <td align="right"><div class="copyright-footer">Copyright (c) 2002-2004 Pavol Droba<p>Use, modification and distribution is subject to the Boost
                 Software License, Version 1.0. (See accompanying file
<code class="filename">LICENSE_1_0.txt</code> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt"; target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
             </p>
 </div></td>
-</tr></table>
+</tr></tbody></table>
 <hr>
 <div class="spirit-nav">
<a accesskey="p" href="quickref.html"><img src="../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../string_algo.html"><img src="../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="concept.html"><img src="../../../doc/html/images/next.png" alt="Next"></a>
 </div>
-</body>
-</html>
+</body></html>
\ No newline at end of file

Modified: trunk/doc/html/string_algo/quickref.html
==============================================================================
--- trunk/doc/html/string_algo/quickref.html    (original)
+++ trunk/doc/html/string_algo/quickref.html    Sun May 31 23:21:30 2009
@@ -1,29 +1,28 @@
-<html>
-<head>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-<title>Quick Reference(快速参考)</title>
-<link rel="stylesheet" href="../boostbook.css" type="text/css">
+
+<title>Quick Reference(快速参考)</title><link rel="stylesheet" href="../boostbook.css" type="text/css">
 <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
<link rel="start" href="../index.html" title="The Boost C++ Libraries BoostBook Documentation Subset"> <link rel="up" href="../string_algo.html" title="Chapter 17. Boost String Algorithms Library">
 <link rel="prev" href="usage.html" title="Usage">
-<link rel="next" href="design.html" title="Design Topics">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../boost.png"></td>
+<link rel="next" href="design.html" title="Design Topics"></head>
+<body alink="#0000ff" bgcolor="white" link="#0000ff" text="black" vlink="#840084">
+<table cellpadding="2" width="100%"><tbody><tr>
+<td valign="top"><img alt="Boost C++ Libraries" src="../../../boost.png" height="86" width="277"></td>
 <td align="center"><a href="../../../index.html">Home</a></td>
 <td align="center"><a href="../../../libs/libraries.htm">Libraries</a></td>
<td align="center"><a href="http://www.boost.org/users/people.html";>People</a></td> <td align="center"><a href="http://www.boost.org/users/faq.html";>FAQ</a></td>
 <td align="center"><a href="../../../more/index.htm">More</a></td>
-</tr></table>
+</tr></tbody></table>
 <hr>
 <div class="spirit-nav">
<a accesskey="p" href="usage.html"><img src="../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../string_algo.html"><img src="../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="design.html"><img src="../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" lang="en">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
+<div class="titlepage"><div><div><h2 class="title" style="clear: both;">
<a name="string_algo.quickref"></a>Quick Reference(快速参考 )</h2></div></div></div>
 <div class="toc"><dl>
<dt><span class="section"><a href="quickref.html#id3483915">Algorithms(算 法)</a></span></dt>
@@ -35,13 +34,9 @@
 <div class="titlepage"><div><div><h3 class="title">
 <a name="id3483915"></a>算法</h3></div></div></div>
 <div class="table">
-<a name="id3483920"></a><p class="title"><b>Table 17.1. 大小写转换</b></p>
+<a name="id3483920"></a><p class="title"><b>Table 19.1. 大小写转换</b></p>
 <div class="table-contents"><table class="table" summary="Case Conversion">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
+<colgroup><col><col><col></colgroup>
 <thead><tr>
 <th align="left">算法名称</th>
 <th align="left">说明</th>
@@ -70,13 +65,9 @@
 </table></div>
 </div>
 <br class="table-break"><div class="table">
-<a name="id3484040"></a><p class="title"><b>Table 17.2. 修剪</b></p>
+<a name="id3484040"></a><p class="title"><b>Table 19.2. 修剪</b></p>
 <div class="table-contents"><table class="table" summary="Trimming">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
+<colgroup><col><col><col></colgroup>
 <thead><tr>
 <th align="left">算法名称</th>
 <th align="left">说明</th>
@@ -126,13 +117,9 @@
 </table></div>
 </div>
 <br class="table-break"><div class="table">
-<a name="id3484287"></a><p class="title"><b>Table 17.3. 判断式</b></p>
+<a name="id3484287"></a><p class="title"><b>Table 19.3. 判断式</b></p>
 <div class="table-contents"><table class="table" summary="Predicates">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
+<colgroup><col><col><col></colgroup>
 <thead><tr>
 <th align="left">算法名称</th>
 <th align="left">说明</th>
@@ -195,13 +182,9 @@
 </table></div>
 </div>
 <br class="table-break"><div class="table">
-<a name="id3484565"></a><p class="title"><b>Table 17.4. 查找算法</b></p>
+<a name="id3484565"></a><p class="title"><b>Table 19.4. 查找算法</b></p>
 <div class="table-contents"><table class="table" summary="Find algorithms">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
+<colgroup><col><col><col></colgroup>
 <thead><tr>
 <th align="left">算法名称</th>
 <th align="left">说明</th>
@@ -274,13 +257,9 @@
 </table></div>
 </div>
 <br class="table-break"><div class="table">
-<a name="id3484844"></a><p class="title"><b>Table 17.5. 删除/替换</b></p>
+<a name="id3484844"></a><p class="title"><b>Table 19.5. 删除/替换</b></p>
 <div class="table-contents"><table class="table" summary="Erase/Replace">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
+<colgroup><col><col><col></colgroup>
 <thead><tr>
 <th align="left">算法名称</th>
 <th align="left">说明</th>
@@ -444,13 +423,9 @@
 </table></div>
 </div>
 <br class="table-break"><div class="table">
-<a name="id3485733"></a><p class="title"><b>Table 17.6. 分割</b></p>
+<a name="id3485733"></a><p class="title"><b>Table 19.6. 分割</b></p>
 <div class="table-contents"><table class="table" summary="Split">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
+<colgroup><col><col><col></colgroup>
 <thead><tr>
 <th align="left">算法名称</th>
 <th align="left">说明</th>
@@ -495,13 +470,9 @@
 </table></div>
 </div>
 <br class="table-break"><div class="table">
-<a name="id3485912"></a><p class="title"><b>Table 17.7. 结合</b></p>
+<a name="id3485912"></a><p class="title"><b>Table 19.7. 结合</b></p>
 <div class="table-contents"><table class="table" summary="Join">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
+<colgroup><col><col><col></colgroup>
 <thead><tr>
 <th align="left">算法名称</th>
 <th align="left">说明</th>
@@ -531,13 +502,9 @@
 <div class="titlepage"><div><div><h3 class="title">
 <a name="id3485997"></a>Finders and Formatters</h3></div></div></div>
 <div class="table">
-<a name="id3486003"></a><p class="title"><b>Table 17.8. Finders</b></p>
+<a name="id3486003"></a><p class="title"><b>Table 19.8. Finders</b></p>
 <div class="table-contents"><table class="table" summary="Finders">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
+<colgroup><col><col><col></colgroup>
 <thead><tr>
 <th align="left">Finder</th>
 <th align="left">说明</th>
@@ -604,13 +571,9 @@
 </table></div>
 </div>
 <br class="table-break"><div class="table">
-<a name="id3486244"></a><p class="title"><b>Table 17.9. Formatters</b></p>
+<a name="id3486244"></a><p class="title"><b>Table 19.9. Formatters</b></p>
 <div class="table-contents"><table class="table" summary="Formatters">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
+<colgroup><col><col><col></colgroup>
 <thead><tr>
 <th align="left">Formatter</th>
 <th align="left">说明</th>
@@ -654,13 +617,9 @@
 <div class="titlepage"><div><div><h3 class="title">
 <a name="id3486386"></a>迭代器</h3></div></div></div>
 <div class="table">
-<a name="id3486391"></a><p class="title"><b>Table 17.10. 查找迭代器</b></p>
+<a name="id3486391"></a><p class="title"><b>Table 19.10. 查找迭代器</b></p>
 <div class="table-contents"><table class="table" summary="Find Iterators">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
+<colgroup><col><col><col></colgroup>
 <thead><tr>
 <th align="left">迭代器名称</th>
 <th align="left">说明</th>
@@ -690,13 +649,9 @@
 <div class="titlepage"><div><div><h3 class="title">
 <a name="id3486478"></a>分类</h3></div></div></div>
 <div class="table">
-<a name="id3486483"></a><p class="title"><b>Table 17.11. 判断式</b></p>
+<a name="id3486483"></a><p class="title"><b>Table 19.11. 判断式</b></p>
 <div class="table-contents"><table class="table" summary="Predicates">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
+<colgroup><col><col><col></colgroup>
 <thead><tr>
 <th align="left">判断式名称</th>
 <th align="left">说明</th>
@@ -793,17 +748,16 @@
 <br class="table-break">
 </div>
 </div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"; width="100%"><tr> +<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"; width="100%"><tbody><tr> <td align="left"><p><small>Last revised: February 27, 2008 at 15:00:24 -0500</small></p></td> <td align="right"><div class="copyright-footer">Copyright (c) 2002-2004 Pavol Droba<p>Use, modification and distribution is subject to the Boost
                 Software License, Version 1.0. (See accompanying file
<code class="filename">LICENSE_1_0.txt</code> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt"; target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
             </p>
 </div></td>
-</tr></table>
+</tr></tbody></table>
 <hr>
 <div class="spirit-nav">
<a accesskey="p" href="usage.html"><img src="../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../string_algo.html"><img src="../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="design.html"><img src="../../../doc/html/images/next.png" alt="Next"></a>
 </div>
-</body>
-</html>
+</body></html>
\ No newline at end of file

Other related posts:

  • » [boost-doc-zh commit] r251 - 转换至1.39.0,第4批,完成以下库: - codesite-noreply