[boost-doc-zh commit] r238 - 将 flyweight 文档改为 UTF-8 编码

  • From: codesite-noreply@xxxxxxxxxx
  • To: boost-doc-zh-notify@xxxxxxxxxxxxx
  • Date: Wed, 08 Apr 2009 14:05:28 +0000

Author: alai04
Date: Wed Apr  8 05:59:37 2009
New Revision: 238

Modified:
   trunk/libs/flyweight/doc/acknowledgements.html
   trunk/libs/flyweight/doc/examples.html
   trunk/libs/flyweight/doc/future_work.html
   trunk/libs/flyweight/doc/performance.html
   trunk/libs/flyweight/doc/reference/factories.html
   trunk/libs/flyweight/doc/reference/flyweight.html
   trunk/libs/flyweight/doc/reference/holders.html
   trunk/libs/flyweight/doc/reference/index.html
   trunk/libs/flyweight/doc/reference/key_value.html
   trunk/libs/flyweight/doc/reference/locking.html
   trunk/libs/flyweight/doc/reference/tags.html
   trunk/libs/flyweight/doc/reference/tracking.html
   trunk/libs/flyweight/doc/release_notes.html
   trunk/libs/flyweight/doc/tests.html
   trunk/libs/flyweight/doc/tutorial/basics.html
   trunk/libs/flyweight/doc/tutorial/configuration.html
   trunk/libs/flyweight/doc/tutorial/extension.html
   trunk/libs/flyweight/doc/tutorial/key_value.html
   trunk/libs/flyweight/doc/tutorial/lambda_expressions.html
   trunk/libs/flyweight/doc/tutorial/technical.html
   trunk/libs/libraries.htm

Log:
将 flyweight 文档改为 UTF-8 编码

Modified: trunk/libs/flyweight/doc/acknowledgements.html
==============================================================================
--- trunk/libs/flyweight/doc/acknowledgements.html      (original)
+++ trunk/libs/flyweight/doc/acknowledgements.html      Wed Apr  8 05:59:37 2009
@@ -1,18 +1,15 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0.1 Transitional//EN">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0.1 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Boost.Flyweight Documentation - Acknowledgements</title>
-<link rel="stylesheet" href="style.css" type="text/css">
+<title>Boost.Flyweight Documentation - Acknowledgements</title><link rel="stylesheet" href="style.css" type="text/css">
 <link rel="start" href="index.html">
 <link rel="prev" href="release_notes.html">
-<link rel="up" href="index.html">
-</head>
+<link rel="up" href="index.html"></head>
+

 <body>
-<h1><img src="../../../boost.png" alt="Boost logo" align=
-"middle" width="277" height="86">Boost.Flyweight Acknowledgements</h1>
+<h1><img src="../../../boost.png" alt="Boost logo" align="middle" height="86" width="277">Boost.Flyweight Acknowledgements</h1>

<div class="prev_link"><a href="release_notes.html"><img src="prev.gif" alt="release notes" border="0"><br>
 Release notes
@@ -21,23 +18,23 @@
 Index
 </a></div>
 <div class="next_link">
-</div><br clear="all" style="clear: all;">
+</div><br style="" clear="all">

 <hr>

 <p>
The following people have provided valuable feedback and suggestions during the -development of the library: Ion Gazta&ntilde;aga, Janek Kozicki, Tobias Schwinger,
-Pavel Vo&#382;en&iacute;lek. Simon Atanasyan contributed a workaround for a
-problem with Sun Studio compilers. Rosa Bern&aacute;rdez has proofread the
+development of the library: Ion Gaztañaga, Janek Kozicki, Tobias Schwinger,
+Pavel Voženílek. Simon Atanasyan contributed a workaround for a
+problem with Sun Studio compilers. Rosa Bernárdez has proofread the
 documentation from the first drafts up to its present form.
 </p>

 <p>
 The acceptance review of Boost.Flyweight took place between January 21st
-and February 3rd 2008. Many thanks to Ion Gazta&ntilde;aga, the stalwart review manager, +and February 3rd 2008. Many thanks to Ion Gaztañaga, the stalwart review manager,
 and to all the reviewers: Alberto Ganesh Barbati, Tim Blechmann,
-Vicente Juan Botet Escrib&aacute;, Mat&iacute;as Capeletto, Neil Hunt, Marcus Lindblom,
+Vicente Juan Botet Escribá, Matías Capeletto, Neil Hunt, Marcus Lindblom,
John Reid, David Sankel, Kevin Sopp, John Torjo, Markus Werle. Alberto identified
 important limitations of the initial design, which led to the
 introduction of <a href="tutorial/key_value.html">key-value flyweights</a>.
@@ -50,7 +47,7 @@
<a href="tutorial/configuration.html#free_order_template">free-order template
 parameter interface</a> offered by the library has been implemented
 with the <a href="../../parameter/doc/html/index.html">Boost Parameter
-Library</a> from David Abrahams and Daniel Wallin. Ion Gazta&ntilde;aga's
+Library</a> from David Abrahams and Daniel Wallin. Ion Gaztañaga's
 <a href="../../interprocess/index.html">Boost Interprocess Library</a>
 is the core element behind the
<a href="tutorial/configuration.html#intermodule_holder"><code>intermodule_holder</code></a>
@@ -58,7 +55,7 @@
 </p>

 <p>
-This work is dedicated to Jorge L&oacute;pez, in the hope that past
+This work is dedicated to Jorge López, in the hope that past
 dire straits gentler oceans will lie.
 </p>

@@ -71,18 +68,17 @@
 Index
 </a></div>
 <div class="next_link">
-</div><br clear="all" style="clear: all;">
+</div><br style="" clear="all">

 <br>

 <p>Revised December 10th 2008</p>

-<p>&copy; Copyright 2006-2008 Joaqu&iacute;n M L&oacute;pez Mu&ntilde;oz.
+<p>© Copyright 2006-2008 Joaquín M López Muñoz.
 Distributed under the Boost Software
License, Version 1.0. (See accompanying file <a href="../../../LICENSE_1_0.txt"> LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt";>
 http://www.boost.org/LICENSE_1_0.txt</a>)
 </p>

-</body>
-</html>
+</body></html>
\ No newline at end of file

Modified: trunk/libs/flyweight/doc/examples.html
==============================================================================
--- trunk/libs/flyweight/doc/examples.html      (original)
+++ trunk/libs/flyweight/doc/examples.html      Wed Apr  8 05:59:37 2009
@@ -1,6 +1,5 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0.1 Transitional//EN">
-<html>
-<head>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0.1 Transitional//EN">
+<html><head>



@@ -16,7 +15,7 @@



-  <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">



@@ -40,8 +39,8 @@



-  <title>Boost.Flyweight Documentation - Examples</title>
-  <link rel="stylesheet" href="style.css" type="text/css">
+
+ <title>Boost.Flyweight Documentation - Examples</title><link rel="stylesheet" href="style.css" type="text/css">



@@ -105,10 +104,7 @@



-  <link rel="next" href="tests.html">
-</head>
-
-
+  <link rel="next" href="tests.html"></head>
 <body>


@@ -205,7 +201,7 @@

 <hr>

-<h2>Contents &nbsp;&#30446;&#24405;</h2>
+<h2>Contents &nbsp;目录</h2>



@@ -224,7 +220,7 @@



- <li><a href="#example1">Example 1: basic usage &nbsp;&#20363;1&#65306;&#22522;&#26412;&#29992;&#27861;</a></li> + <li><a href="#example1">Example 1: basic usage &nbsp;例1:基本用法 </a></li>



@@ -297,7 +293,7 @@



-<h2><a name="example1">Example 1: basic usage &nbsp;&#20363;1&#65306;&#22522;&#26412;&#29992;&#27861;</a></h2>
+<h2><a name="example1">Example 1: basic usage &nbsp;例1:基本用法</a></h2>



@@ -308,7 +304,7 @@


 <p>
-See <a href="../example/basic.cpp">source code</a>. &nbsp;&#26597;&#30475;<a href="../example/basic.cpp">&#28304;&#20195;&#30721;</a> +See <a href="../example/basic.cpp">source code</a>. &nbsp;查看<a href="../example/basic.cpp">源代码</a>
 </p>


@@ -329,7 +325,7 @@



-<p>&#23637;&#31034;<a href="tutorial/basics.html">&#25945;&#31243;</a>&#20013;&#25152;&#35762;&#36848;&#30340; <code>flyweight</code>&nbsp;&#22522;&#26412;&#21151;&#33021;&#30340;&#20667;&#29916;&#31243;&#24207;&#12290; +<p>展示<a href="tutorial/basics.html">教程</a>中所讲述的 <code>flyweight</code>&nbsp;基本功能的傻瓜程序。
 </p>


@@ -340,7 +336,7 @@



-<h2><a name="example2">Example 2: key-value flyweights&nbsp;&#20363;2&#65306;&#38190;-&#20540; flyweights</a></h2> +<h2><a name="example2">Example 2: key-value flyweights&nbsp;例2:键-值 flyweights</a></h2>



@@ -351,7 +347,7 @@


 <p>
-See <a href="../example/key_value.cpp">source code</a>. &nbsp;&#26597;&#30475;<a href="../example/key_value.cpp">&#28304;&#20195;&#30721;</a> +See <a href="../example/key_value.cpp">source code</a>. &nbsp;查看<a href="../example/key_value.cpp">源代码</a>
 </p>


@@ -378,9 +374,9 @@

 <p>

-&#35813;&#31243;&#24207;&#27169;&#25311;&#30340;&#22330;&#26223;&#22312;&#25945;&#31243;&#30340;<a href="tutorial/key_value.html">&#38190;-&#20540; flyweights</a>&#31456;&#33410;&#20013;&#25551;&#36848;&#65306;&#31867;<code>texture</code>&#31649;&#29702;&#30528;&#19968;&#20123;&#23384;&#20648;&#22312;&#25991;&#20214;&#20013;&#30340;&#32441;&#29702;&#28210;&#26579;&#25968;&#25454;&#65292;&#25991;&#20214;&#30340;&#20301;&#32622;&#22312;&#26500;&#36896;&#30340;&#26102;&#20505;
-&#32473;&#20986;&#12290;&#35813;&#31243;&#24207;&#36890;&#36807;&#25226;&#36825;&#20010;&#31867;&#23553;&#35013;&#36827;&#20197;&#25991;&#20214;&#21517;&#20026;&#38190;&#30340;&#38190;-&#20540;flyweights&#26469;&#22788;&#29702;&#22823;&#37327;&#35813;&#31867;&#22411;&#30340;&#23545;&#35937;&#12290;&#35266;&#23519;&#31243;&#24207;&#26159;&#24590;&#26679;&#36816;&#34892;&#30340;&#65292;&#20351;&#24471;&#38500;&#20102;&#37027;&#20123;&#32477;&#23545;&#24517;&#39035;&#30340;&#26500;&#36896;&#21644;
-&#25335;&#36125;&#20043;&#22806;&#65292;&#20877;&#27809;&#26377;&#22810;&#20313;&#30340;&#25805;&#20316;&#12290;</p>
+该程序模拟的场景在教程的<a href="tutorial/key_value.html">键-值 flyweights</a>章节中描述:类<code>texture</code>管理着一些存储在文件中的纹理 渲染数据,文件的位置在构造的时候 +给出。该程序通过把这个类封装进以文件名为键的键-值flyweights来处理大量该类型 的对象。观察程序是怎样运行的,使得除了那些绝对必须的构造和
+拷贝之外,再没有多余的操作。</p>



@@ -390,7 +386,7 @@



-<h2><a name="example3">Example 3: flyweights and the composite pattern &nbsp;&#20363;3&#65306;flyweights &#21644;&#32452;&#21512;&#27169;&#24335;</a></h2> +<h2><a name="example3">Example 3: flyweights and the composite pattern &nbsp;例3:flyweights 和组合模式</a></h2>



@@ -401,7 +397,7 @@


 <p>
-See <a href="../example/composite.cpp">source code</a>. &nbsp;&#26597;&#30475;<a href="../example/composite.cpp">&#28304;&#20195;&#30721;</a> +See <a href="../example/composite.cpp">source code</a>. &nbsp;查看<a href="../example/composite.cpp">源代码</a>
 </p>


@@ -426,10 +422,10 @@
 automatically deals with duplication at the node and subtree level.</p>


-<p><a href="http://c2.com/cgi/wiki?CompositePattern";>&#32452;&#21512;&#35774;&#35745;&#27169;&#24335;</a>&#22260;&#32469;&#30340;&#24605;&#24819;&#26159;&#65306;&#36890;&#36807;
-&#23450;&#20041;&#26641;&#33410;&#28857;&#31867;&#22411;&#20026;&#22810;&#24577;&#30340;&#31867;&#22411;&#65292;&#20351;&#24471;&#23427;&#35201;&#20040;&#26159;&#19968;&#20010;&#21494;&#23376;&#33410;&#28857;&#35201;&#20040;&#21253;&#21547;&#25351;&#21521;&#23376;&#33410;&#28857;&#25351;&#38024;&#30340;&#38142;&#34920;&#65292;&#19968;&#20010;&#26641;&#22411;&#25968;&#25454;&#32467;&#26500;&#21487;&#20197;&#34987;&#23481;&#26131;&#30340;&#21019;&#24314;&#21644;&#22788;&#29702;&#12290;&#25353;&#29031;&#36825;&#31181;&#26041;&#24335;&#65292;&#19968;&#26869;&#25968;&#21644;
-&#23427;&#30340;&#26681;&#33410;&#28857;&#23601;&#26159;&#23436;&#20840;&#30456;&#21516;&#30340;&#23454;&#20307;&#20102;&#65292;&#36825;&#26679;&#23601;&#21487;&#20197;&#36827;&#34892;&#38750;&#24120;&#31616;&#21333;&#30340;&#26641;&#24418;&#22788;&#29702;&#31639;&#27861;&#12290;&#33410;&#28857;&#21644;&#23376;&#26641;&#30340;&#37325;&#22797;&#24230;&#24456;&#39640;&#30340;&#22823;&#22411;&#22797;&#21512;&#26641;&#65288;&#20363;&#22914;&#22312;&#20998;&#26512;&#35745;&#31639;&#26426;&#31243;&#24207;&#26102;&#29983;&#25104;&#30340;&#26641;&#65289;&#29983;&#26469;&#23601;
-&#36866;&#21512;flyweight&#24815;&#29992;&#27861;&#65306;&#21482;&#38656;&#31616;&#21333;&#30340;&#23558;&#33410;&#28857;&#31867;&#22411;&#21464;&#20026;&#19968;&#20010;flyweight&#23601;&#21487;&#20197;&#33258;&#21160;&#30340;&#22788;&#29702;&#33410;&#28857;&#21644;&#23376;&#26641;&#30340;&#37325;&#22797;&#12290;</p>
+<p><a href="http://c2.com/cgi/wiki?CompositePattern";>组合设计模式</a>围绕的 思想是:通过 +定义树节点类型为多态的类型,使得它要么是一个叶子节点要么包含指向子节点指针 的链表,一个树型数据结构可以被容易的创建和处理。按照这种方式,一棵数和 +它的根节点就是完全相同的实体了,这样就可以进行非常简单的树形处理算法。节点 和子树的重复度很高的大型复合树(例如在分析计算机程序时生成的树)生来就 +适合flyweight惯用法:只需简单的将节点类型变为一个flyweight就可以自动的处理 节点和子树的重复。</p>


 The example program parses Lisp-like lists of the form
@@ -443,7 +439,7 @@
 <br>


-&#31034;&#20363;&#31243;&#24207;&#20998;&#26512;&#20855;&#26377;<code>(a<sub>1</sub> ... a<sub><i>n</i></sub>)</code>&#26684;&#24335;&#30340;&#31867;&#20284;Lisp&#30340;&#38142;&#34920;&#65292;&#20854;&#20013;&#27599;&#20010;<code>a<sub>i</sub></code>&#26159;&#20010;&#23383;&#31526;&#20018;&#25110;&#32773;&#26159;&#19968;&#20010;&#38142;&#34920;&#12290;&#20998;&#26512;&#20986;&#30340;&#25968;&#25454;&#32467;&#26500;&#26159;&#19968;&#20010;Boost.Flyweight&#32467;&#21512;<a href="../../variant/index.html">Boost.Variant</a>&#36882;&#24402;&#24037;&#20855;&#23450;&#20041;&#20986;&#30340;&#32452;&#21512;&#31867;&#22411;&#12290;&#20110;&#26159;&#65292;&#32473;&#23450;&#36825;&#20010;&#38142;&#34920;&#12290; +示例程序分析具有<code>(a<sub>1</sub> ... a<sub><i>n</i></sub>)</code>格式的 类似Lisp的链表,其中每个<code>a<sub>i</sub></code>是个字符串或者是一个链表。 分析出的数据结构是一个Boost.Flyweight结合<a href="../../variant/index.html">Boost.Variant</a>递归工具定义出的组合类型。 于是,给定这个链表。



@@ -483,8 +479,8 @@
 <code>tan</code>, <code>(tan x)</code> and <code>(tan y)</code>.</p>


-<p>&#32467;&#26524;&#25968;&#25454;&#32467;&#26500;&#26263;&#22320;&#37324;<span class="wbtr_mn">&#26816;&#27979;</span>&#21040;&#20102;&#37325;&#22797;&#30340;<code>+</code>, <code>x</code>, <code>y</code>, -<code>tan</code>, <code>(tan x)</code> &#21644; <code>(tan y)&#12290;</code> +<p>结果数据结构暗地里<span class="wbtr_mn">检测</span>到了重复的 <code>+</code>, <code>x</code>, <code>y</code>,
+<code>tan</code>, <code>(tan x)</code> 和 <code>(tan y)。</code>
 </p>


@@ -495,7 +491,7 @@



-<h2><a name="example4">Example 4: formatted text processing &nbsp;&#20363;4&#65306;&#26684;&#24335;&#21270;&#25991;&#26412;&#22788;&#29702;</a></h2> +<h2><a name="example4">Example 4: formatted text processing &nbsp;例4:格式 化文本处理</a></h2>



@@ -506,7 +502,7 @@


 <p>
-See <a href="../example/html.cpp">source code</a>. &nbsp;&#26597;&#30475;<a href="../example/html.cpp">&#28304;&#20195;&#30721;</a> +See <a href="../example/html.cpp">source code</a>. &nbsp;查看<a href="../example/html.cpp">源代码</a>
 </p>


@@ -527,9 +523,9 @@
 memory consumption.</p>


-<p>&#22788;&#29702;&#21547;&#26377;&#20016;&#23500;&#26684;&#24335;&#21270;&#20449;&#24687;&#23383;&#31526;&#30340;&#23383;&#22788;&#29702;&#31243;&#24207;&#26159;flyweight&#27169;&#24335;&#30340;&#20856;&#22411;&#20363;&#23376;&#65292;&#36825;&#20123;&#20449;&#24687;&#26377;&#23383;&#20307;&#31867;&#22411;&#65292;&#22823;&#23567;&#65292;&#39068;&#33394;&#21644;&#29305;&#27530;&#30340;&#36873;&#39033;&#65288;&#40657;&#20307;&#65292;&#26012;&#20307;&#65292;&#31561;&#31561;&#65289;&#12290;
-&#20026;&#27599;&#19968;&#20010;&#23383;&#31526;&#32534;&#30721;&#26684;&#24335;&#21270;&#20449;&#24687;&#20250;&#28040;&#32791;&#22823;&#37327;&#30340;&#31354;&#38388;&#65292;&#20294;&#26159;&#65292;&#32771;&#34385;&#21040;&#36890;&#24120;&#19968;&#20010;&#25991;&#26723;&#20013;&#37325;&#22797;&#24230;&#26159;&#24456;&#39640;&#30340;&#65292;&#23558;&#26684;&#24335;&#21270;&#30340;&#23383;&#31526;&#20316;&#20026;flyweight&#23545;&#35937;&#26469;&#32500;&#25252;&#21487;&#20197;&#26174;&#33879;&#30340;&#20943;
-&#23569;&#20869;&#23384;&#28040;&#32791;&#12290;
+<p>处理含有丰富格式化信息字符的字处理程序是flyweight模式的典型例子,这些信 息有字体类型,大小,颜色和特殊的选项(黑体,斜体,等等)。 +为每一个字符编码格式化信息会消耗大量的空间,但是,考虑到通常一个文档中重复 度是很高的,将格式化的字符作为flyweight对象来维护可以显著的减
+少内存消耗。
 </p>


@@ -547,7 +543,7 @@
 character is just to equate them with the stack of tag contexts to which
 the character belongs, as the figure shows.</p>

-<p>&#35813;&#31034;&#20363;&#31243;&#24207;&#37319;&#29992;&#22522;&#20110;flyweight&#30340;&#34920;&#31034;&#25216;&#26415;&#20998;&#26512;&#65292;&#22788;&#29702;&#21644;&#23384;&#20648;HTML&#25991;&#26723;&#12290;&#32771;&#34385;&#21040;HTML&#26631;&#35760;&#20998;&#23618;&#30340;&#24615;&#36136;&#65292;&#19968;&#31181;&#23545;&#32473;&#23450;&#23383;&#31526;&#30340;&#26684;&#24335;&#21270;&#36873;&#39033;&#31895;&#30053;&#30340;&#36817;&#20284;&#26159;&#23558;&#23427;&#31561;&#21516;&#20110;&#23383;&#31526;&#38582;&#23646;&#30340;&#26631;&#35760;&#19978;&#19979;&#25991;&#30340;&#22534;&#26632;&nbsp; &#65292;&#22914;&#22270;&#25152;&#31034;&#12290; +<p>该示例程序采用基于flyweight的表示技术分析,处理和存储HTML文档。考虑到 HTML标记分层的性质,一种对给定字符的格式化选项粗略的近似是将它等同于字符隶属 的标记上下文的堆栈&nbsp; ,如图所示。
 </p>


@@ -591,9 +587,9 @@
characters and emitting opening/closing HTML tags as the context of adjacent
 characters varies.</p>

-<p>&#20110;&#26159;HTML&#25991;&#26723;&#34987;&#20998;&#26512;&#25104;&#65288;&#23383;&#31526;&#65292;&#26684;&#24335;&#65289;&#23545;&#30340;&#25968;&#32452;&#65292;&#36825;&#37324;&#26684;&#24335;&#26159;&#19978;&#25991;&#25551;&#36848;&#30340;&#26631;&#35760;&#19978;&#19979;&#25991;&#12290;&#26684;&#24335;&#21270;&#20449;&#24687;&#30340;&#39640;&#24230;&#20887;&#20313;&#20132;&#32473;Boost.Flyweight&#21435;&#22788;
-&#29702;&#12290;&#36825;&#31181;&#22522;&#20110;&#23383;&#31526;&#30340;&#25551;&#36848;&#35753;&#25805;&#32437;&#25991;&#26723;&#21464;&#24471;&#31616;&#21333;&#65306;&#35843;&#25442;&#21644;&#21024;&#38500;&#25991;&#26412;&#20013;&#30340;&#37096;&#20998;&#26159;&#23567;&#33756;&#19968;&#30879;&#12290;&#20363;&#22914;&#65292;&#35813;&#31243;&#24207;&#21453;&#36716;&#20102;&#25991;&#26723;&#20013;&#37096;&#30340;&#25991;&#26412;&#12290;&#20445;&#23384;&#32467;&#26524;&#20026;HTML&#21464;&#20026;&#36941;&#21382;&#26684;&#24335;&#21270;&#23383;
-&#31526;&#30340;&#25968;&#32452;&#28982;&#21518;&#24403;&#30456;&#37051;&#23383;&#31526;&#30340;&#19978;&#19979;&#25991;&#25913;&#21464;&#26102;&#24377;&#20986;&#24320;/&#20851;HTML&#26631;&#35760;&#12290;
+<p>于是HTML文档被分析成(字符,格式)对的数组,这里格式是上文描述的标记上下 文。格式化信息的高度冗余交给Boost.Flyweight去处 +理。这种基于字符的描述让操纵文档变得简单:调换和删除文本中的部分是小菜一 碟。例如,该程序反转了文档中部的文本。保存结果为HTML变为遍历格式化字
+符的数组然后当相邻字符的上下文改变时弹出开/关HTML标记。
 </p>


@@ -607,10 +603,10 @@
 <p>
 For the sake of brevity, the HTML parsing capabilities of this program
are coarse: for instance, elements without end-tag (like &lt;BR&gt;), character
-enconding and HTML entities (e.g. "&amp;copy;" for &copy;) are not properly
+enconding and HTML entities (e.g. "&amp;copy;" for ©) are not properly
handled. Improving the parsing code is left as an exercise to the reader.</p>

-<p>&#20026;&#31616;&#27905;&#36215;&#35265;&#65292;&#35813;&#31243;&#24207;&#30340;HTML&#20998;&#26512;&#21151;&#33021;&#26159;&#31895;&#31961;&#30340;&#65306;&#20363;&#22914;&#65292;&#27809;&#26377;&#32467;&#26463;&#26631;&#35760;&#30340;&#20803;&#32032;&#65288;&#27604;&#22914;&lt;BR&gt;&#65289;&#65292;&#23383;&#31526;&#32534;&#30721;&#21644;HTML&#23454;&#20307;&#23383;&#31526;&#65288;&#27604;&#22914; "&amp;copy;" &#20195;&#34920; &copy;&#65289;&#19981;&#33021;&#36866;&#24403;&#30340;&#22788;&#29702;&#12290;&#25913;&#36827;&#36825;&#20010;&#20998;&#26512;&#31243;&#24207;&#30041;&#32473;&#35835;&#32773;&#20316;&#20026;&#32451;&#20064;&#12290; +<p>为简洁起见,该程序的HTML分析功能是粗糙的:例如,没有结束标记的元素(比如 &lt;BR&gt;),字符编码和HTML实体字符(比如 "&amp;copy;" 代表 ©)不能适当的处 理。改进这个分析程序留给读者作为练习。
 </p>


@@ -621,7 +617,7 @@



-<h2><a name="example5">Example 5: flyweight-based memoization &nbsp;&#20363;5&#65306;&#22522;&#20110;flyweight&#30340;memoization</a></h2> +<h2><a name="example5">Example 5: flyweight-based memoization &nbsp;例5:基 于flyweight的memoization</a></h2>



@@ -632,7 +628,7 @@


 <p>
-See <a href="../example/fibonacci.cpp">source code</a>. &nbsp;&#26597;&#30475;<a href="../example/fibonacci.cpp">&#28304;&#20195;&#30721;</a> +See <a href="../example/fibonacci.cpp">source code</a>. &nbsp;查看<a href="../example/fibonacci.cpp">源代码</a>
 </p>


@@ -659,7 +655,7 @@



-<p><a href="http://en.wikipedia.org/wiki/Memoization";>Memoization</a>&nbsp;&#26159;&#19968;&#31181;&#23558;&#35745;&#31639;&#32467;&#26524;&#32531;&#23384;&#36215;&#26469;&#20379;&#20197;&#21518;&#22797;&#29992;&#30340;&#20248;&#21270;&#25216;&#26415;&#65307;&#20363;&#22914;&#36825;&#31181;&#20248;&#21270;&#25216;&#26415;&#22312;&#36827;&#34892;&#36882;&#24402;&#30340;&#25968;&#20540;&#35745;&#31639;&#26102;&#21487;&#20197;&#26497;&#22823;&#30340;&#25552;&#21319;&#24615;&#33021;&#12290;&#36890;&#36807;&#23558;&#19968;&#20010;&#20989;&#25968;&#30340;memoized&#35843;&#29992;&#30475;&#20316;&#31867;&#22411;<code>flyweight&lt;key_value&lt;int,compute_f&gt; &gt;</code>&#30340;&#20540;&#65292;<a href="tutorial/key_value.html">&#38190;-&#20540; flyweights</a>&#21487;&#20197;&#29992;&#26469;&#23454;&#29616;&#25968;&#20540;&#20989;&#25968;<i>f</i>&#30340;memoization&#21270;&#65292;&#22312;&#36825;&#37324;<code>compute_f</code>&#31867;&#22411;&#22312;&#23427;&#30340;&#26500;&#36896;&#20989;&#25968;<code>compute_f::compute_f(int)</code>&#37324;&#35745;&#31639;<i>f</i>(<i>n</i>)&#12290;&#20363;&#22914;&#65292;<a href="http://mathworld.wolfram.com/FibonacciNumber.html";>Fibonacci &#25968;</a>&#21487;&#20197;&#20687;&#36825;&#26679;&#20351;&#29992;memoization&#26469;&#35745;&#31639;&#12290;</p> +<p><a href="http://en.wikipedia.org/wiki/Memoization";>Memoization</a>&nbsp;是一种 将计算结果缓存起来供以后复用的优化技术;例如这种优化技术在进行递归的数值计算 时可以极大的提升性能。通过将一个函数的memoized调用看作类型 <code>flyweight&lt;key_value&lt;int,compute_f&gt; &gt;</code>的值,<a href="tutorial/key_value.html">键-值 flyweights</a>可以用来实现数值函数 <i>f</i>的memoization化,在这里<code>compute_f</code>类型在它的构造函数 <code>compute_f::compute_f(int)</code>里计算<i>f</i>(<i>n</i>)。例如,<a href="http://mathworld.wolfram.com/FibonacciNumber.html";>Fibonacci 数</a>可 以像这样使用memoization来计算。</p>



@@ -715,7 +711,7 @@
 <p>


-&#20351;&#29992;<a href="tutorial/configuration.html#no_tracking"><code>no_tracking</code></a>&#31574;&#30053;&#30340;&#30446;&#30340;&#26159;&#35753;&#35745;&#31639;&#32467;&#26524;&#22312;&#25972;&#20010;&#31243;&#24207;&#36816;&#34892;&#30340;&#36807;&#31243;&#20013;&#37117;&#21487;&#29992;&#12290;&#31034;&#20363;&#31243;&#24207;&#35814;&#32454;&#35762;&#36848;&#20102;&#36825;&#20010;&#20363;&#23376;&#12290;</p> +使用<a href="tutorial/configuration.html#no_tracking"><code>no_tracking</code></a>策 略的目的是让计算结果在整个程序运行的过程中都可用。示例程序详细讲述了这个例 子。</p>



@@ -725,7 +721,7 @@



-<h2><a name="example6">Example 6: performance comparison &nbsp;&#20363;6&#65306;&#24615;&#33021;&#27604;&#36739;</a></h2> +<h2><a name="example6">Example 6: performance comparison &nbsp;例6:性能比 较</a></h2>



@@ -736,7 +732,7 @@


 <p>
-See <a href="../example/perf.cpp">source code</a>. &nbsp;&#26597;&#30475;<a href="../example/perf.cpp">&#28304;&#20195;&#30721;</a> +See <a href="../example/perf.cpp">source code</a>. &nbsp;查看<a href="../example/perf.cpp">源代码</a>
 </p>


@@ -763,9 +759,9 @@



-&#35813;&#31243;&#24207;&#23545;&#27604;&#27979;&#37327;&#20102;&#22312;&#36827;&#34892;&#19968;&#39033;&#24120;&#35268;&#30340;&#20219;&#21153;&#26102;&#19968;&#20010;&#31616;&#21333;&#30340;&#23383;&#31526;&#20018;&#31867;&#22411;&#21644;&#20960;&#20010;&#19981;&#21516;&#37197;&#32622;&#30340;<code>flyweight</code>&#23454;&#20363;&#30340;&#26102;&#38388;&#21644;&#31354;&#38388;&#24615;&#33021;&#65292;&#35813;&#20219;&#21153;&#21253;&#25324;&#20998;&#26512;&#19968;&#20010;&#25991;&#20214;&#36824;&#26377;&#23545;&#20998;&#26512;&#20986;
-&#26469;&#30340;&#25991;&#26412;&#36827;&#34892;&#19968;&#20123;&#25805;&#20316;&#12290;&#20869;&#23384;&#30340;&#28040;&#32791;&#26159;&#36890;&#36807;&#20026;&#30456;&#20851;&#31867;&#22411;&#65288;&#23383;&#31526;&#20018;&#31867;&#26412;&#36523;&#65292;flyweight&#24037;&#21378;&#31561;&#31561;&#65289;&#37197;&#22791;&#33258;&#23450;&#20041;&#30340;&#20998;&#37197;&#22120;&#20197;&#36319;&#36394;&#20998;&#37197;&#21644;&#37322;&#25918;&#35831;&#27714;&#35745;&#31639;&#20986;&#26469;&#30340;&#12290;<a href="performance.html#results">&#24615;&#33021;&#31456;&#33410;</a>&#20013;
-&#32473;&#20986;&#30340;&#23454;&#39564;&#32467;&#26524;&#23601;&#26159;&#30001;&#36825;&#20010;&#31243;&#24207;&#20135;&#29983;&#30340;&#12290;</p>
+该程序对比测量了在进行一项常规的任务时一个简单的字符串类型和几个不同配置的 <code>flyweight</code>实例的时间和空间性能,该任务包括分析一个文件还有对分析 +来的文本进行一些操作。内存的消耗是通过为相关类型(字符串类本身,flyweight工 厂等等)配备自定义的分配器以跟踪分配和释放请求计算出来的。<a href="performance.html#results">性能章节</a>中
+给出的实验结果就是由这个程序产生的。</p>



@@ -775,7 +771,7 @@



-<h2><a name="example7">Example 7: custom factory &nbsp;&#20363;7&#65306;&#33258;&#23450;&#20041;&#24037;&#21378;</a></h2> +<h2><a name="example7">Example 7: custom factory &nbsp;例7:自定义工厂 </a></h2>



@@ -786,7 +782,7 @@


 <p>
-See <a href="../example/custom_factory.cpp">source code</a>. &nbsp;&#26597;&#30475;<a href="../example/custom_factory.cpp">&#28304;&#20195;&#30721;</a> +See <a href="../example/custom_factory.cpp">source code</a>. &nbsp;查看<a href="../example/custom_factory.cpp">源代码</a>
 </p>


@@ -807,7 +803,7 @@



-&#36825;&#20010;&#20363;&#23376;&#28436;&#31034;&#20102;&#24590;&#26679;&#32534;&#20889;&#24182;&#20351;&#29992;&#19968;&#20010;&#33258;&#23450;&#20041;&#24037;&#21378;&#31867;&#12290;&#36825;&#20010;&ldquo;&#32599;&#21990;&#30340;&rdquo;&#24037;&#21378;&#36755;&#20986;Boost.Flyweight&#23545;&#23427;&#30340;&#20844;&#20849;&#25509;&#21475;&#30340;&#35843;&#29992;&#30340;&#20449;&#24687;&#65292;&#20197;&#27492;&#24110;&#21161;&#29992;&#25143;&#21487;&#35270;&#21270;&#24037;&#21378;&#30340;&#20351;&#29992;&#26041;&#24335;&#12290;</p>
+这个例子演示了怎样编写并使用一个自定义工厂类。这个“罗嗦的”工厂输出 Boost.Flyweight对它的公共接口的调用的信息,以此帮助用户可视化工厂的使用方 式。</p>



@@ -914,7 +910,7 @@



-<p>&copy; Copyright 2006-2008 Joaqu&iacute;n M L&oacute;pez Mu&ntilde;oz.
+<p>© Copyright 2006-2008 Joaquín M López Muñoz.
 Distributed under the Boost Software
License, Version 1.0. (See accompanying file <a href="../../../LICENSE_1_0.txt"> LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt";>
@@ -929,5 +925,4 @@



-</body>
-</html>
+</body></html>
\ No newline at end of file

Modified: trunk/libs/flyweight/doc/future_work.html
==============================================================================
--- trunk/libs/flyweight/doc/future_work.html   (original)
+++ trunk/libs/flyweight/doc/future_work.html   Wed Apr  8 05:59:37 2009
@@ -1,19 +1,16 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0.1 Transitional//EN">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0.1 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-<title>Boost.Flyweight Documentation - Future work</title>
-<link rel="stylesheet" href="style.css" type="text/css">
+<title>Boost.Flyweight Documentation - Future work</title><link rel="stylesheet" href="style.css" type="text/css">
 <link rel="start" href="examples.html">
 <link rel="prev" href="tests.html">
 <link rel="up" href="index.html">
-<link rel="next" href="release_notes.html">
-</head>
+<link rel="next" href="release_notes.html"></head>
+

 <body>
-<h1><img src="../../../boost.png" alt="Boost logo" align=
-"middle" width="277" height="86">Boost.Flyweight Future work</h1>
+<h1><img src="../../../boost.png" alt="Boost logo" align="middle" height="86" width="277">Boost.Flyweight Future work</h1>

<div class="prev_link"><a href="tests.html"><img src="prev.gif" alt="examples" border="0"><br>
 Tests
@@ -23,8 +20,8 @@
 </a></div>
<div class="next_link"><a href="release_notes.html"><img src="next.gif" alt="release notes" border="0"><br>
 Release notes
-</a></div><br clear="all" style="clear: all;">
-<br clear="all" style="clear: all;">
+</a></div><br style="" clear="all">
+<br style="" clear="all">

 <hr>

@@ -53,11 +50,10 @@
 the following example:
 </p>

-<blockquote><pre>
-<span class=keyword>typedef</span> <span class=identifier>flyweight</span><span class=special>&lt;</span><span class=identifier>std</span><span class=special>::</span><span class=identifier>string</span><span class=special>&gt;</span> <span class=identifier>fw_type</span><span class=special>;</span>
-<span class=special>...</span>
-<span class=identifier>std</span><span class=special>::</span><span class=identifier>cout</span><span class=special>&lt;&lt;</span><span class=string>&quot;factory used: &quot;</span><span class=special>&lt;&lt;</span><span class=keyword>typeid</span><span class=special>(</span><span class=identifier>fw_type</span><span class=special>::</span><span class=identifier>factory_type</span><span class=special>).</span><span class=identifier>name</span><span class=special>()&lt;&lt;</span><span class=identifier>std</span><span class=special>::</span><span class=identifier>endl</span><span class=special>;</span> -<span class=identifier>std</span><span class=special>::</span><span class=identifier>cout</span><span class=special>&lt;&lt;</span><span class=string>&quot;values stored: &quot;</span><span class=special>&lt;&lt;</span><span class=identifier>fw_type</span><span class=special>::</span><span class=identifier>factory</span><span class=special>().</span><span class=identifier>size</span><span class=special>()&lt;&lt;</span><span class=identifier>std</span><span class=special>::</span><span class=identifier>endl</span><span class=special>;</span> +<blockquote><pre><span class="keyword">typedef</span> <span class="identifier">flyweight</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;</span> <span class="identifier">fw_type</span><span class="special">;</span>
+<span class="special">...</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">&lt;&lt;</span><span class="string">"factory used: "</span><span class="special">&lt;&lt;</span><span class="keyword">typeid</span><span class="special">(</span><span class="identifier">fw_type</span><span class="special">::</span><span class="identifier">factory_type</span><span class="special">).</span><span class="identifier">name</span><span class="special">()&lt;&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span> +<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">&lt;&lt;</span><span class="string">"values stored: "</span><span class="special">&lt;&lt;</span><span class="identifier">fw_type</span><span class="special">::</span><span class="identifier">factory</span><span class="special">().</span><span class="identifier">size</span><span class="special">()&lt;&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">endl</span><span class="special">;</span>
 </pre></blockquote>

 <h2><a name="perfect_fwd">Perfect forwarding</a></h2>
@@ -110,19 +106,18 @@
 </a></div>
<div class="next_link"><a href="release_notes.html"><img src="next.gif" alt="release notes" border="0"><br>
 Release notes
-</a></div><br clear="all" style="clear: all;">
-<br clear="all" style="clear: all;">
+</a></div><br style="" clear="all">
+<br style="" clear="all">

 <br>

 <p>Revised September 1st 2008</p>

-<p>&copy; Copyright 2006-2008 Joaqu&iacute;n M L&oacute;pez Mu&ntilde;oz.
+<p>© Copyright 2006-2008 Joaquín M López Muñoz.
 Distributed under the Boost Software
License, Version 1.0. (See accompanying file <a href="../../../LICENSE_1_0.txt"> LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt";>
 http://www.boost.org/LICENSE_1_0.txt</a>)
 </p>

-</body>
-</html>
+</body></html>
\ No newline at end of file

Modified: trunk/libs/flyweight/doc/performance.html
==============================================================================
--- trunk/libs/flyweight/doc/performance.html   (original)
+++ trunk/libs/flyweight/doc/performance.html   Wed Apr  8 05:59:37 2009
@@ -1,12 +1,11 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0.1 Transitional//EN">
-<html>
-<head>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0.1 Transitional//EN">
+<html><head>





-  <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">



@@ -15,8 +14,8 @@



-  <title>Boost.Flyweight Documentation - Performance</title>
-  <link rel="stylesheet" href="style.css" type="text/css">
+
+ <title>Boost.Flyweight Documentation - Performance</title><link rel="stylesheet" href="style.css" type="text/css">



@@ -40,9 +39,7 @@



-  <link rel="next" href="examples.html">
-</head>
-
+  <link rel="next" href="examples.html"></head>

 <body>

@@ -89,7 +86,7 @@


 <hr>
-<h2>Contents &nbsp;&#30446;&#24405;</h2>
+<h2>Contents &nbsp;目录</h2>



@@ -97,12 +94,12 @@



-  <li><a href="#intro">Introduction &nbsp;&#31616;&#20171;</a></li>
+  <li><a href="#intro">Introduction &nbsp;简介</a></li>



   <li><a href="#memory">Memory consumption
-&nbsp;&#20869;&#23384;&#28040;&#32791;</a>
+&nbsp;内存消耗</a>


     <ul>
@@ -110,17 +107,17 @@


       <li><a href="#flyweight_size">Flyweight size
-&nbsp;Flyweight &#22823;&#23567;</a></li>
+&nbsp;Flyweight 大小</a></li>



       <li><a href="#entry_size">Entry size
-&nbsp;Entry &#22823;&#23567;</a></li>
+&nbsp;Entry 大小</a></li>



       <li><a href="#overall_memory">Overall memory
-consumption &nbsp;&#24635;&#30340;&#20869;&#23384;&#28040;&#32791;</a></li>
+consumption &nbsp;总的内存消耗</a></li>



@@ -134,7 +131,7 @@



-  <li><a href="#time">Time efficiency &nbsp;&#26102;&#25928;</a>
+  <li><a href="#time">Time efficiency &nbsp;时效</a>


     <ul>
@@ -142,22 +139,22 @@


       <li><a href="#initialization">Initialization
-&nbsp;&#21021;&#22987;&#21270;</a></li>
+&nbsp;初始化</a></li>



       <li><a href="#assignment">Assignment
-&nbsp;&#36171;&#20540;</a></li>
+&nbsp;赋值</a></li>



       <li><a href="#equality_comparison">Equality
-comparison &nbsp;&#21028;&#31561;</a></li>
+comparison &nbsp;判等</a></li>



       <li><a href="#value_access">Value access
-&nbsp;&#20540;&#23384;&#21462;</a></li>
+&nbsp;值存取</a></li>



@@ -172,7 +169,7 @@


   <li><a href="#results">Experimental results
-&nbsp;&#23454;&#39564;&#32467;&#26524;</a>
+&nbsp;实验结果</a>


     <ul>
@@ -187,12 +184,12 @@


           <li><a href="#msvc_80_memory">Memory
-&nbsp;&#20869;&#23384;</a></li>
+&nbsp;内存</a></li>



           <li><a href="#msvc_80_time">Execution time
-&nbsp;&#25191;&#34892;&#26102;&#38388;</a></li>
+&nbsp;执行时间</a></li>



@@ -214,12 +211,12 @@


           <li><a href="#gcc_344_memory">Memory
-&nbsp;&#20869;&#23384;</a></li>
+&nbsp;内存</a></li>



           <li><a href="#gcc_344_time">Execution time
-&nbsp;&#25191;&#34892;&#26102;&#38388;</a></li>
+&nbsp;执行时间</a></li>



@@ -243,7 +240,7 @@



-  <li><a href="#conclusions">Conclusions &nbsp;&#32467;&#35770;</a></li>
+  <li><a href="#conclusions">Conclusions &nbsp;结论</a></li>



@@ -251,7 +248,7 @@



-<h2><a name="intro">Introduction &nbsp;&#31616;&#20171;</a></h2>
+<h2><a name="intro">Introduction &nbsp;简介</a></h2>



@@ -264,12 +261,12 @@



-<p>&#25105;&#20204;&#28436;&#31034;&#20102;&#24590;&#26679;&#35780;&#20272;&#22312;&#19968;&#20010;&#29305;&#23450;&#30340;&#24773;&#24418;&#19979;&#36890;&#36807;&#20351;&#29992;Boost.Flyweight&#21487;&#20197;&#20943;&#23569;&#30340;&#20869;&#23384;&#29992;&#37327;&#24182;&#19988;&#30740;&#31350;&#20102;<code>flyweight</code>&#21508;&#31181;&#20351;&#29992;&#24773;&#20917;&#19979;&#23545;&#25191;&#34892;&#26102;&#38388;&#30340;&#24433;&#21709;&#12290;&#26368;&#21518;&#32473;&#20986;&#20102;&#19968;&#20123;&#23454;&#39564;&#32467;&#26524;&#12290;</p>
+<p>我们演示了怎样评估在一个特定的情形下通过使用Boost.Flyweight可以减少的内 存用量并且研究了<code>flyweight</code>各种使用情况下对执行时间的影响。最后给 出了一些实验结果。</p>



 <h2><a name="memory">Memory consumption
-&nbsp;&#20869;&#23384;&#28040;&#32791;</a></h2>
+&nbsp;内存消耗</a></h2>



@@ -280,7 +277,7 @@



-<p>&#27491;&#22914;&#25105;&#20204;&#24050;&#32463;&#22312;<a href="tutorial/index.html#rationale">&#25945;&#31243; &#21407;&#29702;</a>&#20013;&#25152;&#30475;&#21040;&#30340;&#65292;flyweight&#27169;&#24335;&#22522;&#20110;2&#31181;&#31867;&#22411;&#30340;&#23545;&#35937;&#65306; +<p>正如我们已经在<a href="tutorial/index.html#rationale">教程 原理</a>中所 看到的,flyweight模式基于2种类型的对象:
 </p>


@@ -296,7 +293,7 @@


 </ul>
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; flyweight&#23545;&#35937;&#26412;&#36523;&#65292;&#23427;&#20204;&#38750;&#24120;&#23567;&#65292;&#36890;&#24120;&#26159;&#19968;&#20010;&#25351;&#38024;&#30340;&#22823;&#23567;&#12290; +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; flyweight对象本身,它们非常小,通常是一 个指针的大小。
 <ul>


@@ -304,7 +301,7 @@
   <li>The shared values, which are stored as internal <i>entries</i>
 into the flyweight factory.</li>
 </ul>
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#20849;&#20139;&#30340;&#20540;&#65292;&#23427;&#20204;&#20316;&#20026;&#20869;&#37096;&#30340;<i>entries</i>&#23384;&#20648;&#22312;flyweight&#24037;&#21378;&#37324;<i></i>&#12290; +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 共享的值,它们作为内部的<i>entries</i>存 储在flyweight工厂里<i></i>。
 <ul>


@@ -320,9 +317,9 @@



-&#20110;&#26159;&#24635;&#30340;&#20869;&#23384;&#28040;&#32791;&#23601;&#26159;&#19968;&#20010;&#20851;&#20110;flyweight&#23545;&#35937;&#30340;&#22823;&#23567;&#65292;entry&#23545;&#35937;&#30340;&#22823;&#23567;&#21644;&#20540;&#20887;&#20313;&#24230;&#30340;&#20989;&#25968;&#12290;
+于是总的内存消耗就是一个关于flyweight对象的大小,entry对象的大小和值冗余度 的函数。
 <h3><a name="flyweight_size">Flyweight size
-&nbsp;Flyweight &#22823;&#23567;</a></h3>
+&nbsp;Flyweight 大小</a></h3>



@@ -341,14 +338,14 @@



-<p><code>flyweight</code>&#23545;&#35937;&#21807;&#19968;&#30340;&#25968;&#25454;&#25104;&#21592;&#26159;&#19968;&#20010;&#25152;&#35859;&#30340;<span style="font-style: italic;">&#21477;&#26564;</span>&#65292;&#36825;&#26159;&#30001;&#20869;&#37096;flyweight&#24037;&#21378;&#25152;&#25552;&#20379;&#30340;&#19968;&#20010;&#23567;&#22411;&#30340;&#19981;&#36879;&#26126;&#30340;&#23545;&#35937;&#65292;&#29992;&#26469;&#24341;&#29992;&#21040;&#24037;&#21378;&#37324;&#23384;&#20648;&#30340;entries&#12290;&#23545;&#40664;&#35748;&#30340;<a href="tutorial/configuration.html#hashed_factory">hashed_factory</a>&#65292; -&#36825;&#20010;&#21477;&#26564;&#20165;&#20165;&#26159;&#19968;&#20010;&#25351;&#38024;&#65292;&#22240;&#27492;<code>sizeof(flyweight&lt;T&gt;)=sizeof(void*)</code>&#65292; &#36890;&#24120;&#22312;32&#20301;&#26550;&#26500;&#19978;&#26159;4&#20010;&#23383;&#33410;&#30340;&#22823;&#23567;&#12290;&#23545;&#20854;&#23427;&#31867;&#22411;&#30340;&#24037;&#21378;&#65292;&#35813;&#21477;&#26564;&#26159;&#19968;&#20010;&#29992;&#26469;&#23454;&#29616;&#36825;&#20010;&#24037;&#21378;&#30340;&#20869;&#37096;&#23481;&#22120;&#30340;&#36845;&#20195;&#22120;&#65306;&#21516;&#26679;&#65292;&#23427;&#30340;&#22823;&#23567;&#36890;&#24120;&#26159;&#19968;&#20010;&#25351;&#38024;&#30340;&#22823;&#23567;&#12290; +<p><code>flyweight</code>对象唯一的数据成员是一个所谓的<span style="font-style: italic;">句柄</span>,这是由内部flyweight工厂所提供的一个 小型的不透明的对象,用来引用到工厂里存储的entries。对默认的<a href="tutorial/configuration.html#hashed_factory">hashed_factory</a>, +这个句柄仅仅是一个指针,因此 <code>sizeof(flyweight&lt;T&gt;)=sizeof(void*)</code>, 通常在32位架构上是 4个字节的大小。对其它类型的工厂,该句柄是一个用来实现这个工厂的内部容器的迭 代器:同样,它的大小通常是一个指针的大小。
 </p>



 <h3><a name="entry_size">Entry size &nbsp;Entry
-&#22823;&#23567;</a></h3>
+大小</a></h3>



@@ -361,8 +358,8 @@



-<p>&#19982;<code>flyweight&lt;T,...&gt;</code>&#30456;&#20851;&#32852;&#30340;entries&#65292;&#22312;&#24037;&#21378;&#20013;&#23384;&#20648;&#26102;&#65292;&#19981;&#20165;&#21253;&#21547;&#19968;&#20010;T&#31867;&#22411;&#30340;&#20540;&#65292;
-&#32780;&#19988;&#36824;&#21253;&#21547;&#19982;<code>flyweight&lt;T,...&gt;</code>&#30340;&#20869;&#37096;&#23454;&#29616;&#30456;&#20851;&#30340;&#39069;&#22806;&#20449;&#24687;&#12290;
+<p>与<code>flyweight&lt;T,...&gt;</code>相关联的entries,在工厂中存储时,不 仅包含一个T类型的值,
+而且还包含与<code>flyweight&lt;T,...&gt;</code>的内部实现相关的额外信息。
 </p>


@@ -380,7 +377,7 @@



-<p>&#23601;Boost.Flyweight&#30446;&#21069;&#30340;&#23454;&#29616;&#26469;&#35828;&#65292;&#20197;&#19979;&#20960;&#20010;&#26041;&#38754;&#20250;&#22686;&#21152;<span style="font-style: italic;">&#39069;&#22806;&#24320;&#38144;</span>&#65306; +<p>就Boost.Flyweight目前的实现来说,以下几个方面会增加<span style="font-style: italic;">额外开销</span>:
 </p>


@@ -396,7 +393,7 @@


 </ul>
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#20351;&#29992;<a href="tutorial/key_value.html">&#38190;-&#20540;flyweight</a>&#12290; +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 使用<a href="tutorial/key_value.html">键 -值flyweight</a>。
 <ul>


@@ -408,7 +405,7 @@


 </ul>
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="tutorial/configuration.html#factories">&#24037;&#21378;</a>&#23481;&#22120;&#30340;&#20869;&#37096;&#39069;&#22806;&#24320;&#38144;&#12290; +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="tutorial/configuration.html#factories">工厂</a>容器的内部额外开销。
 <ul>


@@ -422,7 +419,7 @@


 </ul>
-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="tutorial/configuration.html#tracking">tracking&#26426;&#21046;</a>&#30456;&#20851;&#30340;&#34180;&#35760;&#20449;&#24687;&#12290;<br> +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <a href="tutorial/configuration.html#tracking">tracking机制</a>相关的薄记信息。 <br>



@@ -438,8 +435,8 @@



-&#36825;&#20010;&#34920;&#26684;&#24635;&#32467;&#20102;&#23450;&#20041;&#19968;&#20010;<code>flyweight</code>&#23454;&#20363;&#30340;&#21508;&#20010;&#32452;&#25104;&#37096;&#20998;&#21508;&#33258;&#24341;&#36215;&#30340;<span style="font-style: italic;">&#39069;&#22806;&#24320;&#38144;</span>&#12290;&#36825;&#20123;&#20540;&#30340;&#21333;&#20301;&#37117;&#26159;<span style="font-style: italic;">&#23383;</span>&#65292;
-&#25442;&#21477;&#35805;&#35828;&#65292;&#19968;&#20010;&#25351;&#38024;&#30340;&#22823;&#23567;&#65292;&#36890;&#24120;&#22312;32&#20301;&#26550;&#26500;&#19978;&#26159;4&#20010;&#23383;&#33410;&#12290;&#23545;&#40784;&#21487;&#33021;&#23548;&#33268;&#39069;&#22806;&#30340;&#24320;&#38144;&#12290;
+这个表格总结了定义一个<code>flyweight</code>实例的各个组成部分各自引起的 <span style="font-style: italic;">额外开销</span>。这些值的单位都是<span style="font-style: italic;">字</span>, +换句话说,一个指针的大小,通常在32位架构上是4个字节。对齐可能导致额外的开 销。
 <table cellspacing="0">


@@ -599,32 +596,32 @@


<sup>(1)</sup> <small>Assuming that <code>sizeof(Key)&lt;=sizeof(Value)</code>.</small>
-<small>&nbsp;&#20551;&#23450;<code>sizeof(Key)&lt;=sizeof(Value)&#12290;</code></small><br>
+<small>&nbsp;假定<code>sizeof(Key)&lt;=sizeof(Value)。</code></small><br>



 <sup>(2)</sup> <small>For some implementations of <code>std::set</code>
-this overhead reduces to 3.</small><small> &nbsp;&#23545;&#26576;&#20123;<code>std::set&#30340;&#23454;&#29616;&#36825;&#20010;&#39069;&#22806;&#24320;&#38144;&#38477;&#21040;3&#12290;</code> </small><br> +this overhead reduces to 3.</small><small> &nbsp;对某些<code>std::set的实现 这个额外开销降到3。</code> </small><br>



 <sup>(3)</sup> <small>In some platforms this value
-can be 2. &nbsp;&#22312;&#26576;&#20123;&#24179;&#21488;&#19978;&#36825;&#20010;&#20540;&#21487;&#33021;&#26159;2&#12290;</small>
+can be 2. &nbsp;在某些平台上这个值可能是2。</small>
<p>For instance, for the default configuration parameters of <code>flyweight</code>,
 <i>overhead</i> is typically 2.5(<code>hashed_factory</code>)
 + 1(<code>refcounted</code>)
 = 3 words.</p>


-<p>&#20363;&#22914;&#65292;&#23601;<code>flyweight</code>&#30340;&#40664;&#35748;&#37197;&#32622;&#21442;&#25968;&#32780;&#35328;&#65292;<span style="font-style: italic;">&#39069;&#22806;&#24320;&#38144;</span>&#36890;&#24120;&#26159;2.5(<code>hashed_factory</code>) +<p>例如,就<code>flyweight</code>的默认配置参数而言,<span style="font-style: italic;">额外开销</span>通常是 2.5(<code>hashed_factory</code>)
 + 1(<code>refcounted</code>)
-= 3&#20010;&#23383;&#12290;
+= 3个字。
 </p>



 <h3><a name="overall_memory">Overall memory
-consumption &nbsp;&#24635;&#30340;&#20869;&#23384;&#28040;&#32791;</a></h3>
+consumption &nbsp;总的内存消耗</a></h3>



@@ -633,7 +630,7 @@
 objects of type <code>T</code>
 jointly taking <i>M</i> different values. The objects
 consume then
-<i>S</i> = <i>N</i>&middot;<i>T</i>
+<i>S</i> = <i>N</i>·<i>T</i>
 bytes, where <i>T</i> is defined as the
 average size of <code>T</code> (<code>sizeof(T)</code>
 plus dynamic
@@ -645,13 +642,13 @@



-<p>&#32771;&#34385;&#36825;&#26679;&#19968;&#20010;&#22330;&#26223;&#65306;<i>N</i>&#20010;&#19981;&#21516;&#30340; <code>T</code>&#31867;&#22411;&#30340;&#23545;&#35937;&#24635;&#20849;&#21344;&#25454;&#20102;<i>M</i>&#20010;&#19981;&#21516;&#30340;&#20540;&#12290;&#37027;&#20040;&#36825;&#20123;&#23545;&#35937;&#28040;&#32791;<i>S</i> = <i>N</i>&middot;<i>T</i>&#23383;&#33410;&#65292;<i>T</i>&#26159;&#31867;&#22411;<code>T</code>&#30340;&#24179;&#22343;&#22823;&#23567;&#65288;<code>sizeof(T)</code>&#21152;&#19978;&nbsp;<code>T</code>&#23545;&#35937;&#21160;&#24577;&#20998;&#37197;&#30340;&#20869;&#23384;&#65289;&#12290;&#22914;&#26524;&#25105;&#20204;&#29616;&#22312;&#29992;&#26576;&#31181;<code>flyweight&lt;T,...&gt;</code>&#30340;&#23454;&#20363;&#26469;&#26367;&#25442; <code>T</code>&#65292;&#20869;&#23384;&#28040;&#32791;&#30340;&#32467;&#26524;&#23558;&#20250;&#26159;&#65306; +<p>考虑这样一个场景:<i>N</i>个不同的 <code>T</code>类型的对象总共占据了 <i>M</i>个不同的值。那么这些对象消耗<i>S</i> = <i>N</i>·<i>T</i>字 节,<i>T</i>是类型<code>T</code>的平均大小(<code>sizeof(T)</code>加上 &nbsp;<code>T</code>对象动态分配的内存)。如果我们现在用某种 <code>flyweight&lt;T,...&gt;</code>的实例来替换 <code>T</code>,内存消耗的结 果将会是:
 </p>



-<blockquote> <i>S<sub>F</sub></i> = <i>N</i>&middot;<i>P</i>
-+ <i>M</i>&middot;(<i>T</i> + <i>overhead</i>),
+<blockquote> <i>S<sub>F</sub></i> = <i>N</i>·<i>P</i>
++ <i>M</i>·(<i>T</i> + <i>overhead</i>),
 </blockquote>


@@ -665,7 +662,7 @@



-<p>&#22312;&#36825;&#37324;P&#26159;<code>sizeof(flyweight&lt;T,...&gt;)</code>&#65292;&#23601;&#20687;<a href="#flyweight_size">&#20043;&#21069;</a>&#30475;&#21040;&#30340;&#65292;&#36890;&#24120;&#24773;&#20917;&#19979;&#31561;&#20110;<code>sizeof(void*)</code>&#12290;&#37027;&#20040;<i>S<sub>F</sub></i> / <i>S</i>&#30340;&#27604;&#20540;&#26159; +<p>在这里P是<code>sizeof(flyweight&lt;T,...&gt;)</code>,就像<a href="#flyweight_size">之前</a>看到的,通常情况下等于 <code>sizeof(void*)</code>。那么<i>S<sub>F</sub></i> / <i>S</i>的比值是
 </p>


@@ -693,10 +690,10 @@



-<p>&#24403; <i>M</i> / <i>N</i>&#36235;&#36817;&#20110;0&#65292;&#20063;&#23601;&#26159;&#35828;&#65292;&#24403;<code>T</code>&#23545;&#35937;&#30340;&#20540;&#30340;&#20887;&#20313;&#24230;&#22686;&#21152;&#30340;&#26102;&#20505;&#65292;<i>S<sub>F</sub></i> / <i>S</i>&#36235;&#36817;&#20110;&#23427;&#30340;&#26368;&#23567;&#20540;<i>P</i> / <i>T</i>&#12290;&#21478;&#19968;&#26041;&#38754;&#65292;&#24403;<i>M</i> / <i>N</i> = 1&#65292;&#23601;&#26159;&#35828;&#65292;
-&#26681;&#26412;&#23601;&#27809;&#26377;&#20887;&#20313;&#30340;&#20540;&#26102;&#65292;&#20986;&#29616;&#26368;&#24046;&#30340;&#24773;&#24418;
+<p>当 <i>M</i> / <i>N</i>趋近于0,也就是说,当<code>T</code>对象的值的冗余 度增加的时候,<i>S<sub>F</sub></i> / <i>S</i>趋近于它的最小值<i>P</i> / <i>T</i>。另一方面,当<i>M</i> / <i>N</i> = 1,就是说,
+根本就没有冗余的值时,出现最差的情形
 <i>S<sub>F</sub></i> / <i>S</i> =
-1 + (<i>P</i> + <i>overhead</i>) / <i>T</i>&#65292;&#36825;&#31181;&#24773;&#20917;&#19979;&#24403;&#21021;&#24341;&#20837;flyweight&#27169;&#24335;&#23601;&#26159;&#27809;&#24847;&#20041;&#30340;&#12290; +1 + (<i>P</i> + <i>overhead</i>) / <i>T</i>,这种情况下当初引入flyweight模 式就是没意义的。
 </p>


@@ -713,7 +710,7 @@


 <h2>
-<a name="time">Time efficiency &nbsp;&#26102;&#25928;</a>
+<a name="time">Time efficiency &nbsp;时效</a>
 </h2>


@@ -733,14 +730,14 @@



-<p>&#24341;&#20837;flyweight&#27169;&#24335;&#29301;&#28041;&#21040;&#19968;&#23618;&#39069;&#22806;&#30340;&#38388;&#25509;&#65292;&#36890;&#24120;&#36825;&#20250;&#23548;&#33268;&#22312;&#23384;&#21462;&#20540;&#30340;&#26102;&#20505;&#20135;&#29983;&#19968;&#20123;&#39069;&#22806;&#24320;&#38144;&#12290;&#21478;&#19968;&#26041;&#38754;&#65292;&#25805;&#32437;flyweight&#23545;&#35937;&#35201;&#26174;&#33879;&#24555;&#20110;&#23427;&#20204;&#25152;&#20195;&#34920;&#30340;
-&#37325;&#22411;&#23545;&#35937;&#12290;&#25105;&#20204;&#23450;&#24615;&#22320;&#20998;&#26512;Boost.Flyweight&#22312;&#19981;&#21516;&#20351;&#29992;&#29615;&#22659;&#19979;&#36816;&#34892;&#26102;&#30340;&#39069;&#22806;&#24320;&#38144;&#25110;&#32773;&#25913;&#36827;&#12290;
+<p>引入flyweight模式牵涉到一层额外的间接,通常这会导致在存取值的时候产生一 些额外开销。另一方面,操纵flyweight对象要显著快于它们所代表的 +重型对象。我们定性地分析Boost.Flyweight在不同使用环境下运行时的额外开销或者 改进。
 </p>



 <h3><a name="initialization">Initialization
-&nbsp;&#21021;&#22987;&#21270;</a></h3>
+&nbsp;初始化</a></h3>



@@ -763,13 +760,13 @@



-<p>&#19982;&#19968;&#20010;<code>T</code>&#31867;&#22411;<code></code>&#23545;&#35937;&#30340;&#21021;&#22987;&#21270;&#30456;&#27604;&#65292;&#26500;&#36896;&#19968;&#20010;<code>flyweight&lt;T&gt;</code>&#35201;&#25191;&#34892;&#37325;&#35201;&#30340;&#39069;&#22806;&#24037;&#20316;&#27604;&#22914;&#22312;
-flyweight&#24037;&#21378;&#37324;&#26597;&#25214;&#20540;&#24182;&#19988;&#22312;&#23427;&#19981;&#23384;&#22312;&#30340;&#26102;&#20505;&#25554;&#20837;&#23427;&#12290;&#22240;&#27492;&#65292;flyweights&#30340;&#21019;&#24314;&#65288;&#24182;&#38750;&#25335;&#36125;&#26500;&#36896;&#65292;&#36825;&#35201;&#24265;&#20215;&#24471;&#22810;&#65289;&#65292;&#21487;&#20197;&#39044;&#35745;&#35201;&#26174;&#33879;&#24930;&#20110;&#24213;&#23618;&#31867;&#22411;T&#30340;&#26500;&#36896;&#12290;&#28982;&#32780;&#65292;&#36890;&#36807;&#20351;&#29992;<a href="tutorial/key_value.html">&#38190;-&#20540;flyweight</a>&#65292;&#35768;&#22810;&#33457;&#36153;&#22312;&#26500;&#36896;<code>T</code>&#20540;&#26412;&#36523;&#30340;&#26102;&#38388;&#26159;&#21487;&#20197;&#36991;&#20813;&#30340;&#12290; +<p>与一个<code>T</code>类型<code></code>对象的初始化相比,构造一个 <code>flyweight&lt;T&gt;</code>要执行重要的额外工作比如在 +flyweight工厂里查找值并且在它不存在的时候插入它。因此,flyweights的创建(并 非拷贝构造,这要廉价得多),可以预计要显著慢于底层类型T的构造。然而,通过使 用<a href="tutorial/key_value.html">键-值flyweight</a>,许多花费在构造 <code>T</code>值本身的时间是可以避免的。
 </p>



-<h3><a name="assignment">Assignment &nbsp;&#36171;&#20540;</a></h3>
+<h3><a name="assignment">Assignment &nbsp;赋值</a></h3>



@@ -786,14 +783,14 @@



-<p>flyweight&#23545;&#35937;&#30340;&#36171;&#20540;&#26497;&#24555;&#65292;&#22240;&#20026;&#36825;&#21482;&#28041;&#21450;&#21040;&#36171;&#20540;&#19968;&#20010;&#24341;&#29992;&#21040;&#20849;&#20139;&#20540;&#30340;&#21477;&#26564;&#12290;&#27492;&#22806;&#65292;<code>flyweight</code>&#23545;&#35937;&#30340;&#36171;&#20540;&#32477;&#19981;&#20250;&#25243;&#20986;&#24322;
-&#24120;&#12290;&#36171;&#20540;&#30340;&#26102;&#38388;&#21463;&#21040;<a href="tutorial/configuration.html#tracking">tracking policy</a>&#31867;&#22411;&#30340;&#24433;&#21709;&#65307;&#23601;&#36825;&#19968;&#28857;&#32780;&#35328;&#65292;<a href="tutorial/configuration.html#no_tracking"><code>no_tracking</code></a>&#26159;&#26368;&#24555;&#30340;&#36873;&#39033;&#12290; +<p>flyweight对象的赋值极快,因为这只涉及到赋值一个引用到共享值的句柄。此 外,<code>flyweight</code>对象的赋值绝不会抛出异 +常。赋值的时间受到<a href="tutorial/configuration.html#tracking">tracking policy</a>类型的影响;就这一点而言,<a href="tutorial/configuration.html#no_tracking"><code>no_tracking</code></a>是 最快的选项。
 </p>



 <h3><a name="equality_comparison">Equality
-comparison &nbsp;&#21028;&#31561;</a></h3>
+comparison &nbsp;判等</a></h3>



@@ -812,13 +809,13 @@



-<p>&#21028;&#26029;2&#20010;<code>flyweight</code>&#23545;&#35937;&#26159;&#21542;&#30456;&#31561;&#38477;&#20026;&#21028;&#26029;&#23427;&#20204;&#25152;&#20851;&#32852;&#30340;&#20540;&#30340;<span style="font-style: italic;">&#22320;&#22336;</span>&#26159;&#21542;&#30456;&#21516;&#65307;&#36890;&#24120;&#24773;&#20917;&#19979;&#65292;&#36825;&#20010;&#25805;&#20316;&#35201;&#36828;&#36828;&#24555;&#36807;&#27604;&#36739;&#24213;&#23618;&#30340;&#20540;&#12290;<span style="color: rgb(0, 0, 0);">&#24403;</span>flyweight<span style="color: rgb(255, 0, 0);"><span style="color: rgb(0, 0, 0);">&#23545;&#35937; -&#20195;&#34920;&#30340;&#26159;&#37027;&#20123;&#20986;&#29616;&#22312;&#32452;&#21512;&#27169;&#24335;&#30340;&#24212;&#29992;&#31243;&#24207;&#30340;&#22797;&#26434;&#30340;&#20540;&#26102;</span></span><span style="color: rgb(0, 0, 0);">&#36825;&#20010;&#26041;&#38754;&#29305;&#21035;&#37325;&#35201;&#12290;</span> +<p>判断2个<code>flyweight</code>对象是否相等降为判断它们所关联的值的<span style="font-style: italic;">地址</span>是否相同;通常情况下,这个操作要远远 快过比较底层的值。<span style="color: rgb(0, 0, 0);">当 </span>flyweight<span style="color: rgb(255, 0, 0);"><span style="color: rgb(0, 0, 0);">对象 +代表的是那些出现在组合模式的应用程序的复杂的值时</span></span><span style="color: rgb(0, 0, 0);">这个方面特别重要。</span>
 </p>



-<h3><a name="value_access">Value access &nbsp;&#20540;&#23384;&#21462;</a></h3>
+<h3><a name="value_access">Value access &nbsp;值存取</a></h3>



@@ -841,13 +838,13 @@



-<p><span style="color: rgb(0, 0, 0);">&#20174;</span><code style="color: rgb(255, 0, 0);"><span style="color: rgb(0, 0, 0);">flyweight&lt;T&gt;</span></code><span style="color: rgb(0, 0, 0);">&#21040;</span><code style="color: rgb(0, 0, 0);">const T&amp;</code><span style="color: rgb(0, 0, 0);">&#30340;&#36716;&#25442;&#20381;&#36182;&#20110;&#19968;&#23618;&#38388;&#25509;&mdash;&mdash;&#20174;flyweight&#23545;&#35937;&#25214;&#21040;&#23427;&#20204;&#25152;&#20851;&#32852;&#30340;&#20540;&#65307;&#22240;&#27492;&#21487;&#20197;&#39044;&#35745;&#65292;&#24403;&#20351;&#29992;</span>Boost.Flyweight&#26102;&#65292;<span style="color: rgb(0, 0, 0);">&#20540;&#30340;</span><span style="color: rgb(0, 0, 0);">&#23384;&#21462;&#20250;&#27604;&#30452;&#25509;&#20351;&#29992;&#30456;&#20851;&#30340;&#20540;&#35201;&#24930;&#19968;&#20123;&#12290;&#28982;&#32780;&#65292;&#36825;&#31181;&#39069;&#22806;&#36127;&#25285;&#33021;&#22815;&#34987;&#30001;&#20110;&#38598;&#20013;&#21644;&#32531;&#23384;&#25928;&#26524;&#24102;&#26469;&#30340;&#38388;&#25509;&#25913;&#36827;&#25152;&#25513;&#30422;&#65306;&#22240;&#20026;</span><span style="color: rgb(0, 0, 0);">&#19968;&#20010;</span><code>flyweight&lt;T&gt;</code><span style="color: rgb(0, 0, 0);">&#30340;</span><span style="color: rgb(0, 0, 0);">&#23454;&#20363;&#31649;&#29702;&#30340;</span><span style="color: rgb(0, 0, 0);">&#19981;&#21516;</span><code>T</code><span style="color: rgb(0, 0, 0);">&#20540;&#30340;&#38598;&#21512;</span>&#36890;&#24120;&#35201;&#27604;&#27809;&#26377;&#20351;&#29992;Boost.Flyweight &#26102;&#31561;&#20215;&#30340;<code>T</code>&#23545;&#35937;&#30340;&#23478;&#26063;&#23567;&#24471;&#22810;&#65292;&#27963;&#21160;&#30340;&#20540;&#21487;&#20197;&#26356;&#22909;&#30340;&#36866;&#24212;&#22788;&#29702;&#22120;&#30340;&#32531;&#23384;&#12290;<span style="color: rgb(0, 0, 0);"></span> +<p><span style="color: rgb(0, 0, 0);">从</span><code style="color: rgb(255, 0, 0);"><span style="color: rgb(0, 0, 0);">flyweight&lt;T&gt;</span></code><span style="color: rgb(0, 0, 0);">到 </span><code style="color: rgb(0, 0, 0);">const T&amp;</code><span style="color: rgb(0, 0, 0);">的转换依赖于一层间接——从flyweight对象找到它们所 关联的值;因此可以预计,当使用</span>Boost.Flyweight时,<span style="color: rgb(0, 0, 0);">值的</span><span style="color: rgb(0, 0, 0);">存取会比直接使 用相关的值要慢一些。然而,这种额外负担能够被由于集中和缓存效果带来的间接改进 所掩盖:因为</span><span style="color: rgb(0, 0, 0);">一个 </span><code>flyweight&lt;T&gt;</code><span style="color: rgb(0, 0, 0);">的 </span><span style="color: rgb(0, 0, 0);">实例管理的</span><span style="color: rgb(0, 0, 0);">不同</span><code>T</code><span style="color: rgb(0, 0, 0);">值的集合</span>通常要比没有使用Boost.Flyweight 时等价的 <code>T</code>对象的家族小得多,活动的值可以更好的适应处理器的缓存。<span style="color: rgb(0, 0, 0);"></span>
 </p>



 <h2><a name="results">Experimental results
-&nbsp;&#23454;&#39564;&#32467;&#26524;</a></h2>
+&nbsp;实验结果</a></h2>



@@ -860,7 +857,7 @@



-<p>&#35774;&#35745;&#20102;&#19968;&#20010;<a href="examples.html#example6">&#20998;&#26512;&#31243;&#24207;</a>&#20197;&#19981;&#20351;&#29992;Boost.Flyweight&#30340;&#24773;&#20917;&#20316;&#20026;&#22522;&#25968;&#26469;&#23545;&#27604;&#27979;&#35797;&#19981;&#21516;<code>flyweight</code>&#23454;&#20363;&#30340;&#31354;&#38388;&#21644;&#26102;&#38388;&#25928;&#29575;&#12290;&#36825;&#20123;&#20998;&#26512;&#22330;&#26223;&#26159;&#65306;</p> +<p>设计了一个<a href="examples.html#example6">分析程序</a>以不使用 Boost.Flyweight的情况作为基数来对比测试不同<code>flyweight</code>实例的空间 和时间效率。这些分析场景是:</p>



@@ -911,8 +908,8 @@
 text</a>
version of Project Gutenberg edition of <a href="http://www.gutenberg.org/etext/2000";><i>Don
 Quijote</i></a> (2.04 MB).</p>
-<p>&#23454;&#38469;&#27979;&#35797;&#30340;&#31867;&#22411;&#21644;&#19978;&#38754;&#21015;&#20986;&#26469;&#30340;&#19981;&#23436;&#20840;&#19968;&#33268;&#65292;&#32780;&#26159;&#20462;&#25913;&#21518;&#30340;&#21487;&#20197;&#36319;&#36394;&#20869;&#23384;&#20998;&#37197;&#30340;&#29256;&#26412;&#29992;&#20197;&#20998;&#26512;&#12290;&#35813;&#31243;&#24207;&#20998;&#26512;&#19968;&#20010;&#25991;&#26412;&#25991;&#20214;&#24182;&#23558;&#32467;&#26524;&#20445;&#23384;&#22312;&#19968;&#20010;&#21333;&#35789;&#25968;&#32452;&#37324;&#28982;&#21518;&#36827;&#34892;&#21508;&#31181;&#25805;&#20316;&#65292;&#28041;&#21450;&#21040;&#21069;&#38754;&#35752;&#35770;&#30340;Boost.Flyweight&#30340;&#21508;&#31181;&#20351;&#29992;&#29615;&#22659;&#12290;&#25105;&#20204;&#20351;&#29992;<i><a href="http://www.gutenberg.org/etext/2000";><i>Don -Quijote</i></a></i>&#30340;Project Gutenberg&#29256;&#26412;&#30340;<a href="http://www.gutenberg.org/dirs/etext99/2donq10.txt";>&#32431;&#25991;&#26412;</a>&#26684;&#24335;&#20316;&#20026;&#25105;&#20204;&#30340;&#25991;&#26412;&#25991;&#20214;&#12290; +<p>实际测试的类型和上面列出来的不完全一致,而是修改后的可以跟踪内存分配的版 本用以分析。该程序分析一个文本文件并将结果保存在一个单词数组里然后进行各种操 作,涉及到前面讨论的Boost.Flyweight的各种使用环境。我们使用<i><a href="http://www.gutenberg.org/etext/2000";><i>Don +Quijote</i></a></i>的Project Gutenberg版本的<a href="http://www.gutenberg.org/dirs/etext99/2donq10.txt";>纯文本</a>格式作为 我们的文本文件。
 </p>


@@ -929,13 +926,13 @@



-<p>&#31243;&#24207;&#20351;&#29992;&#40664;&#35748;&#30340;release&#35774;&#32622;&#32534;&#35793;&#65292;&#24182;&#19988;&#35774;&#32622;<code>_SECURE_SCL</code>&#36873;&#39033;&#20026;0&#12290;&#27979;&#35797;&#31243;&#24207;&#36816;&#34892;&#22312;&#19968;&#21488;&#37197;&#22791;&#20102;Intel
-Core 2 Duo T5500&#21644;1GB&#20869;&#23384;&#30340;Windwos&nbsp;XP&#26426;&#22120;&#19978;&#12290; +<p>程序使用默认的release设置编译,并且设置<code>_SECURE_SCL</code>选项为0。 测试程序运行在一台配备了Intel
+Core 2 Duo T5500和1GB内存的Windwos&nbsp;XP机器上。
 </p>



-<h4><a name="msvc_80_memory">Memory &nbsp;&#20869;&#23384;</a></h4>
+<h4><a name="msvc_80_memory">Memory &nbsp;内存</a></h4>



@@ -969,14 +966,14 @@



-<p>&#36825;&#20010;&#32467;&#26524;&#26174;&#31034;&#20102;&#19981;&#21516;&#30340;&#20998;&#26512;&#22330;&#26223;&#19979;&#20869;&#23384;&#28040;&#32791;&#25351;&#26631;&#12290;MSVC++8.0&#30340;&#26631;&#20934;&#24211;&#23454;&#29616;&#20102;&#19968;&#20010;&#25152;&#35859;&#30340;&#38024;&#23545;&#23383;&#31526;&#20018;&#30340;&#23567;&#32531;&#20914;&#21306;&#20248;&#21270;&#65292;&#24403;&#23383;&#31526;&#20018;&#36739;&#30701;&#30340;&#26102;&#20505;&#21487;&#20197;&#30452;&#25509;&#23384;&#20648;&#22312;<code>std::string</code>&#33258;&#24102;&#30340;&#36825;&#20010;&#23567;&#32531;&#20914;&#21306;&#37324;&#65292;&#20110;&#26159;&#36991;&#20813;&#20102;&#21160;&#24577;&#20998;&#37197;&#12290;&#36825;&#23548;&#33268;<code>sizeof(std::string)</code>&#30456;&#24403;&#39640;&#65292;&#26377;28&#20010;&#23383;&#33410;&#12290;&#22312;&#25105;&#20204;&#36825;&#20010;&#27979;&#35797;&#37324;&#23383;&#31526;&#20018;&#20960;&#20046;&#24635;&#26159;&#23384;&#20648;&#22312;&#36825;&#20010;&#23567;&#30340;&#32531;&#20914;&#21306;&#37324;&#65292;&#22240;&#27492;<a href="performance.html#overall_memory"><i>S<sub>F</sub></i> -/ <i>S</i></a>&#21487;&#20197;&#36798;&#22240;&#27492;&#21040;&#30340;&#26368;&#23567;&#20540;&#26159;4/28 = 14.3%&#65292;&#36825;&#36319;&#23454;&#39564;&#32467;&#26524;&#30456;&#24403;&#25509;&#36817;&#20102;&#65292;&#30001;&#20110;&#21407;&#25991;&#20013;&#21333;&#35789;&#39640;&#24230;&#30340;&#20887;&#20313;&#65292;&#29992;&#26469;&#23384;&#20648;&#20849;&#20139;&#20540;&#30340;&#20869;&#23384;&#19981;&#20540;&#19968;&#25552;&#65288;&#22823;&#27010;&#21344;&#24635;&#20869;&#23384;&#30340;3%&#65289;&#12290; +<p>这个结果显示了不同的分析场景下内存消耗指标。MSVC++8.0的标准库实现了一个 所谓的针对字符串的小缓冲区优化,当字符串较短的时候可以直接存储在 <code>std::string</code>自带的这个小缓冲区里,于是避免了动态分配。这导致 <code>sizeof(std::string)</code>相当高,有28个字节。在我们这个测试里字符串几 乎总是存储在这个小的缓冲区里,因此<a href="performance.html#overall_memory"><i>S<sub>F</sub></i> +/ <i>S</i></a>可以达因此到的最小值是4/28 = 14.3%,这跟实验结果相当接近 了,由于原文中单词高度的冗余,用来存储共享值的内存不值一提(大概占总内存的 3%)。
 </p>



 <h4><a name="msvc_80_time">Execution time
-&nbsp;&#25191;&#34892;&#26102;&#38388;</a></h4>
+&nbsp;执行时间</a></h4>



@@ -1010,7 +1007,7 @@



-<p>&#36825;&#24133;&#22270;&#26174;&#31034;&#20102;&#19981;&#21516;&#30340;&#20998;&#26512;&#22330;&#26223;&#22312;&#21508;&#31181;&#20351;&#29992;&#29615;&#22659;&#19979;&#30340;&#25191;&#34892;&#26102;&#38388;&#12290;&#19982;&#25105;&#20204;&#20043;&#21069;&#30340;<a href="#time">&#23450;&#24615;&#20998;&#26512;</a>&#19968;&#33268;&#65292;&#19982;&#27604;&#36739;&#22522;&#25968;&#30456;&#27604;<code>flyweight</code>s&#30340;&#21021;&#22987;&#21270;&#26377;&#19968;&#20010;&#26126;&#26174;&#30340;&#39069;&#22806;&#24320;&#38144;&#65288;10% &#21040; 40%&#30340;&#39069;&#22806;&#25191;&#34892;&#26102;&#38388;&#19981;&#31561; &#65289;&#65292;&#28982;&#32780;&#20854;&#23427;&#30340;&#20351;&#29992;&#29615;&#22659;&#19979;&#65288;&#36171;&#20540;&#65292;&#21028;&#31561;&#21644;&#20540;&#23384;&#21462;&#65289;&#33719;&#24471;&#20102;&#24615;&#33021;&#30340;&#25552;&#21319;&#65292;&#22312;&#26576;&#20123;&#24773;&#20917;&#19979;&#21152;&#36895;&#31995;&#25968;&#39640;&#36798;14&#12290;&#19982;<a href="tutorial/configuration.html#no_tracking"><code>no_tracking</code></a>&#36319;&#36394;&#31574;&#30053;&#30456;&#27604;<a href="tutorial/configuration.html#refcounted"><code>refcounted</code></a>&#36319;&#36394;&#31574;&#30053;&#22312;&#21021;&#22987;&#21270;&#21644;&#36171;&#20540;&#26102;&#24615;&#33021;&#26377;&#25152;&#19979;&#38477;&#65292;&#20294;&#26159;&#22312;&#21028;&#31561;&#21644;&#20540;&#23384;&#21462;&#26041;&#38754;&#27809;&#26377;&#20160;&#20040;&#21306;&#21035;&#12290; +<p>这幅图显示了不同的分析场景在各种使用环境下的执行时间。与我们之前的<a href="#time">定性分析</a>一致,与比较基数相比<code>flyweight</code>s的初始化 有一个明显的额外开销(10% 到 40%的额外执行时间不等 ),然而其它的使用环境下 (赋值,判等和值存取)获得了性能的提升,在某些情况下加速系数高达14。与<a href="tutorial/configuration.html#no_tracking"><code>no_tracking</code></a>跟 踪策略相比<a href="tutorial/configuration.html#refcounted"><code>refcounted</code></a>跟 踪策略在初始化和赋值时性能有所下降,但是在判等和值存取方面没有什么区别。
 </p>


@@ -1023,7 +1020,7 @@
 The Cygwin/MinGW version of the compiler was used, with command options
 <code>-ftemplate-depth-128 -O3 -finline-functions -DNDEBUG</code>.
Tests were run under a Cygwin terminal in the same machine as <a href="#msvc_80">before</a>.</p> -<p>&#20351;&#29992;&#30340;&#26159;Cygwin/MinGW&#37324;&#30340;&#29256;&#26412;&#65292;&#24102;&#26377;<code>-ftemplate-depth-128 -O3 -finline-functions -DNDEBUG</code>&#36873;&#39033;<code>&#12290;</code>&nbsp;&#27979;&#35797;&#31243;&#24207;&#36816;&#34892;&#30340;Cygwin&#32456;&#31471;&#21644;<a href="#msvc_80">&#20043;&#21069;</a>&#30340;&#27979;&#35797;&#22312;&#21516;&#19968;&#21488;&#26426;&#22120;&#19978;&#12290;</p> +<p>使用的是Cygwin/MinGW里的版本,带有<code>-ftemplate-depth-128 -O3 -finline-functions -DNDEBUG</code>选项<code>。</code>&nbsp;测试程序运行的 Cygwin终端和<a href="#msvc_80">之前</a>的测试在同一台机器上。</p>



@@ -1051,12 +1048,12 @@
 is much less used than direct construction will favor Boost.Flyweight
 over plain copy-on-write <code>std::string</code>s.</p>

-<p>GCC 3.4.4&#20351;&#29992;&#30340;&#26631;&#20934;&#24211;&#23454;&#29616;<code>std::string</code>&#26102;&#20351;&#29992;&#20102;<a href="http://en.wikipedia.org/wiki/Copy-on-write";>&#20889;&#25335;&#36125;</a>&#20248;&#21270;&#25216;&#26415;&#65292;&#23548;&#33268;&#22312;&#26576;&#20123;&#20351;&#29992;&#26041;&#24335;&#19979;&#20887;&#20313;&#30340;&#20540;&#38750;&#24120;&#23569;&#12290;&#36825;&#35299;&#37322;&#20102;&#20026;&#20160;&#20040;&#22312;&#36825;&#31181;&#26465;&#20214;&#19979;&#20351;&#29992;Boost.Flyweight&#25152;&#20943;&#23569;&#30340;&#20869;&#23384;&#23569;&#30340;&#21487;&#24604;&#12290;&#22312;&#37027;&#20123;&#26356;&#22810;&#30340;&#37319;&#29992;&#30452;&#25509;&#26500;&#36896;&#32780;&#38750;&#36171;&#20540;&#30340;&#20351;&#29992;&#29615;&#22659;&#19979;&#65292;Boost.Flyweight&#30340;&#34920;&#29616;&#20248;&#20110;&#26222;&#36890;&#30340;&#20889;&#25335;&#36125;<code>std::string</code>s&#12290; +<p>GCC 3.4.4使用的标准库实现<code>std::string</code>时使用了<a href="http://en.wikipedia.org/wiki/Copy-on-write";>写拷贝</a>优化技术,导致在 某些使用方式下冗余的值非常少。这解释了为什么在这种条件下使用 Boost.Flyweight所减少的内存少的可怜。在那些更多的采用直接构造而非赋值的使用 环境下,Boost.Flyweight的表现优于普通的写拷贝<code>std::string</code>s。
 </p>



-<h4><a name="gcc_344_time">Execution time &nbsp;&#25191;&#34892;&#26102;&#38388;</a></h4>
+<h4><a name="gcc_344_time">Execution time &nbsp;执行时间</a></h4>



@@ -1074,17 +1071,17 @@
 Relative performance figures are similar to those obtained for
 <a href="#msvc_80_time">MSVC++ 8.0</a>, although
 some of the
-speedups achieved by Boost.Flyweight are higher here (&times;25
-in equality comparison and up to &times;100 in assignment when
+speedups achieved by Boost.Flyweight are higher here (×25
+in equality comparison and up to ×100 in assignment when
<a href="tutorial/configuration.html#no_tracking"><code>no_tracking</code></a>
 is in effect).</p>

-<p>&#30456;&#20851;&#30340;&#24615;&#33021;&#25351;&#26631;&#19982;<a href="performance.html#msvc_80_time">MSVC++ 8.0</a>&#30340;&#32467;&#26524;&#31867;&#20284;&#65292; &#28982;&#32780;&#36825;&#27425;&#26576;&#20123;&#20351;&#29992;Boost.Flyweight&#33719;&#24471;&#30340;&#21152;&#36895;&#25928;&#26524;&#26356;&#39640;&#65288;&#21028;&#31561;&#26102;&#25552;&#39640;&#20102;25&#20493;&#24403;&#20351;&#29992;<a href="tutorial/configuration.html#no_tracking"><code>no_tracking</code></a>&#26102;&#36171;&#20540;&#25552;&#39640;&#20102;100&#20493;&#65289;&#12290; +<p>相关的性能指标与<a href="performance.html#msvc_80_time">MSVC++ 8.0</a>的 结果类似, 然而这次某些使用Boost.Flyweight获得的加速效果更高(判等时提高了 25倍当使用<a href="tutorial/configuration.html#no_tracking"><code>no_tracking</code></a>时 赋值提高了100倍)。
 </p>



-<h2><a name="conclusions">Conclusions &nbsp;&#32467;&#35770;</a></h2>
+<h2><a name="conclusions">Conclusions &nbsp;结论</a></h2>



@@ -1099,9 +1096,9 @@
 some basic value statistics and knowledge of the <code>flyweight</code>
 configuration aspects being used.</p>

-<p>&#22312;&#20540;&#20887;&#20313;&#38750;&#24120;&#39640;&#30340;&#24212;&#29992;&#22330;&#21512;&#20351;&#29992;Boost.Flyweight&#21487;&#20197;&#26174;&#33879;&#20943;&#23569;&#20869;&#23384;&#29992;&#37327;&#65306;&#23588;&#20854;&#26159;&#24403;&#25968;&#25454;&#37327;&#36798;&#21040;&#26426;&#22120;&#29289;&#29702;&#20869;&#23384;&#38480;&#21046;&#30340;&#26102;&#20505;&#65292;&#22240;&#20026;
-Boost.Flyweight&#21487;&#20197;&#36991;&#20813;&#34394;&#25311;&#20869;&#23384;&#38663;&#33633;&#20110;&#26159;&#35753;&#24212;&#29992;&#31243;&#24207;&#21487;&#29992;&#24615;&#26356;&#24378;&#12290;&#25105;&#20204;&#24050;&#32463;&#28436;&#31034;&#20102;&#24590;&#26679;&#35780;&#20272;&#21487;&#20197;&#20943;&#23569;&#30340;&#20869;&#23384;&#29992;&#37327;&#65292;&#36890;&#36807;&#19968;&#20123;&#22522;&#26412;&#30340;<span class="wbtr_mn">&#32479;&#35745;&#25968;&#23383;</span>&#21644;&#20351;&#29992;&#21040;&#37197;
-&#32622;&#30340;<code>flyweight</code>&#36873;&#39033;&#30693;&#35782;&#12290;
+<p>在值冗余非常高的应用场合使用Boost.Flyweight可以显著减少内存用量:尤其是 当数据量达到机器物理内存限制的时候,因为 +Boost.Flyweight可以避免虚拟内存震荡于是让应用程序可用性更强。我们已经演示了 怎样评估可以减少的内存用量,通过一些基本的<span class="wbtr_mn">统计数字 </span>和使用到配
+置的<code>flyweight</code>选项知识。
 </p>


@@ -1113,7 +1110,7 @@
 drastic reduction of the set of allocated values.</p>

 <p>
-Boost.Flyweight&#21487;&#20197;&#21152;&#36895;&#38500;&#20102;&#23545;&#35937;&#21021;&#22987;&#21270;&#20197;&#22806;&#30340;&#25191;&#34892;&#36895;&#24230;&#65292;&#22240;&#20026;&#25805;&#32437;&#23567;&#22411;&#30340;flyweight&#23545;&#35937;&#24456;&#24555;&#65292;&#36824;&#26377;&#22240;&#20026;&#25152;&#20998;&#37197;&#30340;&#20540;&#30340;&#38598;&#21512;&#24613;&#21095;&#20943;&#23569;&#24102;&#26469;&#30340;&#38598;&#20013;&#21644;&#32531;&#23384;&#25928;&#26524;&#12290;
+Boost.Flyweight可以加速除了对象初始化以外的执行速度,因为操纵小型的 flyweight对象很快,还有因为所分配的值的集合急剧减少带来的集中和缓存效果。
 </p>


@@ -1162,8 +1159,8 @@



-<p>&copy; Copyright 2006-2008 Joaqu&iacute;n M
-L&oacute;pez Mu&ntilde;oz.
+<p>© Copyright 2006-2008 Joaquín M
+López Muñoz.
 Distributed under the Boost Software License, Version 1.0. (See
 accompanying file <a href="../../../LICENSE_1_0.txt">
LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt";>
@@ -1172,5 +1169,4 @@



-</body>
-</html>
+</body></html>
\ No newline at end of file

Modified: trunk/libs/flyweight/doc/reference/factories.html
==============================================================================
--- trunk/libs/flyweight/doc/reference/factories.html   (original)
+++ trunk/libs/flyweight/doc/reference/factories.html Wed Apr 8 05:59:37 2009
@@ -1,12 +1,11 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0.1 Transitional//EN">
-<html>
-<head>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0.1 Transitional//EN">
+<html><head>





-  <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">



@@ -15,8 +14,8 @@



-  <title>Boost.Flyweight Documentation - Factories reference</title>
-  <link rel="stylesheet" href="../style.css" type="text/css">
+
+ <title>Boost.Flyweight Documentation - Factories reference</title><link rel="stylesheet" href="../style.css" type="text/css">



@@ -40,9 +39,7 @@



-  <link rel="next" href="holders.html">
-</head>
-
+  <link rel="next" href="holders.html"></head>

 <body>

@@ -85,7 +82,7 @@


 <hr>
-<h2>Contents &nbsp;&#30446;&#24405;</h2>
+<h2>Contents &nbsp;目录</h2>



@@ -94,24 +91,24 @@


   <li><a href="#factory">Factories and factory
-specifiers &nbsp;&#24037;&#21378;&#21644;&#24037;&#21378;&#25551;&#36848;&#31526;</a></li>
+specifiers &nbsp;工厂和工厂描述符</a></li>



<li><a href="#factory_tag_synopsis">Header <code>"boost/flyweight/factory_tag.hpp"</code> -synopsis &nbsp;&#22836;&#25991;&#20214;"boost/flyweight/factory_tag.hpp"&#22823;&#24847;</a>
+synopsis &nbsp;头文件"boost/flyweight/factory_tag.hpp"大意</a>


     <ul>



- <li><a href="#is_factory">Class template <code>is_factory &nbsp;&#31867;&#27169;&#26495; is_factory</code></a></li> + <li><a href="#is_factory">Class template <code>is_factory &nbsp;类模 板 is_factory</code></a></li>



       <li><a href="#factory_construct">Class
-template <code>factory &nbsp;&#31867;&#27169;&#26495; factory</code></a></li>
+template <code>factory &nbsp;类模板 factory</code></a></li>



@@ -126,12 +123,12 @@


<li><a href="#hashed_factory_fwd_synopsis">Header <code>"boost/flyweight/hashed_factory_fwd.hpp"</code> -synopsis &nbsp;&#22836;&#25991;&#20214;"boost/flyweight/hashed_factory_fwd.hpp"&#22823;&#24847;</a> </li>
+synopsis &nbsp;头文件"boost/flyweight/hashed_factory_fwd.hpp"大意</a> </li>



<li><a href="#hashed_factory_synopsis">Header <code>"boost/flyweight/hashed_factory.hpp"</code> -synopsis &nbsp;&#22836;&#25991;&#20214;"boost/flyweight/hashed_factory.hpp"&#22823;&#24847;</a>
+synopsis &nbsp;头文件"boost/flyweight/hashed_factory.hpp"大意</a>


     <ul>
@@ -139,11 +136,11 @@


       <li><a href="#hashed_factory_class">Class
-template <code>hashed_factory_class &nbsp;&#31867;&#27169;&#26495; hashed_factory_class</code></a></li> +template <code>hashed_factory_class &nbsp;类模板 hashed_factory_class</code></a></li>



- <li><a href="#hashed_factory">Class template <code>hashed_factory &#31867;&#27169;&#26495;&nbsp; hashed_factory&nbsp;</code></a></li> + <li><a href="#hashed_factory">Class template <code>hashed_factory 类 模板&nbsp; hashed_factory&nbsp;</code></a></li>



@@ -158,12 +155,12 @@


<li><a href="#set_factory_fwd_synopsis">Header <code>"boost/flyweight/set_factory_fwd.hpp"</code> -synopsis &nbsp;&#22836;&#25991;&#20214;"boost/flyweight/set_factory_fwd.hpp"&#22823;&#24847;</a> </li>
+synopsis &nbsp;头文件"boost/flyweight/set_factory_fwd.hpp"大意</a> </li>



<li><a href="#set_factory_synopsis">Header <code>"boost/flyweight/set_factory.hpp"</code> -synopsis &nbsp;&#22836;&#25991;&#20214;"boost/flyweight/set_factory.hpp"&#22823;&#24847;</a>
+synopsis &nbsp;头文件"boost/flyweight/set_factory.hpp"大意</a>


     <ul>
@@ -171,11 +168,11 @@


       <li><a href="#set_factory_class">Class
-template <code>set_factory_class &nbsp;&#31867;&#27169;&#26495; set_factory_class</code></a></li> +template <code>set_factory_class &nbsp;类模板 set_factory_class</code></a></li>



- <li><a href="#set_factory">Class template <code>set_factory &nbsp;&#31867;&#27169;&#26495; set_factory</code></a></li> + <li><a href="#set_factory">Class template <code>set_factory &nbsp;类 模板 set_factory</code></a></li>



@@ -191,13 +188,13 @@

   <li><a href="#assoc_container_factory_fwd_synopsis">Header
     <code>"boost/flyweight/assoc_container_factory_fwd.hpp"</code>
-synopsis &nbsp;&#22836;&#25991;&#20214;"boost/flyweight/assoc_container_factory_fwd.hpp"&#22823;&#24847;</a> </li> +synopsis &nbsp;头文件"boost/flyweight/assoc_container_factory_fwd.hpp"大意 </a> </li>



   <li><a href="#assoc_container_factory_synopsis">Header
     <code>"boost/flyweight/assoc_container_factory.hpp"</code>
-synopsis &nbsp;&#22836;&#25991;&#20214;"boost/flyweight/assoc_container_factory.hpp"&#22823;&#24847;</a>
+synopsis &nbsp;头文件"boost/flyweight/assoc_container_factory.hpp"大意</a>


     <ul>
@@ -205,12 +202,12 @@


       <li><a href="#assoc_container_factory_class">Class
-template <code>assoc_container_factory_class &nbsp;&#31867;&#27169;&#26495;&nbsp; assoc_container_factory_class</code></a></li> +template <code>assoc_container_factory_class &nbsp;类模板&nbsp; assoc_container_factory_class</code></a></li>



       <li><a href="#assoc_container_factory">Class
-template <code>assoc_container_factory &nbsp;&#31867;&#27169;&#26495;&nbsp; assoc_container_factory</code></a></li> +template <code>assoc_container_factory &nbsp;类模板&nbsp; assoc_container_factory</code></a></li>



@@ -229,7 +226,7 @@


 <h2><a name="factory">Factories and factory
-specifiers &nbsp;&#24037;&#21378;&#21644;&#24037;&#21378;&#25551;&#36848;&#31526;</a></h2>
+specifiers &nbsp;工厂和工厂描述符</a></h2>



@@ -254,11 +251,11 @@



-<p>&#32473;&#23450;&#19968;&#20010;<big><code>Key</code></big>&#31867;&#22411;&#21644;&#19968;&#20010;<a href="http://www.sgi.com/tech/stl/Assignable.html";>&#21487;&#36171;&#20540;</a>&#21487; -&#38544;&#24335;&#36716;&#25442;&#25104;<big><code>const Key&amp;</code></big>&#30340;<big><code>Entry</code></big>&#31867;
-&#22411;&#65292;&#19968;<big>&#20010;<i><code>Entry</code></i></big>&#65288;&#38544;&#21547;&#20851;&#32852;&#21040;<big><code>Key</code></big>&#65289;<i><code></code>&#20803;
-&#32032;&#30340;&#24037;&#21378;</i>&#26159;&#19968;&#20010;&#21487;&#40664;&#35748;&#26500;&#36896;&#30340;&#23454;&#20307;&#65292;&#23427;&#21487;&#20197;&#23384;&#21462;&#19981;&#21487;&#21464;&#30340;<big><code>Entry</code></big>&#31867;&#22411;&#30340;&#20803;&#32032;&#12290;&#19968;
-&#20010;&#24037;&#21378;&#21463;&#23450;&#20041;&#22312;<big><code>Key</code></big>&#19978;&#30340;&#30456;&#31561;&#20851;&#31995;&#25903;&#37197;&#65292;2&#20010;&#21487;&#20197;&#36716;&#25442;&#21040;&#30456;&#21516;<big><code>Key</code>s</big>&#30340;<big><code>Entry</code></big>&#23545;&#35937;&#19981;&#33021;&#21516;&#26102;&#23384;&#20648;&#22312;&#24037;&#21378;&#37324;&#12290;&#19981;&#21516;&#30340;&#24037;&#21378;&#31867;&#22411;&#21487;&#20197;&#20351;&#29992;&#19981;&#21516;&#30340;&#30456;&#31561;&#20851;&#31995;&#12290;
+<p>给定一个<big><code>Key</code></big>类型和一个<a href="http://www.sgi.com/tech/stl/Assignable.html";>可赋值</a>可 +隐式转换成<big><code>const Key&amp;</code></big>的 <big><code>Entry</code></big>类 +型,一<big>个<i><code>Entry</code></i></big>(隐含关联到 <big><code>Key</code></big>)<i><code></code>元 +素的工厂</i>是一个可默认构造的实体,它可以存取不可变的 <big><code>Entry</code></big>类型的元素。一 +个工厂受定义在<big><code>Key</code></big>上的相等关系支配,2个可以转换到相 同<big><code>Key</code>s</big>的<big><code>Entry</code></big>对象不能同时存 储在工厂里。不同的工厂类型可以使用不同的相等关系。
 </p>


@@ -276,10 +273,10 @@


 <p style="text-align: left;">
-&#22312;&#19979;&#38754;&#36825;&#20010;&#34920;&#26684;&#37324;&#65292;<big><code>Factory</code></big>&#26159;&#19968;&#20010;<big><code>Entry</code></big>&#31867;
-&#22411;&#20803;&#32032;&#30340;&#24037;&#21378;&#65292;<big><code>f</code></big>&#20195;&#34920;&#19968;&#20010;<big><code>Factory</code></big>&#31867;&#22411;&#30340;
-&#23545;&#35937;&#65292;<big><code>x</code></big>&#26159;&#19968;&#20010;<big><code>Entry</code></big>&#31867;&#22411;&#30340;&#23545;&#35937;&#32780;<big><code>h</code></big>&#26159;<big><code>Factory::handle_type</code></big>&#31867;
-&#22411;&#30340;&#20540;&#12290;</p>
+在下面这个表格里,<big><code>Factory</code></big>是一个 <big><code>Entry</code></big>类 +型元素的工厂,<big><code>f</code></big>代表一个 <big><code>Factory</code></big>类型的 +对象,<big><code>x</code></big>是一个<big><code>Entry</code></big>类型的对 象而<big><code>h</code></big>是 <big><code>Factory::handle_type</code></big>类
+型的值。</p>



@@ -341,12 +338,12 @@



- <code>handle_type</code>&#26159;<a href="http://www.sgi.com/tech/stl/Assignable.html";>&#21487;&#36171;&#20540;&#30340;</a>&#32780;
-&#19988;&#23427;&#30340;&#25335;&#36125;&#21644;&#36171;<br>
+ <code>handle_type</code>是<a href="http://www.sgi.com/tech/stl/Assignable.html";>可赋值的</a>而
+且它的拷贝和赋<br>



-&#20540;&#25805;&#20316;&#32477;&#19981;&#20250;&#25243;&#20986;&#24322;&#24120; </td>
+值操作绝不会抛出异常 </td>



@@ -375,12 +372,12 @@



-&#22914;&#26524;<code>f</code>&#37324;&#27809;&#26377;&#30456;&#31561;&#30340;entry&#25554;&#20837;&#19968;&#20010;<code>x</code>&#30340;&#25335;
-&#36125;&#65307;&#36820;<br>
+如果<code>f</code>里没有相等的entry插入一个<code>x</code>的拷
+贝;返<br>



-&#22238;&#19968;&#20010;&#21040;&#25554;&#20837;&#30340;&#25110;&#32773;&#30456;&#31561;&#30340;&#20803;&#32032;&#30340;&#21477;&#26564; </td>
+回一个到插入的或者相等的元素的句柄 </td>



@@ -408,7 +405,7 @@



-&#28165;&#38500;&#20851;&#32852;&#21040;<code>h</code>&#30340;&#20803;&#32032;&#12290;&#36825;&#20010;&#25805;&#20316;&#19981;&#25243;&#20986;&#24322;&#24120; </td>
+清除关联到<code>h</code>的元素。这个操作不抛出异常 </td>



@@ -436,7 +433,7 @@



-&#36820;&#22238;&#20851;&#32852;&#21040;<code>h</code>&#30340;&#20803;&#32032;&#30340;&#24341;&#29992;&#12290;&#36825;&#20010;&#25805;&#20316;&#19981;&#25243;&#20986;&#24322;&#24120; </td>
+返回关联到<code>h</code>的元素的引用。这个操作不抛出异常 </td>



@@ -466,16 +463,16 @@



-<p>&#38500;&#24320;&#22823;&#22810;&#25968;&#31867;&#22411;&#21253;&#25324;C++&#26631;&#20934;&#24211;&#30340;&#22823;&#37096;&#20998;&#32452;&#20214;&#38544;&#21547;&#20551;&#35774;&#30340;&#22522;&#26412;&#32447;&#31243;&#23433;&#20840;&#20445;&#35777;&#20197;&#22806;&#65292;&#36824;&#35201;&#27714;&#25104;&#21592;&#20989;&#25968;<big><code>entry</code></big>&#21487;
-&#20197;&#21516;&#26102;&#20174;&#19981;&#21516;&#30340;&#32447;&#31243;&#37324;&#35843;&#29992;&#65292;&#21363;&#20351;&#26159;&#22312;&#24182;&#21457;&#30340;&#35775;&#38382;<big><code>insert</code></big>&#21644;<big><code>erase</code></big>&#30340;
-&#24773;&#20917;&#19979;&#65288;&#21482;&#35201;<big><code>entry</code></big>&#20989;&#25968;&#36820;&#22238;&#30340;entry&#19981;&#26159;&#27491;&#22312;&#34987;&#28165;&#38500;&#30340;&#37027;&#20010;&#65289;&#12290;
+<p>除开大多数类型包括C++标准库的大部分组件隐含假设的基本线程安全保证以 外,还要求成员函数<big><code>entry</code></big>可 +以同时从不同的线程里调用,即使是在并发的访问 <big><code>insert</code></big>和<big><code>erase</code></big>的 +情况下(只要<big><code>entry</code></big>函数返回的entry不是正在被清除的那 个)。
 </p>



 <p>
 A type <code>S</code> is said to be a <i>factory
-specifier</i> if: &nbsp;&#19968;&#20010;&#31867;&#22411;<code>S</code>&#34987;&#31216;&#20026;&#26159;&#19968;&#20010;<span style="font-style: italic;">&#24037;&#21378;&#25551;&#36848;&#31526;</span>&#22914;&#26524;&#65306; +specifier</i> if: &nbsp;一个类型<code>S</code>被称为是一个<span style="font-style: italic;">工厂描述符</span>如果:
 </p>


@@ -485,7 +482,7 @@


   <li>One of the following conditions is satisfied:
-&nbsp;&#28385;&#36275;&#20197;&#19979;&#26465;&#20214;&#20043;&#19968;&#65306;
+&nbsp;满足以下条件之一:


     <ol type="a">
@@ -495,12 +492,12 @@
       <li><a href="#is_factory"><code>is_factory&lt;S&gt;::type</code></a>
is <a href="../../../mpl/doc/refmanual/bool.html"><code>boost::mpl::true_</code></a>, &nbsp;<a href="factories.html#is_factory"><code>is_factory&lt;S&gt;::type</code></a> -&#26159; <a href="../../../mpl/doc/refmanual/bool.html"><code>boost::mpl::true_</code></a></li> +是 <a href="../../../mpl/doc/refmanual/bool.html"><code>boost::mpl::true_</code></a></li>



<li><code>S</code> is of the form <a href="#factory_construct"><code>factory&lt;S'&gt;</code></a>. - <code>S</code>&#30340;&#26684;&#24335;&#26159;<a href="factories.html#factory_construct"><code>factory&lt;S'&gt;</code></a></li> + <code>S</code>的格式是<a href="factories.html#factory_construct"><code>factory&lt;S'&gt;</code></a></li>



@@ -527,11 +524,11 @@



-<div style="margin-left: 40px;"><code>S</code>&#65292;
-&#25110;&#32773;<code>S'</code>&#22914;&#26524;&#26465;&#20214;b&#36866;&#29992;&#65292;&#26159;&#19968;&#20010;<a href="../../../mpl/doc/refmanual/lambda-expression.html"><code><big>MPL -Lambda</big> <big>&#34920;&#36798;&#24335;</big></code></a>&#65292;&#24403;&#29992;&#31867;&#22411;&#65288;<big><code>Entry&#65292;</code>
-<code>Key</code></big>&#65289;&#35843;&#29992;&#26102;&#29983;&#25104;&#19968;&#20010;<big><code>Entry</code></big>&#20803;&#32032;&#65288;&#38544;&#21547;&#20851;
-&#32852;&#21040;<big><code>Key</code></big>&#65289;&#30340;&#24037;&#21378;&#31867;&#22411;&#12290;</div>
+<div style="margin-left: 40px;"><code>S</code>,
+或者<code>S'</code>如果条件b适用,是一个<a href="../../../mpl/doc/refmanual/lambda-expression.html"><code><big>MPL +Lambda</big> <big>表达式</big></code></a>,当用类型 (<big><code>Entry,</code> +<code>Key</code></big>)调用时生成一个<big><code>Entry</code></big>元素(隐 含关
+联到<big><code>Key</code></big>)的工厂类型。</div>



@@ -541,8 +538,8 @@



-<h2>&#22836;&#25991;&#20214;<a href="file:///boost/flyweight/factory_tag.hpp"><code>"boost/flyweight/factory_tag.hpp"</code></a>&#22823;
-&#24847;</h2>
+<h2>头文件<a href="file:///boost/flyweight/factory_tag.hpp"><code>"boost/flyweight/factory_tag.hpp"</code></a>大
+意</h2>



@@ -558,7 +555,7 @@


 <h3><a name="is_factory">Class template <code>is_factory
-&nbsp;&#31867;&#27169;&#26495; is_factory</code></a></h3>
+&nbsp;类模板 is_factory</code></a></h3>



@@ -573,15 +570,15 @@



-<p>&#38500;&#38750;&#29992;&#25143;&#36827;&#34892;&#19987;&#38376;&#21270;&#65292;&#22914;&#26524;<big><code>T</code></big>&#26159;&#20174;<big><code>factory_marker</code></big>&#27966;
-&#29983;&#30340;&#65292;<big><code>is_factory&lt;T&gt;::type</code></big>&#26159;<big><a href="../../../mpl/doc/refmanual/bool.html"><code>boost::mpl::true_</code></a></big>&#65292; -&#21542;&#21017;&#26159;<big><a href="../../../mpl/doc/refmanual/bool.html"><code>boost::mpl::false_</code></a></big>&#12290;<a href="../../../mpl/doc/refmanual/bool.html"><code></code></a> +<p>除非用户进行专门化,如果<big><code>T</code></big>是从 <big><code>factory_marker</code></big>派 +生的,<big><code>is_factory&lt;T&gt;::type</code></big>是<big><a href="../../../mpl/doc/refmanual/bool.html"><code>boost::mpl::true_</code></a></big>, +否则是<big><a href="../../../mpl/doc/refmanual/bool.html"><code>boost::mpl::false_</code></a></big>。 <a href="../../../mpl/doc/refmanual/bool.html"><code></code></a>
 </p>



 <h3><a name="factory_construct">Class template <code>factory
-&nbsp;&#31867;&#27169;&#26495; factory</code></a></h3>
+&nbsp;类模板 factory</code></a></h3>



@@ -595,8 +592,8 @@



-<p><big><code>factory&lt;T&gt;</code></big>&#26159;&#19968;&#31181;&#34920;&#26126;<code>T</code>&#26159;
-&#19968;&#20010;&#24037;&#21378;&#25551;&#36848;&#31526;&#30340;&#35821;&#27861;&#26500;&#36896;&#65292;&#36825;&#26679;&#23601;&#19981;&#38656;&#35201;&#20511;&#21161;&#20110;<big><code>is_factory</code></big>&#31867;&#27169;&#26495;&#25552;&#20379;&#30340;&#26426;&#21046;&#12290;
+<p><big><code>factory&lt;T&gt;</code></big>是一种表明<code>T</code>是
+一个工厂描述符的语法构造,这样就不需要借助于 <big><code>is_factory</code></big>类模板提供的机制。
 </p>


@@ -607,8 +604,8 @@



-<h2>&#22836;&#25991;&#20214;<a href="file:///boost/flyweight/hashed_factory_fwd.hpp"><code>"boost/flyweight/hashed_factory_fwd.hpp"</code></a>&#22823;
-&#24847;</h2>
+<h2>头文件<a href="file:///boost/flyweight/hashed_factory_fwd.hpp"><code>"boost/flyweight/hashed_factory_fwd.hpp"</code></a>大
+意</h2>



@@ -631,7 +628,7 @@



-<p><big><code>hashed_factory_fwd.hpp</code></big>&#21069;&#32622;&#22768;&#26126;&#20102;&#31867;&#27169;&#26495;<big><a href="factories.html#hashed_factory_class"><code>hashed_factory_class</code></a></big>&#21644;<big><a href="factories.html#hashed_factory"><code>hashed_factory</code></a></big> +<p><big><code>hashed_factory_fwd.hpp</code></big>前置声明了类模板<big><a href="factories.html#hashed_factory_class"><code>hashed_factory_class</code></a></big>和 <big><a href="factories.html#hashed_factory"><code>hashed_factory</code></a></big>
 </p>


@@ -642,13 +639,13 @@



-<h2>&#22836;&#25991;&#20214;<a href="file:///boost/flyweight/hashed_factory.hpp"><code>"boost/flyweight/hashed_factory.hpp"</code></a>&#22823;
-&#24847;</h2>
+<h2>头文件<a href="file:///boost/flyweight/hashed_factory.hpp"><code>"boost/flyweight/hashed_factory.hpp"</code></a>大
+意</h2>



<h3><a name="hashed_factory_class">Class template <code>hashed_factory_class
-&nbsp;&#31867;&#27169;&#26495; hashed_factory_class</code></a></h3>
+&nbsp;类模板 hashed_factory_class</code></a></h3>



@@ -658,7 +655,7 @@



-<p><big><code>hashed_factory_class</code></big>&#26159;&#19968;&#20010;&#29992;&#21704;&#35199;&#23481;&#22120;&#23454;&#29616;&#30340;<a href="#factory">&#24037;&#21378;</a> +<p><big><code>hashed_factory_class</code></big>是一个用哈西容器实现的<a href="#factory">工厂</a>
 </p>


@@ -712,25 +709,25 @@



-<p><big><code>Hash</code></big>&#26159;&#19968;&#20010;<a href="http://www.sgi.com/tech/stl/DefaultConstructible.html";>&#21487; -&#40664;&#35748;&#26500;&#36896;</a>&#30340;<a href="http://www.sgi.com/tech/stl/UnaryFunction.html";>&#19968;&#20803;&#20989;&#25968;</a>&#65292;
-&#24102;&#19968;&#20010;<big><code>Key</code></big>&#31867;&#22411;&#30340;&#21442;&#25968;&#36820;&#22238;&#19968;&#20010;<big><code>[0,
-std::numeric_limits&lt;std::size_t&gt;::max())</code></big>&#33539;&#22260;&#30340;<big><code>std::size_t</code></big>&#31867;
-&#22411;&#30340;&#20540;&#12290;<big><code>Pred</code></big>&#26159;&#19968;&#20010;&#21487;&#40664;&#35748;&#26500;&#36896;&#30340;&#20108;&#20803;&#35859;&#35789;&#21028;&#26029;<big><code>Key</code></big>&#20803;
-&#32032;&#30340;&#30456;&#31561;&#20851;&#31995;&#12290;&#35201;&#27714;&#23545;&#20110;&#20351;&#29992;<big><code>Pred</code></big>&#21028;&#26029;&#30456;&#31561;&#30340;&#23545;&#35937;<big><code>Hash</code></big>&#23545;
-&#35937;&#36820;&#22238;&#30456;&#21516;&#30340;&#20540;&#12290;&#19982;&#24037;&#21378;&#30456;&#20851;&#30340;<big><code>Key</code></big>&#19978;&#30340;&#30456;&#31561;&#20851;&#31995;&#26159;&#30001;<big><code>Pred</code></big>&#24471;
-&#20986;&#12290;<big><code>Hash</code></big>&#21644;<big><code>Pred</code></big>&#30340;&#40664;&#35748;&#21442;&#25968;&#20998;&#21035;&#26159;<big><a href="../../../functional/hash/index.html"><code>boost::hash&lt;Key&gt;</code></a></big> -&#21644; <code><big>std::equal_to&lt;Key&gt;</big></code>&#12290;<big><code>Allocator</code></big>&#24517;
-&#39035;&#26159;&#28385;&#36275;<b>[lib.allocator.requirements]</b>&#37324;&#30340;&#30456;&#20851;C++&#35201;&#27714;&#30340;<big><code>Entry</code></big>&#23545;
-&#35937;&#30340;&#20998;&#37197;&#22120;&#12290;&#40664;&#35748;&#30340;&#21442;&#25968;&#26159;<big><code>std::allocator&lt;Entry&gt;</code><code></code></big>&#12290;<big><code>hashed_factory_class</code></big>&#22522;
-&#20110;&#30340;&#20869;&#37096;&#21704;&#35199;&#23481;&#22120;&#26159;&#29992;<big><code>Hash</code></big>&#65292;<big><code>Pred</code></big> &#21644;
-<big><code>Allocator</code></big>&#31867;&#22411;&#30340;&#40664;&#35748;&#21021;&#22987;&#21270;&#23545;&#35937;&#21019;&#24314;&#30340;&#12290;
+<p><big><code>Hash</code></big>是一个<a href="http://www.sgi.com/tech/stl/DefaultConstructible.html";>可 +默认构造</a>的<a href="http://www.sgi.com/tech/stl/UnaryFunction.html";>一元 函数</a>,
+带一个<big><code>Key</code></big>类型的参数返回一个<big><code>[0,
+std::numeric_limits&lt;std::size_t&gt;::max())</code></big>范围的 <big><code>std::size_t</code></big>类 +型的值。<big><code>Pred</code></big>是一个可默认构造的二元谓词判断 <big><code>Key</code></big>元 +素的相等关系。要求对于使用<big><code>Pred</code></big>判断相等的对象 <big><code>Hash</code></big>对 +象返回相同的值。与工厂相关的<big><code>Key</code></big>上的相等关系是由 <big><code>Pred</code></big>得 +出。<big><code>Hash</code></big>和<big><code>Pred</code></big>的默认参数分 别是<big><a href="../../../functional/hash/index.html"><code>boost::hash&lt;Key&gt;</code></a></big> +和 <code><big>std::equal_to&lt;Key&gt;</big></code>。 <big><code>Allocator</code></big>必 +须是满足<b>[lib.allocator.requirements]</b>里的相关C++要求的 <big><code>Entry</code></big>对 +象的分配器。默认的参数是 <big><code>std::allocator&lt;Entry&gt;</code><code></code></big>。 <big><code>hashed_factory_class</code></big>基 +于的内部哈西容器是用 <big><code>Hash</code></big>,<big><code>Pred</code></big> 和
+<big><code>Allocator</code></big>类型的默认初始化对象创建的。
 </p>



 <h3><a name="hashed_factory">Class template <code>hashed_factory
-&nbsp;&#31867;&#27169;&#26495; &nbsp;hashed_factory</code></a></h3>
+&nbsp;类模板 &nbsp;hashed_factory</code></a></h3>



@@ -740,7 +737,7 @@



-<p><big><a href="factories.html#hashed_factory_class"><code>hashed_factory_class</code></a></big>&#30340;<a href="#factory">&#24037;&#21378;&#25551;&#36848;&#31526;</a> +<p><big><a href="factories.html#hashed_factory_class"><code>hashed_factory_class</code></a></big>的 <a href="#factory">工厂描述符</a>
 </p>


@@ -765,9 +762,9 @@



-<p><big><code>hashed_factory&lt;Hash,Pred,Allocator&gt;</code></big>&#26159;
-&#19968;&#20010;<a href="../../../mpl/doc/refmanual/metafunction-class.html"><code>MPL
-<big>&#20803;&#20989;&#25968;&#31867;</big></code></a>&#65292;&#20110;&#26159;&#31867;&#22411;
+<p><big><code>hashed_factory&lt;Hash,Pred,Allocator&gt;</code></big>是
+一个<a href="../../../mpl/doc/refmanual/metafunction-class.html"><code>MPL
+<big>元函数类</big></code></a>,于是类型
 </p>


@@ -788,7 +785,7 @@



-<p>&#31561;&#21516;&#20110;
+<p>等同于
 </p>


@@ -814,11 +811,11 @@



-<p>&#36825;&#26263;&#31034;&#30528;<big><code>Hash</code></big>, <big><code>Pred</code></big> -&#21644; <big><code>Allocator</code></big>&#21487;&#20197;&#26159;<a href="../../../mpl/doc/refmanual/placeholder-expression.html"><code>MPL
-<big>&#21344;&#20301;&#31526;&#34920;&#36798;&#24335;</big></code></a><code><big>&#65292;&#29983;
-&#25104;</big></code><big><code>hashed_factory_class</code></big><code><big>&#29992;
-&#21040;&#30340;&#23454;&#38469;&#31867;&#22411;</big></code>
+<p>这暗示着<big><code>Hash</code></big>, <big><code>Pred</code></big>
+和 <big><code>Allocator</code></big>可以是<a href="../../../mpl/doc/refmanual/placeholder-expression.html"><code>MPL
+<big>占位符表达式</big></code></a><code><big>,生
+成</big></code><big><code>hashed_factory_class</code></big><code><big>用
+到的实际类型</big></code>
 </p>


@@ -829,8 +826,8 @@



-<h2>&#22836;&#25991;&#20214;<a href="file:///boost/flyweight/set_factory_fwd.hpp"><code>"boost/flyweight/set_factory_fwd.hpp"</code></a>&#22823;
-&#24847;</h2>
+<h2>头文件<a href="file:///boost/flyweight/set_factory_fwd.hpp"><code>"boost/flyweight/set_factory_fwd.hpp"</code></a>大
+意</h2>



@@ -853,8 +850,8 @@



-<p><big><code>set_factory_fwd.hpp</code></big>&#21069;&#32622;&#22768;&#26126;&#20102;&#31867;&#27169;&#26495;<big><a href="factories.html#set_factory_class"><code>set_factory_class</code></a></big> -&#21644; <big><a href="factories.html#set_factory"><code>set_factory</code></a></big> +<p><big><code>set_factory_fwd.hpp</code></big>前置声明了类模板<big><a href="factories.html#set_factory_class"><code>set_factory_class</code></a></big> +和 <big><a href="factories.html#set_factory"><code>set_factory</code></a></big>
 </p>


@@ -862,11 +859,11 @@
 <h2><a name="set_factory_synopsis">Header
</a><a href="../../../../boost/flyweight/set_factory.hpp"><code>"boost/flyweight/set_factory.hpp"</code></a>
 synopsis &nbsp;</h2>
-<h2>&#22836;&#25991;&#20214;<a href="../../../../boost/flyweight/set_factory.hpp"><code>"boost/flyweight/set_factory.hpp"</code></a>&#22823;&#24847;</h2> +<h2>头文件<a href="../../../../boost/flyweight/set_factory.hpp"><code>"boost/flyweight/set_factory.hpp"</code></a>大 意</h2>



-<h3><a name="set_factory_class">Class template <code>set_factory_class &nbsp;&#31867;&#27169;&#26495; set_factory_class</code></a></h3> +<h3><a name="set_factory_class">Class template <code>set_factory_class &nbsp;类模板 set_factory_class</code></a></h3>



@@ -876,7 +873,7 @@



-<p><big><code>set_factory_class</code></big>&#26159;&#19968;&#20010;&#22522;&#20110;&#26377;&#24207;&#20851;&#32852;&#23481;&#22120;&#23454;&#29616;&#30340;<a href="#factory">&#24037;&#21378;</a> +<p><big><code>set_factory_class</code></big>是一个基于有序关联容器实现的<a href="#factory">工厂</a>
 </p>


@@ -915,21 +912,21 @@



-<p><big><code>Compare</code></big>&#26159;&#19968;&#20010;<a href="http://www.sgi.com/tech/stl/DefaultConstructible.html";>&#21487; -&#40664;&#35748;&#26500;&#36896;</a>&#32780;&#19988;&#22312;<big><code>Key</code></big>&#19978;<a href="http://www.sgi.com/tech/stl/StrictWeakOrdering.html";>&#20005;&#26684;
-&#24369;&#24207;</a>&#30340;&#31867;&#22411;&#12290;&#22914;&#26524;&#23545;<big><code>Compare</code></big>&#31867;
-&#22411;&#30340;<big><code>c</code></big>&#31867;&#26469;&#35828;<big><code>!c(x,y)&amp;&amp;!c(y,
-x)</code></big>&#65292;2&#20010;<big><code>Key</code>s
-<code>x</code></big> &#21644;<big><code>y</code></big>&#34987;&#30475;&#20316;&#30456;&#31561;<code>&#12290;</code><big><code>Compare</code></big>&#30340;&#40664;&#35748;&#21442;&#25968;&#26159;<big><code>std::less&lt;Key&gt;</code></big>&#12290;<big><code>Allocator</code></big>&#24517;&#39035;&#26159;&#28385;&#36275;<b>[lib.allocator.requirements]</b>&#37324;
-&#30340;&#30456;&#20851;C++&#35201;&#27714;&#30340;<big><code>Entry</code></big>&#23545;&#35937;&#30340;&#20998;&#37197;&#22120;&#12290;&#40664;&#35748;&#30340;&#21442;&#25968;&#26159;<big><code>std::allocator&lt;Entry&gt;</code></big><code>&#12290;</code><code></code><code></code><big><code>set_factory_class</code></big>&#22522;
-&#20110;&#30340;&#20869;&#37096;&#23481;&#22120;&#26159;&#29992;<big><code>Compare</code></big> &#21644; <big><code>Allocator</code></big>&#31867;
-&#22411;&#30340;&#40664;&#35748;&#21021;&#22987;&#21270;&#23545;&#35937;&#21019;&#24314;&#30340;&#12290;<code></code>
+<p><big><code>Compare</code></big>是一个<a href="http://www.sgi.com/tech/stl/DefaultConstructible.html";>可 +默认构造</a>而且在<big><code>Key</code></big>上<a href="http://www.sgi.com/tech/stl/StrictWeakOrdering.html";>严格
+弱序</a>的类型。如果对<big><code>Compare</code></big>类
+型的<big><code>c</code></big>类来说<big><code>!c(x,y)&amp;&amp;!c(y,
+x)</code></big>,2个<big><code>Key</code>s
+<code>x</code></big> 和<big><code>y</code></big>被看作相等<code>。 </code><big><code>Compare</code></big>的默认参数是 <big><code>std::less&lt;Key&gt;</code></big>。 <big><code>Allocator</code></big>必须是满足 <b>[lib.allocator.requirements]</b>里 +的相关C++要求的<big><code>Entry</code></big>对象的分配器。默认的参数是 <big><code>std::allocator&lt;Entry&gt;</code></big><code>。 </code><code></code><code></code><big><code>set_factory_class</code></big>基 +于的内部容器是用<big><code>Compare</code></big> 和 <big><code>Allocator</code></big>类
+型的默认初始化对象创建的。<code></code>
 </p>



 <h3><a name="set_factory">Class template <code>set_factory
-&nbsp;&#31867;&#27169;&#26495; set_factory</code></a></h3>
+&nbsp;类模板 set_factory</code></a></h3>



@@ -939,7 +936,7 @@



-<p><big><a href="factories.html#set_factory_class"><code>set_factory_class</code></a></big>&#30340;<a href="#factory">&#24037;&#21378;&#25551;&#36848;&#31526;</a> +<p><big><a href="factories.html#set_factory_class"><code>set_factory_class</code></a></big>的 <a href="#factory">工厂描述符</a>
 </p>


@@ -964,9 +961,9 @@



-<p><big><code>set_factory&lt;Compare,Allocator&gt;</code></big>&#26159;
-&#19968;&#20010;<a href="../../../mpl/doc/refmanual/metafunction-class.html"><code><big>MPL</big>
-<big>&#20803;&#20989;&#25968;&#31867;</big></code></a>&#65292;&#20110;&#26159;&#31867;&#22411;<br>
+<p><big><code>set_factory&lt;Compare,Allocator&gt;</code></big>是
+一个<a href="../../../mpl/doc/refmanual/metafunction-class.html"><code><big>MPL</big>
+<big>元函数类</big></code></a>,于是类型<br>



@@ -990,7 +987,7 @@



-<p>&#31561;&#21516;&#20110;
+<p>等同于
 </p>


@@ -1015,10 +1012,10 @@



-<p>&#36825;&#26263;&#31034;&#30528;<big><code>Compare</code></big> &#21644; <big><code>Allocator</code></big>&#21487; -&#20197;&#26159;<a href="../../../mpl/doc/refmanual/placeholder-expression.html"><code>MPL
-<big>&#21344;&#20301;&#31526;&#34920;&#36798;&#24335;</big></code></a><code><big>&#65292;</big></code><code><big>&#29983;</big></code><code><big>&#25104;</big></code><big><code>set_factory_class</code></big><code><big>&#29992;
-&#21040;&#30340;&#23454;&#38469;&#31867;&#22411;</big></code>
+<p>这暗示着<big><code>Compare</code></big> 和 <big><code>Allocator</code></big>可 +以是<a href="../../../mpl/doc/refmanual/placeholder-expression.html"><code>MPL +<big>占位符表达式</big></code></a><code><big>,</big></code><code><big>生 </big></code><code><big>成 </big></code><big><code>set_factory_class</code></big><code><big>用
+到的实际类型</big></code>
 </p>


@@ -1029,8 +1026,8 @@



-<h2>&#22836;&#25991;&#20214;<a href="file:///boost/flyweight/assoc_container_factory_fwd.hpp"><code>"boost/flyweight/assoc_container_factory_fwd.hpp"</code></a>&#22823;
-&#24847;</h2>
+<h2>头文件<a href="file:///boost/flyweight/assoc_container_factory_fwd.hpp"><code>"boost/flyweight/assoc_container_factory_fwd.hpp"</code></a>大
+意</h2>



@@ -1053,9 +1050,9 @@



-<p><big><code>assoc_container_factory_fwd.hpp</code></big>&#21069;&#32622;&#22768;&#26126;&#20102;&#31867;&#27169;
-&#26495;<big><a href="factories.html#assoc_container_factory_class"><code>assoc_container_factory_class</code></a></big> -&#21644; <big><a href="factories.html#assoc_container_factory"><code>assoc_container_factory</code></a></big>
+<p><big><code>assoc_container_factory_fwd.hpp</code></big>前置声明了类模
+板<big><a href="factories.html#assoc_container_factory_class"><code>assoc_container_factory_class</code></a></big> +和 <big><a href="factories.html#assoc_container_factory"><code>assoc_container_factory</code></a></big>
 </p>


@@ -1066,13 +1063,13 @@



-<h2>&#22836;&#25991;&#20214;<a href="file:///boost/flyweight/assoc_container_factory.hpp"><code>"boost/flyweight/assoc_container_factory.hpp"</code></a>&#22823;
-&#24847;</h2>
+<h2>头文件<a href="file:///boost/flyweight/assoc_container_factory.hpp"><code>"boost/flyweight/assoc_container_factory.hpp"</code></a>大
+意</h2>



 <h3><a name="assoc_container_factory_class">Class
-template <code>assoc_container_factory_class &nbsp;&#31867;&#27169;&#26495;
+template <code>assoc_container_factory_class &nbsp;类模板
 &nbsp;assoc_container_factory_class</code></a></h3>


@@ -1085,8 +1082,8 @@



-<p><big><code>assoc_container_factory_class</code></big>&#21253;&#35013;&#20102;&#19968;&#20010;&#21512;&#36866;&#30340;&#20851;
-&#32852;&#23481;&#22120;&#29992;&#26469;&#25552;&#20379;<a href="#factory">&#24037;&#21378;</a>&#30340;&#30028;&#38754;
+<p><big><code>assoc_container_factory_class</code></big>包装了一个合适的关
+联容器用来提供<a href="#factory">工厂</a>的界面
 </p>


@@ -1105,8 +1102,8 @@
 <p>
 <code>Container</code> must be an (ordered or unordered)
 associative container
-such that &nbsp;<code>Container</code>&#24517;&#39035;&#26159;&#19968;&#20010;&#65288;&#26377;&#24207;&#30340;&#25110;&#32773;&#26080;&#24207;&#30340;&#65289;&#20851;&#32852;&#23481;
-&#22120;&#65292;&#35813;&#23481;&#22120;&#28385;&#36275;
+such that &nbsp;<code>Container</code>必须是一个(有序的或者无序的)关联容
+器,该容器满足
 </p>


@@ -1123,7 +1120,7 @@



- <p><big><code>Container::key_type</code></big>&#31561;&#21516;&#20110;<big><code>Container::value_type</code></big>&#65288;&#23427;&#26159;&#30456;&#20851;&#24037;&#21378;&#30340;entry&#31867;&#22411;&#65289;</p> + <p><big><code>Container::key_type</code></big>等同于 <big><code>Container::value_type</code></big>(它是相关工厂的entry类型)</p>



@@ -1133,7 +1130,7 @@



- <p>&#25903;&#25345;&#21807;&#19968;&#30340;keys&#65288;&#32780;&#38750;&#30456;&#31561;&#30340;key&#65289;</p>
+  <p>支持唯一的keys(而非相等的key)</p>



@@ -1144,7 +1141,7 @@



- <p>&#23481;&#22120;&#26159;<span style="font-style: italic;">&#31283;&#23450;&#30340;</span>&#65292;&#23601;&#26159;&#35828;&#65292;&#25554;&#20837;&#21644;&#21024;&#38500;&#25805;&#20316;&#20043;&#21518;&#23427;&#30340;&#36845;&#20195;&#22120;&#20381;&#28982;&#26377;&#25928;<code></code><br> + <p>容器是<span style="font-style: italic;">稳定的</span>,就是说,插入和 删除操作之后它的迭代器依然有效<code></code><br>


   </p>
@@ -1173,7 +1170,7 @@
 <code></code><br>


-<big><code>assoc_container_factory_class</code></big>&#19978;&#30340;&#30456;&#31561;&#20851;&#31995;&#30001;<big><code>Container</code></big>&#23548;&#20986;&#12290;&#22914;&#26524;<big><code>Container::value_type</code></big>&#20803;&#32032;&#30340;&#30456;&#31561;&#20851;&#31995;&#23436;&#20840;&#30001;&#31867;&#22411;<big><code>value_type'</code></big>&#20915;&#23450;&#65292;&#32780;&#19988;<big><code>value_type</code></big>&#21487;&#20197;&#38544;&#24335;&#36716;&#25442;&#25104;<code><big>value_type'</big>&#65292;</code>&#37027;&#20040;<big><code>assoc_container_factory_class</code></big>&#26159;&#19968;&#20010;&#38544;&#24335;&#20851;&#32852;&#21040;<big><code>value_type'</code></big>&#30340;<big><code>value_type</code></big>&#31867;&#22411;&#20803;&#32032;&#30340;&#24037;&#21378;&#12290;&#20363;&#22914;&#65292;&#36825;&#20010;&#23454;&#20363;
+<big><code>assoc_container_factory_class</code></big>上的相等关系由 <big><code>Container</code></big>导出。如果 <big><code>Container::value_type</code></big>元素的相等关系完全由类型 <big><code>value_type'</code></big>决定,而且 <big><code>value_type</code></big>可以隐式转换成 <code><big>value_type'</big>,</code>那么 <big><code>assoc_container_factory_class</code></big>是一个隐式关联到 <big><code>value_type'</code></big>的<big><code>value_type</code></big>类型 元素的工厂。例如,这个实例
 <blockquote>


@@ -1191,13 +1188,13 @@
 <code>base</code>.</p>


-<p>&#26159;&#19968;&#20010;&#38544;&#24335;&#20851;&#32852;&#21040;<big><code>base</code></big>&#30340;<big><code>derived</code></big>&#20803;&#32032;&#30340;&#24037;&#21378;
+<p>是一个隐式关联到<big><code>base</code></big>的 <big><code>derived</code></big>元素的工厂
 </p>



 <h3><a name="assoc_container_factory">Class template
-<code>assoc_container_factory &nbsp;&#31867;&#27169;&#26495; &nbsp;assoc_container_factory</code></a></h3> +<code>assoc_container_factory &nbsp;类模板 &nbsp;assoc_container_factory</code></a></h3>



@@ -1206,7 +1203,7 @@
for <a href="#assoc_container_factory_class"><code>assoc_container_factory_class</code></a>.</p>


-<p><big><a href="factories.html#assoc_container_factory_class"><code>assoc_container_factory_class</code></a></big>&#30340;<a href="#factory">&#24037;&#21378;&#25551;&#36848;&#31526;</a> +<p><big><a href="factories.html#assoc_container_factory_class"><code>assoc_container_factory_class</code></a></big>的 <a href="#factory">工厂描述符</a>
 </p>


@@ -1233,8 +1230,8 @@
of <code>Entry</code> elements implicitly associated to <code>Key</code>.</p>


-<p><big><code>ContainerSpecifier</code></big>&#24517;&#39035;&#26159;&#19968;&#20010;<a href="../../../mpl/doc/refmanual/lambda-expression.html"><code><big>MPL -Lambda</big> <big>&#34920;&#36798;&#24335;</big></code></a>&#65292;&#24403;&#29992;&#65288;<big><code>Entry</code>&#65292;<code>Key</code></big>&#65289;&#35843;&#29992;&#26102;&#65292;&#29983;&#25104;&#19968;&#20010;<code><big>Container</big>&#65292;</code>&#28982;&#21518;<big><code>assoc_container_factory_class&lt;Container&gt;</code></big>&#26159;&#19968;&#20010;<code></code>&#38544;&#24335;&#20851;&#32852;&#21040;<big><code>Key</code></big>&#30340;<big><code>Entry</code></big>&#20803;&#32032;&#30340;&#24037;&#21378;&#65292; +<p><big><code>ContainerSpecifier</code></big>必须是一个<a href="../../../mpl/doc/refmanual/lambda-expression.html"><code><big>MPL +Lambda</big> <big>表达式</big></code></a>,当用 (<big><code>Entry</code>,<code>Key</code></big>)调用时,生成一个 <code><big>Container</big>,</code>然后 <big><code>assoc_container_factory_class&lt;Container&gt;</code></big>是一个 <code></code>隐式关联到<big><code>Key</code></big>的 <big><code>Entry</code></big>元素的工厂,
 </p>


@@ -1279,8 +1276,8 @@



-<p>&copy; Copyright 2006-2008 Joaqu&iacute;n M
-L&oacute;pez Mu&ntilde;oz.
+<p>© Copyright 2006-2008 Joaquín M
+López Muñoz.
 Distributed under the Boost Software License, Version 1.0. (See
 accompanying file <a href="../../../../LICENSE_1_0.txt">
LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt";>
@@ -1289,5 +1286,4 @@



-</body>
-</html>
+</body></html>
\ No newline at end of file

Modified: trunk/libs/flyweight/doc/reference/flyweight.html
==============================================================================
--- trunk/libs/flyweight/doc/reference/flyweight.html   (original)
+++ trunk/libs/flyweight/doc/reference/flyweight.html Wed Apr 8 05:59:37 2009
@@ -1,6 +1,5 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0.1 Transitional//EN">
-<html>
-<head>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0.1 Transitional//EN">
+<html><head>



@@ -12,7 +11,7 @@



-  <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">



@@ -30,8 +29,8 @@



-  <title>Boost.Flyweight Documentation - flyweight reference</title>
-  <link rel="stylesheet" href="../style.css" type="text/css">
+
+ <title>Boost.Flyweight Documentation - flyweight reference</title><link rel="stylesheet" href="../style.css" type="text/css">



@@ -79,9 +78,7 @@



-  <link rel="next" href="key_value.html">
-</head>
-
+  <link rel="next" href="key_value.html"></head>

 <body>

@@ -153,7 +150,7 @@

 <hr>

-<h2>Contents &nbsp;&#30446;&#24405;</h2>
+<h2>Contents &nbsp;目录</h2>



@@ -169,7 +166,7 @@


   <li><a href="#flyweight_fwd_synopsis">Header
- <code>"boost/flyweight/flyweight_fwd.hpp"</code> synopsis &nbsp;&#22836;&#25991;&#20214;"boost/flyweight/flyweight_fwd.hpp"&#22823;&#24847;</a></li> + <code>"boost/flyweight/flyweight_fwd.hpp"</code> synopsis &nbsp;头文 件"boost/flyweight/flyweight_fwd.hpp"大意</a></li>



@@ -177,7 +174,7 @@


   <li><a href="#synopsis">Header
- <code>"boost/flyweight/flyweight.hpp"</code> synopsis &nbsp;&#22836;&#25991;&#20214;"boost/flyweight/flyweight.hpp"&#22823;&#24847;</a> + <code>"boost/flyweight/flyweight.hpp"</code> synopsis &nbsp;头文 件"boost/flyweight/flyweight.hpp"大意</a>



@@ -191,7 +188,7 @@



- <li><a href="#flyweight">Class template <code>flyweight &nbsp;flyweight&#31867;&#27169;&#26495;</code></a> + <li><a href="#flyweight">Class template <code>flyweight &nbsp;flyweight类模板</code></a>



@@ -205,56 +202,56 @@



- <li><a href="#instantiation_types">Instantiation types &nbsp;&#23454;&#20363;&#31867;&#22411;&nbsp;</a></li> + <li><a href="#instantiation_types">Instantiation types &nbsp;实例 类型&nbsp;</a></li>






- <li><a href="#static_init">Static data initialization &nbsp;&#38745;&#24577;&#25968;&#25454;&#21021;&#22987;&#21270;</a></li> + <li><a href="#static_init">Static data initialization &nbsp;静态 数据初始化</a></li>






- <li><a href="#constructors">Constructors, copy and assignment &nbsp;&#26500;&#36896;&#65292;&#25335;&#36125;&#21644;&#36171;&#20540;</a></li> + <li><a href="#constructors">Constructors, copy and assignment &nbsp;构造,拷贝和赋值</a></li>






- <li><a href="#convertibility">Convertibility to the underlying types &nbsp;&#36716;&#25442;&#21040;&#24213;&#23618;&#31867;&#22411;</a></li> + <li><a href="#convertibility">Convertibility to the underlying types &nbsp;转换到底层类型</a></li>






- <li><a href="#modifiers">Modifiers &nbsp;&#20462;&#25913;&#22120;</a></li>
+          <li><a href="#modifiers">Modifiers &nbsp;修改器</a></li>






- <li><a href="#comparison">Comparison operators &nbsp;&#27604;&#36739;&#25805;&#20316;&#31526;</a></li> + <li><a href="#comparison">Comparison operators &nbsp;比较操作符 </a></li>






- <li><a href="#specialized">Specialized algorithms &nbsp;&#19987;&#38376;&#21270;&#30340;&#31639;&#27861;</a></li> + <li><a href="#specialized">Specialized algorithms &nbsp;专门化的 算法</a></li>






- <li><a href="#config_macros">Configuration macros &nbsp;&#37197;&#32622;&#23439;</a></li> + <li><a href="#config_macros">Configuration macros &nbsp;配置宏 </a></li>



@@ -318,7 +315,7 @@



-<h2>&#22836;&#25991;&#20214;<a href="../../../../boost/flyweight/flyweight_fwd.hpp"><code>"boost/flyweight/flyweight_fwd.hpp"</code></a> &#22823;&#24847;</h2> +<h2>头文件<a href="../../../../boost/flyweight/flyweight_fwd.hpp"><code>"boost/flyweight/flyweight_fwd.hpp"</code></a> 大意</h2>



@@ -413,7 +410,7 @@



-<p><big><code>flyweight_fwd.hpp</code></big>&#21069;&#32622;&#22768;&#26126;&#20102;&#31867;&#27169;&#26495;<big><a href="flyweight.html#flyweight"><code>flyweight</code></a></big>&#21644;&#30456;&#20851;&#30340;&#20840;&#23616;&#20989;&#25968;&#12290; +<p><big><code>flyweight_fwd.hpp</code></big>前置声明了类模板<big><a href="flyweight.html#flyweight"><code>flyweight</code></a></big>和相关的全局 函数。
 </p>


@@ -430,7 +427,7 @@



-<h2>&#22836;&#25991;&#20214;<a href="../../../../boost/flyweight/flyweight.hpp"><code>"boost/flyweight/flyweight.hpp"</code></a>&#22823;&#24847; +<h2>头文件<a href="../../../../boost/flyweight/flyweight.hpp"><code>"boost/flyweight/flyweight.hpp"</code></a>大
 </h2>


@@ -440,7 +437,7 @@


 <h3><a name="flyweight">
-Class template <code>flyweight&nbsp;flyweight&#31867;&#27169;&#26495;</code>
+Class template <code>flyweight&nbsp;flyweight类模板</code>
 </a></h3>


@@ -457,7 +454,7 @@



-<p><big><code>flyweight&lt;...&gt;</code></big>&#31867;&#22411;&#30340;&#23545;&#35937;&#25552;&#20379;&#21040;<big><code>flyweight&lt;...&gt;::value_type</code></big>&#31867;&#22411;&#30340;&#24120;&#37327;&#35775;&#38382;&#65292;&#23545;&#27604;&#20351;&#29992;&#26222;&#36890;&#30340;<big><code>value_type</code></big>&#23545;&#35937;&#20855;&#26377;&#22914;&#19979;&#30340;&#20248;&#28857;&#65306;
+<p><big><code>flyweight&lt;...&gt;</code></big>类型的对象提供到 <big><code>flyweight&lt;...&gt;::value_type</code></big>类型的常量访问,对比 使用普通的<big><code>value_type</code></big>对象具有如下的优点:
 </p>


@@ -482,7 +479,7 @@



-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#20855;&#26377;&#30456;&#21516;&#20540;&#30340;flyweight&#23545;&#35937;&#20849;&#20139;&#21516;&#19968;&#20010;&#34920;&#31034;&#65288;&#20851;&#32852;&#30340;<big><code>value_type</code></big>&#23545;&#35937;&#65289;&#12290; +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 具有相同值的flyweight对象共享同一个表示 (关联的<big><code>value_type</code></big>对象)。
 <ul>


@@ -503,7 +500,7 @@



-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; flyweights&#30340;&#22823;&#23567;&#36890;&#24120;&#26159;&#19968;&#20010;&#25351;&#38024;&#30340;&#22823;&#23567;&#65292;&#36825;&#36890;&#24120;&#35201;&#23567;&#20110;<big><code>sizeof(value_type)</code></big>&#12290;<br> +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; flyweights的大小通常是一个指针的大小,这 通常要小于<big><code>sizeof(value_type)</code></big>。<br>



@@ -526,7 +523,7 @@



-&#22240;&#27492;&#65292;&#22914;&#26524;&#20887;&#20313;&#24230;&#65288;&#20840;&#20307;&#23545;&#35937;&#21644;&#19981;&#21516;&#20540;&#30340;&#23545;&#35937;&#20043;&#27604;&#65289;&#36275;&#22815;&#39640;&#65292;&#20197;&#19968;&#20010;&#21512;&#36866;&#30340;<big><code>flyweight</code></big>&#23454;&#20363;&#26469;&#26367;&#25442;<big><code>value_type</code></big>&#21487;&#20197;&#20943;&#23569;&#20869;&#23384;&#29992;&#37327;&#12290;
+因此,如果冗余度(全体对象和不同值的对象之比)足够高,以一个合适的 <big><code>flyweight</code></big>实例来替换 <big><code>value_type</code></big>可以减少内存用量。


 <p>
@@ -535,7 +532,7 @@



-<p><code>flyweight</code>&#26681;&#25454;&#19968;&#20123;&#30028;&#38754;&#26469;&#21442;&#25968;&#21270;
+<p><code>flyweight</code>根据一些界面来参数化
 </p>


@@ -562,7 +559,7 @@



-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <big><code>key_type</code></big>&#21644;<big><code>value_type</code></big>&#31867;&#22411;&#65288;&#21487;&#33021;&#30456;&#21516;&#65289;&#65292;&#36825;&#37324;<big><code>key_type</code></big>&#20316;&#20026;&#38190;&#31867;&#22411;&#29992;&#26469;&#26597;&#25214;&#21644;&#21019;&#24314;&#20869;&#37096;&#30340;&#20849;&#20139;&#30340;<big><code>value_type</code></big>&#23545;&#35937;&#30340;&#23454;&#20363;&#12290; +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <big><code>key_type</code></big>和 <big><code>value_type</code></big>类型(可能相同),这里 <big><code>key_type</code></big>作为键类型用来查找和创建内部的共享的 <big><code>value_type</code></big>对象的实例。
 <ul>


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



-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <code></code>&#19968;&#20010;&#21487;&#36873;&#30340;<a href="tags.html#tag">&#26631;&#35760;</a>&#31867;&#22411;&#29992;&#26469;&#20174;&#35821;&#27861;&#19978;&#23545;&#30456;&#21516;&#30340;&#23454;&#20363;&#36827;&#34892;&#21306;&#20998;&#12290; +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <code></code>一个可选的<a href="tags.html#tag">标记</a>类型用来从语法上对相同的实例进行区分。
 <ul>


@@ -600,7 +597,7 @@



-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&#29992;&#26469;&#23384;&#21462;&#20849;&#20139;&#30340;&#20540;&#23545;&#35937;&#30340;<a href="factories.html#factory">&#24037;&#21378;&#31867;</a>&#12290; +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;用来存取共享的值对象的<a href="factories.html#factory">工厂类</a>。
 <ul>


@@ -621,7 +618,7 @@



-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<a href="holders.html#holder">holder</a>&#31867;&#22411;&#29992;&#26469;&#23454;&#20363;&#21270;flyweight&#24037;&#21378;&#21644;&#19968;&#20010;&#20114;&#26021;&#23545;&#35937;&#65292;&#23545;&#27599;&#19968;&#20010;<big><code>flyweight</code></big>&#31867;&#27169;&#26495;&#30340;&#23454;&#20363;&#36825;&#20004;&#32773;&#37117;&#26159;&#21807;&#19968;&#30340;&#12290; +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<a href="holders.html#holder">holder</a>类型用来实例化flyweight工厂和一个互斥对 象,对每一个<big><code>flyweight</code></big>类模板的实例这两者都是唯一的。

 <ul>

@@ -641,7 +638,7 @@



-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&#19968;&#31181;<a href="locking.html#locking">&#38145;&#23450;&#31574;&#30053;</a>&#30830;&#23450;&#23545;&#20849;&#20139;&#36164;&#28304;&#20869;&#37096;&#35775;&#38382;&#30340;&#21516;&#27493;&#26426;&#21046;&#12290; +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;一种<a href="locking.html#locking">锁定策 略</a>确定对共享资源内部访问的同步机制。
 <ul>


@@ -663,7 +660,7 @@



-&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&#19968;&#31181;<a href="tracking.html#tracking">&#36319;&#36394;&#31574;&#30053;</a>&#25511;&#21046;&#24403;&#20851;&#32852;&#21040;&#19968;&#20010;&#20540;&#30340;&#25152;&#26377;flyweight&#23545;&#35937;&#37117;&#38144;&#27585;&#20043;&#21518;&#23427;&#35813;&#24590;&#20040;&#34987;&#22788;&#29702;&#12290;<br> +&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;一种<a href="tracking.html#tracking">跟踪 策略</a>控制当关联到一个值的所有flyweight对象都销毁之后它该怎么被处理。<br>



@@ -684,7 +681,7 @@



-&#36825;&#20123;&#30028;&#38754;&#20197;&#19979;&#38754;&#36825;&#20123;&#26041;&#24335;&#24433;&#21709;&#30528;<big><code>flyweight</code></big>&#23454;&#20363;&#30340;&#20869;&#37096;&#26500;&#36896;&#21644;&#34892;&#20026;&#65306;
+这些界面以下面这些方式影响着<big><code>flyweight</code></big>实例的内部构造 和行为:
 <ul>


@@ -704,7 +701,7 @@
 </ul>


-<div style="margin-left: 40px;">&#27599;&#20010;<big><code>flyweight</code></big>&#23454;&#20363;&#30340;&#20869;&#37096;&#25317;&#26377;&#19968;&#20010;&#21807;&#19968;&#30340;&#24037;&#21378;&#23545;&#35937;&#21644;&#19968;&#20010;&#21807;&#19968;&#30340;&#21516;&#27493;<a href="locking.html#preliminary">&#20114;&#26021;</a>&#23545;&#35937;&#65292;&#36825;&#20004;&#32773;&#37117;&#26159;&#36890;&#36807;&#30456;&#20851;&#30340;holder&#31867;&#22411;&#21019;&#24314;&#30340;&#12290; +<div style="margin-left: 40px;">每个<big><code>flyweight</code></big>实例的 内部拥有一个唯一的工厂对象和一个唯一的同步<a href="locking.html#preliminary">互斥</a>对象,这两者都是通过相关的holder类型 创建的。
 </div>


@@ -729,7 +726,7 @@
 </ul>


-<div style="margin-left: 40px;">flyweight&nbsp;&#24037;&#21378;&#23384;&#20648;&#19968;&#20010;&#26410;&#20844;&#24320;&#30340;<big><code>Entry</code></big>&#31867;&#22411;&#30340;&#20803;&#32032;&#65292;&#36825;&#20010;&#31867;&#22411;&#21487;&#20197;&#38544;&#24335;&#36716;&#25442;&#21040;<big><code>const key_type&amp;</code></big>&#24182;&#19988;&#21253;&#21547;&#19968;&#20010;<big><code>value_type</code></big>&#31867;&#22411;&#30340;&#23376;&#23545;&#35937;&#12290;&#27599;&#20010;flyweight&#23545;&#35937;&#37117;&#20851;&#32852;&#21040;&#23384;&#20648;&#22312;&#24037;&#21378;&#37324;&#30340;&#26576;&#20010;<big><code>Entry</code></big>&#30340;<big><code>value_type</code></big>&#23376;&#23545;&#35937;&#12290;</div> +<div style="margin-left: 40px;">flyweight&nbsp;工厂存储一个未公开的 <big><code>Entry</code></big>类型的元素,这个类型可以隐式转换到 <big><code>const key_type&amp;</code></big>并且包含一个 <big><code>value_type</code></big>类型的子对象。每个flyweight对象都关联到存 储在工厂里的某个<big><code>Entry</code></big>的 <big><code>value_type</code></big>子对象。</div>


 <ul>
@@ -750,7 +747,7 @@
 </ul>


-<div style="margin-left: 40px;">&#30456;&#20851;&#30340;&#20114;&#26021;&#23545;&#35937;&#29992;&#26469;&#20445;&#25252;&#21040;&#20869;&#37096;flyweight&#24037;&#21378;&#30340;&#25152;&#26377;&#25554;&#20837;&#21644;&#21024;&#38500;&#21151;&#33021;&#30340;&#35843;&#29992;&#12290;</div> +<div style="margin-left: 40px;">相关的互斥对象用来保护到内部flyweight工厂的 所有插入和删除功能的调用。</div>


 <ul>
@@ -776,7 +773,7 @@
 </ul>


-<div style="margin-left: 40px;">&#27599;&#20010;flyweight&#23545;&#35937;&#20869;&#37096;&#23384;&#20648;&#19968;&#20010;&#26410;&#20844;&#24320;&#30340;<big><code>Handle</code></big>&#31867;&#22411;&#30340;&#20540;&#12290;<big><code>Handle</code></big>&#36824;&#26377;&#19978;&#25991;&#25552;&#21040;&#30340;<big><code>Entry</code></big>&#31867;&#22411;&#37117;&#26469;&#33258;&#20110;&#23545;&#30456;&#20851;&#30340;&#36319;&#36394;&#31574;&#30053;&#30340;&#35843;&#29992;&#65292;&#20197;&#23427;&#33258;&#24049;&#30340;&#26041;&#24335;&#12290;<br> +<div style="margin-left: 40px;">每个flyweight对象内部存储一个未公开的 <big><code>Handle</code></big>类型的值。<big><code>Handle</code></big>还有上 文提到的<big><code>Entry</code></big>类型都来自于对相关的跟踪策略的调用,以 它自己的方式。<br>


 <br>
@@ -799,7 +796,7 @@
 <br>


-&#22312;&#25509;&#19979;&#26469;&#30340;&#37096;&#20998;&#65292;&#25105;&#20204;&#38544;&#21547;&#20551;&#35774;<big><code>key_type</code></big>&#30340;&#30456;&#31561;&#25351;&#30340;&#26159;&#25152;&#20351;&#29992;&#30340;&#24037;&#21378;&#31867;&#23548;&#20986;&#30340;&#30456;&#31561;&#20851;&#31995;&#12290;&#24182;&#19988;&#65292;&#22914;&#26524;&#20004;&#20010;<big><code>value_type</code></big>&#30340;&#20540;&#20174;&#30456;&#31561;&#30340;&#38190;&#26500;&#36896;&#32780;&#26469;&#65292;&#25110;&#32773;&#26159;&#30001;&#30456;&#31561;&#30340;&#38190;&#26500;&#36896;&#20986;&#26469;&#30340;&#23545;&#35937;&#30340;&#25335;&#36125;&#65292;&#23427;&#20204;&#23558;&#34987;&#30475;&#20316;&#26159;&#30456;&#31561;&#30340;&#12290;
+在接下来的部分,我们隐含假设<big><code>key_type</code></big>的相等指的是所 使用的工厂类导出的相等关系。并且,如果两个 <big><code>value_type</code></big>的值从相等的键构造而来,或者是由相等的键构 造出来的对象的拷贝,它们将被看作是相等的。


 <blockquote>
@@ -862,7 +859,7 @@



-<h4><a name="instantiation_types">Instantiation types &nbsp;&#23454;&#20363;&#31867;&#22411;</a></h4> +<h4><a name="instantiation_types">Instantiation types &nbsp;实例类型 </a></h4>



@@ -871,7 +868,7 @@


 <p>
-<code>T</code> can be either: &nbsp;<big><code>T</code></big>&#21487;&#20197;&#26159;2&#32773;&#20043;&#19968;
+<code>T</code> can be either: &nbsp;<big><code>T</code></big>可以是2者之一
 </p>


@@ -885,7 +882,7 @@



- <li>An arbitrary type, &nbsp;&#19968;&#20010;&#20219;&#24847;&#31867;&#22411;</li>
+  <li>An arbitrary type, &nbsp;一个任意类型</li>



@@ -893,7 +890,7 @@


   <li>a type of the form
- <a href="key_value.html#key_value_construct"><code>key_value&lt;Key,Value[,KeyFromValue]&gt;</code></a>. &#19968;&#20010;<a href="key_value.html#key_value_construct"><code>key_value&lt;Key,Value[,KeyFromValue]&gt;</code></a>&#36825;&#31181;&#26684;&#24335;&#30340;&#31867;&#22411;&nbsp;</li> + <a href="key_value.html#key_value_construct"><code>key_value&lt;Key,Value[,KeyFromValue]&gt;</code></a>. 一个<a href="key_value.html#key_value_construct"><code>key_value&lt;Key,Value[,KeyFromValue]&gt;</code></a>这 种格式的类型&nbsp;</li>



@@ -930,7 +927,7 @@



-&#22312;&#31532;&#19968;&#31181;&#24773;&#20917;&#19979;&#65292;&#20869;&#23884;&#30340;&#31867;&#22411;<big><code>key_type</code></big>&#21644;<big><code>value_type</code></big>&#37117;&#31561;&#21516;&#20110;<code><big>T</big>&#12290;</code>&#31532;&#20108;&#31181;&#24773;&#20917;&#19979;&#65292;<big><code>key_type</code>=</big><code><big>Key</big></code>&#65292;<big><code>value_type</code>=</big><code><big>Value</big>&#65307;</code>&#27492;&#26102;&#25105;&#20204;&#31216;&#36825;&#20010;<big><code>flyweight</code></big>&#30340;&#23454;&#20363;&#20026;<span style="font-style: italic;">&#38190;-&#20540;</span> flyweight&#12290;<big><code>value_type</code></big>&#26159;flyweight&#23545;&#35937;&#35775;&#38382;&#30340;&#20540;&#30340;&#31867;&#22411;&#65292;&#20540;&#30340;&#26597;&#25214;&#26159;&#22522;&#20110;&#30456;&#20851;&#30340;<big><code>key_type</code></big>&#20540;&#12290;<big><code>key_value</code></big>&#20540;&#24517;&#39035;&#26159;<a href="http://www.sgi.com/tech/stl/Assignable.html";>&#21487;&#36171;&#20540;&#30340;</a>&#24182;&#19988;<big><code>value_type</code></big>&#24517;&#39035;&#21487;&#20197;&#20174;<big><code>key_type</code></big>&#30340;&#26500;&#36896;&#32780;&#26469;&#65307;&#21478;&#22806;&#65292;<big><code>key_value</code></big>&#21478;&#36824;&#35201;&#28385;&#36275;&#25152;&#29992;&#24037;&#21378;&#26045;&#21152;&#30340;&#19968;&#20123;&#39069;&#22806;&#30340;&#35201;&#27714;&#12290;&#38190;-&#20540;flyweights&#20445;&#35777;&#65306;&#19968;&#20010;flyweight&#23545;&#35937;&#30340;&#21019;&#24314;&#25110;&#32773;&#22797;&#21046;&#23548;&#33268;<big><code>value_type</code></big>&#23545;&#35937;&#26368;&#22810;&#26500;&#36896;&#65288;&#22312;&#26576;&#20123;&#29305;&#23450;&#30340;&#24773;&#24418;&#19979;&#26159;&#25335;&#36125;&#26500;&#36896;&#65289;&#19968;&#27425;&#65292;&#24182;&#19988;&#36825;&#20010;&#26500;&#36896;&#21482;&#22312;flyweight&#24037;&#21378;&#37324;&#20043;&#21069;&#19981;&#23384;&#22312;&#30456;&#31561;&#30340;&#20540;&#26102;&#25165;&#20250;&#21457;&#29983;&#12290; +在第一种情况下,内嵌的类型<big><code>key_type</code></big>和 <big><code>value_type</code></big>都等同于<code><big>T</big>。</code>第二种 情况 下,<big><code>key_type</code>=</big><code><big>Key</big></code>,<big><code>value_type</code>=</big><code><big>Value</big>;</code>此 时我们称这个<big><code>flyweight</code></big>的实例为<span style="font-style: italic;">键-值</span> flyweight。 <big><code>value_type</code></big>是flyweight对象访问的值的类型,值的查找是 基于相关的<big><code>key_type</code></big>值。 <big><code>key_value</code></big>值必须是<a href="http://www.sgi.com/tech/stl/Assignable.html";>可赋值的</a>并且 <big><code>value_type</code></big>必须可以从 <big><code>key_type</code></big>的构造而来;另 外,<big><code>key_value</code></big>另还要满足所用工厂施加的一些额外的要 求。键-值flyweights保证:一个flyweight对象的创建或者复制导致 <big><code>value_type</code></big>对象最多构造(在某些特定的情形下是拷贝构造 )一次,并且这个构造只在flyweight工厂里之前不存在相等的值时才会发生。


 <p>
@@ -940,7 +937,7 @@



-<p>&#31867;&#22411;<big><code>Arg1</code>&#65292;&hellip;&#65292; </big><code><big>Arg5</big>&#65292;</code>&#22914;&#26524;&#25552;&#20379;&#30340;&#35805;&#65292;&#24517;&#39035;&#26159;&#20197;&#19979;&#20960;&#31181;&#31867;&#22411;&#20043;&#19968;&#65292;&#27809;&#26377;&#29305;&#23450;&#30340;&#39034;&#24207;&#35201;&#27714;&#65306; +<p>类型<big><code>Arg1</code>,…, </big><code><big>Arg5</big>,</code>如果 提供的话,必须是以下几种类型之一,没有特定的顺序要求:
 </p>


@@ -1009,7 +1006,7 @@



-&#27599;&#20010;&#30028;&#38754;&#21482;&#21487;&#20197;&#25351;&#23450;&#19968;&#27425;&#12290;&#27599;&#20010;<big><code>flyweight</code></big>&#23454;&#20363;&#30340;&#20869;&#37096;&#32452;&#20214;&#26159;&#36890;&#36807;&#20351;&#29992;&#30456;&#24212;&#30340;&#25551;&#36848;&#31526;&#33719;&#24471;&#30340;&#65307;&#20363;&#22914;&#65292;&#32473;&#23450;&#30340;&#65288;MPL&#65289;&#24037;&#21378;&#25551;&#36848;&#31526;&#30340;&#25191;&#34892;&#29983;&#25104;&#19968;&#20010;&#24037;&#21378;&#65292;&#32473;&#23450;&#30340;&#38145;&#23450;&#31574;&#30053;&#20135;&#29983;&#20869;&#37096;&#20114;&#26021;&#23545;&#35937;&#65292;&#31561;&#31561;&#12290;&#40664;&#35748;&#30340;&#37197;&#32622;&#21442;&#25968;&#26159;&#65306;
+每个界面只可以指定一次。每个<big><code>flyweight</code></big>实例的内部组件 是通过使用相应的描述符获得的;例如,给定的(MPL)工厂描述符的执行生成一个工 厂,给定的锁定策略产生内部互斥对象,等等。默认的配置参数是:
 <ul>


@@ -1061,7 +1058,7 @@



-<h4><a name="static_init">Static data initialization &nbsp;&#38745;&#24577;&#25968;&#25454;&#21021;&#22987;&#21270;</a></h4> +<h4><a name="static_init">Static data initialization &nbsp;静态数据初始化 </a></h4>



@@ -1079,7 +1076,7 @@



-<p>&#19968;&#20010;&#32473;&#23450;<big><code>flyweight</code></big>&#23454;&#20363;&#30340;&#38745;&#24577;&#25968;&#25454;&#65288;&#24037;&#21378;&#23454;&#20363;&#65292;&#31561;&#31561;&#65289;&#26159;&#22312;&#31243;&#24207;&#30340;&#21160;&#24577;&#21021;&#22987;&#21270;&#38454;&#27573;&#21019;&#24314;&#30340;&#65292;&#24182;&#19988;&#26159;&#22312;&#31243;&#24207;&#33539;&#22260;&#20869;&#31532;&#19968;&#27425;&#20351;&#29992;&#35813;&#23454;&#20363;&#31867;&#20043;&#21069;&#12290;&#24403;&#23545;&#21021;&#22987;&#21270;&#30340;&#26102;&#38388;&#35201;&#27714;&#26356;&#22810;&#30340;&#25511;&#21046;&#26102;&#21487;&#20197;&#20351;&#29992;&#19979;&#38754;&#30340;&#24037;&#20855;&#12290;
+<p>一个给定<big><code>flyweight</code></big>实例的静态数据(工厂实例,等等 )是在程序的动态初始化阶段创建的,并且是在程序范围内第一次使用该实例类之前。 当对初始化的时间要求更多的控制时可以使用下面的工具。
 </p>


@@ -1098,7 +1095,7 @@

   <span style="font-weight: bold;">

-&#25928;&#26524;&#65306;</span>&#25191;&#34892;&#36825;&#20010;&#20989;&#25968;&#20043;&#21518;&#19982;<big><code>flyweight</code></big>&#23454;&#20363;&#30456;&#20851;&#30340;&#38745;&#24577;&#25968;&#25454;&#30830;&#20445;&#24050;&#32463;&#34987;&#26500;&#36896;&#20102;<br>
+效果:</span>执行这个函数之后与<big><code>flyweight</code></big>实例相关的 静态数据确保已经被构造了<br>



@@ -1110,7 +1107,7 @@

   <span style="font-weight: bold;">

-&#27880;&#24847;&#65306;</span>&#21516;&#27493;&#25191;&#34892;&#36825;&#20010;&#20989;&#25968;&#26159;&#32447;&#31243;&#19981;&#23433;&#20840;&#30340;
+注意:</span>同步执行这个函数是线程不安全的
 </blockquote>


@@ -1127,7 +1124,7 @@

   <span style="font-weight: bold;">

-&#25928;&#26524;&#65306;</span>&#25191;&#34892;<code>init()</code>
+效果:</span>执行<code>init()</code>
 </blockquote>


@@ -1136,7 +1133,7 @@



-<h4><a name="constructors">Constructors, copy and assignment &nbsp;&#26500;&#36896;&#65292;&#25335;&#36125;&#21644;&#36171;&#20540;</a></h4> +<h4><a name="constructors">Constructors, copy and assignment &nbsp;构造,拷 贝和赋值</a></h4>



@@ -1154,7 +1151,7 @@

   <span style="font-weight: bold;">

-&#35201;&#27714;&#65306;</span><big><code>key_type</code></big>&#21487;&#20197;<a href="http://www.sgi.com/tech/stl/DefaultConstructible.html";>&#40664;&#35748;&#26500;&#36896;</a>&#12290;<br> +要求:</span><big><code>key_type</code></big>可以<a href="http://www.sgi.com/tech/stl/DefaultConstructible.html";>默认构造</a>。 <br>



@@ -1167,7 +1164,7 @@

   <span style="font-weight: bold;">

-&#25928;&#26524;&#65306;</span>&#21019;&#24314;&#19968;&#20010;<big><code>flyweight</code></big>&#23545;&#35937;&#20851;&#32852;&#21040;&#20540;<big><code>value_type(key_type())</code></big>
+效果:</span>创建一个<big><code>flyweight</code></big>对象关联到值 <big><code>value_type(key_type())</code></big>
 </blockquote>


@@ -1192,7 +1189,7 @@

   <span style="font-weight: bold;">

-&#25928;&#26524;&#65306;</span>&#21019;&#24314;&#19968;&#20010;&#25317;&#26377;&#20540;<big><code>x.get()</code></big>&#30340;<big><code>flyweight</code></big>&#23545;&#35937;&#12290;<br>
+效果:</span>创建一个拥有值<big><code>x.get()</code></big>的 <big><code>flyweight</code></big>对象。<br>



@@ -1204,7 +1201,7 @@

   <span style="font-weight: bold;">

-&#24322;&#24120;&#23433;&#20840;&#24615;&#65306;</span>&#19981;&#25243;&#20986;&#12290;
+异常安全性:</span>不抛出。
 </blockquote>


@@ -1264,7 +1261,7 @@
 of arguments.<br>


- <span style="font-weight: bold;">&#25928;&#26524;&#65306;</span>&#26500;&#36896;&#19968;&#20010;&#25317;&#26377;<big><code>value_type(key_type(t0,...,ti))</code><code></code></big>&#20540;&#30340;<big><code></code><code>flyweight</code></big>&#23545;&#35937;&#65292;&#26368;&#22810;&#21040;&#23454;&#29616;&#23450;&#20041;&#30340;&#21442;&#25968;&#20010;&#25968;<br> + <span style="font-weight: bold;">效果:</span>构造一个拥有 <big><code>value_type(key_type(t0,...,ti))</code><code></code></big>值的 <big><code></code><code>flyweight</code></big>对象,最多到实现定义的参数个数 <br>



@@ -1275,7 +1272,7 @@
can be globally <a href="#limit_num_ctor_args">configured</a> by the user.<br>


- <span style="font-weight: bold;">&#27880;&#24847;&#65306;</span>&#22312;&#36825;&#20010;&#23454;&#29616;&#37324;&#65292;&#29992;&#25143;&#21487;&#20197;&#20840;&#23616;<a href="#limit_num_ctor_args">&#37197;&#32622;</a>&#26368;&#22823;&#30340;&#21442;&#25968;&#20010;&#25968; + <span style="font-weight: bold;">注意:</span>在这个实现里,用户可以全局 <a href="#limit_num_ctor_args">配置</a>最大的参数个数
 </blockquote>


@@ -1293,7 +1290,7 @@

   <span style="font-weight: bold;">

-&#25928;&#26524;&#65306;</span>&#35753;<big><code>flyweight</code></big>&#23545;&#35937;&#25317;&#26377;&#21644;<big>x</big>&#30456;&#21516;&#30340;&#20540;&#12290;<br>
+效果:</span>让<big><code>flyweight</code></big>对象拥有和<big>x</big>相同 的值。<br>



@@ -1305,7 +1302,7 @@

   <span style="font-weight: bold;">

-&#36820;&#22238;&#65306;</span><code>*this</code>.<br>
+返回:</span><code>*this</code>.<br>



@@ -1317,7 +1314,7 @@

   <span style="font-weight: bold;">

-&#24322;&#24120;&#23433;&#20840;&#24615;&#65306;</span>&#19981;&#25243;&#20986;&#12290;
+异常安全性:</span>不抛出。
 </blockquote>


@@ -1340,7 +1337,7 @@

   <span style="font-weight: bold;">

-&#35201;&#27714;&#65306;</span>&#22914;&#26524;<big><code>flyweight</code></big>&#26159;&#38190;-&#20540;<code><big>flyweight</big></code>&#65292;<code>value_type</code>&#26159;<a href="http://www.sgi.com/tech/stl/Assignable.html";>&#21487;&#36171;&#20540;&#30340;</a>&#24182;&#19988;<a href="key_value.html#key_extractor">&#38190;&#25552;&#21462;&#22120;</a><big><code>KeyFromValue</code></big>&#24517;&#39035;&#20316;&#20026;<big><code>key_value&lt;&gt;</code></big>&#26500;&#36896;&#30340;&#19968;&#37096;&#20998;&#25552;&#20379;<br> +要求:</span>如果<big><code>flyweight</code></big>是键-值 <code><big>flyweight</big></code>,<code>value_type</code>是<a href="http://www.sgi.com/tech/stl/Assignable.html";>可赋值的</a>并且<a href="key_value.html#key_extractor">键提取器 </a><big><code>KeyFromValue</code></big>必须作为 <big><code>key_value&lt;&gt;</code></big>构造的一部分提供<br>



@@ -1356,7 +1353,7 @@

   <span style="font-weight: bold;">

-&#25928;&#26524;&#65306;</span>&#20851;&#32852;<big><code>flyweight</code></big>&#23545;&#35937;&#21040;<big>x</big>&#30340;&#25335;&#36125;&#25110;&#32773;&#21040;&#30001;<big>x</big>&#30340;&#38190;&#26500;&#36896;&#20986;&#26469;&#30340;<big><code>value_type</code></big>&#12290;&#23545;&#38750;&#38190;-&#20540;flyweights&#65292;x&#26159;&#23427;&#30340;&#38190;&#65307;&#23545;&#38190;-&#20540;flyweights&#65292;&#38190;&#26159;&#20174;<big><code>KeyFromValue</code></big>&#31867;&#22411;&#30340;&#23545;&#35937;&#37324;&#25552;&#21462;&#20986;&#26469;&#30340;<br>
+效果:</span>关联<big><code>flyweight</code></big>对象到<big>x</big>的拷贝 或者到由<big>x</big>的键构造出来的<big><code>value_type</code></big>。对非键 -值flyweights,x是它的键;对键-值flyweights,键是从 <big><code>KeyFromValue</code></big>类型的对象里提取出来的<br>



@@ -1368,7 +1365,7 @@

   <span style="font-weight: bold;">

-&#36820;&#22238;&#65306;</span><code>*this</code>.<br>
+返回:</span><code>*this</code>.<br>



@@ -1383,7 +1380,7 @@



-<h4><a name="convertibility">Convertibility to the underlying types &nbsp;&#36716;&#25442;&#21040;&#24213;&#23618;&#31867;&#22411;</a></h4> +<h4><a name="convertibility">Convertibility to the underlying types &nbsp;转换到底层类型</a></h4>



@@ -1399,7 +1396,7 @@
 object.<br>


- <span style="font-weight: bold;">&#36820;&#22238;&#65306;</span>&#29992;&#20110;&#26500;&#36896;<big><code>flyweight</code></big>&#23545;&#35937;&#25152;&#20851;&#32852;&#21040;&#30340;<big><code>value_type</code></big>&#30340;&#38190;&#30340;&#25335;&#36125;<br> + <span style="font-weight: bold;">返回:</span>用于构造 <big><code>flyweight</code></big>对象所关联到的 <big><code>value_type</code></big>的键的拷贝<br>



@@ -1412,7 +1409,7 @@

   <span style="font-weight: bold;">

-&#24322;&#24120;&#23433;&#20840;&#24615;&#65306;</span>&#22914;&#26524;<big><code>flyweight</code></big>&#19981;&#26159;&#38190;-&#20540;<big><code>flyweight</code></big>&#25110;&#32773;&#27809;&#26377;&#25552;&#20379;<big><code>KeyFromValue</code></big>&#65292;&#19981;&#25243;&#20986;
+异常安全性:</span>如果<big><code>flyweight</code></big>不是键-值 <big><code>flyweight</code></big>或者没有提供 <big><code>KeyFromValue</code></big>,不抛出
 </blockquote>


@@ -1437,7 +1434,7 @@

   <span style="font-weight: bold;">

-&#36820;&#22238;&#65306;</span><big><code>flyweight</code></big>&#23545;&#35937;&#20851;&#32852;&#21040;&#30340;&#20540;&#12290;<br>
+返回:</span><big><code>flyweight</code></big>对象关联到的值。<br>



@@ -1449,7 +1446,7 @@

   <span style="font-weight: bold;">

-&#24322;&#24120;&#23433;&#20840;&#24615;&#65306;</span>&#19981;&#25243;&#20986;&#12290;
+异常安全性:</span>不抛出。
 </blockquote>


@@ -1458,7 +1455,7 @@



-<h4><a name="modifiers">Modifiers &nbsp;&#20462;&#25913;&#22120;</a></h4>
+<h4><a name="modifiers">Modifiers &nbsp;修改器</a></h4>



@@ -1476,7 +1473,7 @@



- <span style="font-weight: bold;">&#25928;&#26524;&#65306;</span>&#20132;&#25442;flyweight&#23545;&#35937;&#23545;<big><code>value_type</code>s</big>&#30340;&#20851;&#32852;<code></code>&#12290;&#24182;&#27809;&#26377;&#20132;&#25442;<big><code>key_type</code></big>&#25110;&#32773;<big><code>value_type</code></big><br> + <span style="font-weight: bold;">效果:</span>交换flyweight对象对 <big><code>value_type</code>s</big>的关联<code></code>。并没有交换 <big><code>key_type</code></big>或者<big><code>value_type</code></big><br>



@@ -1488,7 +1485,7 @@

   <span style="font-weight: bold;">

-&#24322;&#24120;&#23433;&#20840;&#24615;&#65306;</span>&#19981;&#25243;&#20986;
+异常安全性:</span>不抛出
 </blockquote>


@@ -1497,7 +1494,7 @@



-<h4><a name="comparison">Comparison operators &nbsp;&#27604;&#36739;&#25805;&#20316;&#31526;</a></h4>
+<h4><a name="comparison">Comparison operators &nbsp;比较操作符</a></h4>



@@ -1558,7 +1555,7 @@



-&#36820;&#22238;&#65306;&#22914;&#26524;<big>x</big>&#21644;<big>y</big>&#30340;&#31867;&#22411;&#30456;&#21516;&#65292;&#22914;&#26524;&#24182;&#19988;&#21482;&#26377;&#22914;&#26524;&#23427;&#20204;&#20851;&#32852;&#21040;&#30456;&#21516;&#30340;&#20540;&#26102;&#36820;&#22238;<big><code>true</code></big>&#65307;&#22914;&#26524;<big>x</big>&#21644;<big>y</big>&#31867;&#22411;&#19981;&#21516;&#65292;&#36820;&#22238;<big><code>x.get()==y.get()</code></big>&#12290;<br>
+返回:如果<big>x</big>和<big>y</big>的类型相同,如果并且只有如果它们关联到 相同的值时返回<big><code>true</code></big>;如果<big>x</big>和<big>y</big>类 型不同,返回<big><code>x.get()==y.get()</code></big>。<br>



@@ -1571,7 +1568,7 @@



-&#24322;&#24120;&#23433;&#20840;&#24615;&#65306;&#22914;&#26524;<big>x</big>&#21644;<big>y</big>&#31867;&#22411;&#30456;&#21516;&#65292;&#19981;&#25243;&#20986;&#12290;
+异常安全性:如果<big>x</big>和<big>y</big>类型相同,不抛出。
 </blockquote>


@@ -1614,7 +1611,7 @@
   <b>Returns:</b> <code>x.get()==y</code>.<br>


- <span style="font-weight: bold;">&#36820;&#22238;&#65306;</span><code>x.get()==y</code>
+  <span style="font-weight: bold;">返回:</span><code>x.get()==y</code>
 </blockquote>


@@ -1657,7 +1654,7 @@
   <b>Returns:</b> <code>x()==y.get()</code>.<br>


- <span style="font-weight: bold;">&#36820;&#22238;&#65306;</span><code>x()==y.get()</code>
+  <span style="font-weight: bold;">返回:</span><code>x()==y.get()</code>
 </blockquote>


@@ -1714,7 +1711,7 @@
   <b>Returns:</b> <code>x.get()&lt;y.get()</code>.<br>


- <span style="font-weight: bold;">&#36820;&#22238;&#65306;</span><code>x.get()&lt;y.get()</code> + <span style="font-weight: bold;">返 回:</span><code>x.get()&lt;y.get()</code>
 </blockquote>


@@ -1757,7 +1754,7 @@
   <b>Returns:</b> <code>x.get()&lt;y</code>.<br>


- <span style="font-weight: bold;">&#36820;&#22238;&#65306;</span><code>x.get()&lt;y</code>
+  <span style="font-weight: bold;">返回:</span><code>x.get()&lt;y</code>
 </blockquote>


@@ -1800,7 +1797,7 @@
   <b>Returns:</b> <code>x()&lt;y.get()</code>.<br>


- <span style="font-weight: bold;">&#36820;&#22238;&#65306;</span><code>x()&lt;y.get()</code>
+  <span style="font-weight: bold;">返回:</span><code>x()&lt;y.get()</code>
 </blockquote>


@@ -1964,7 +1961,7 @@
   </blockquote>


- <span style="font-weight: bold;">&#36820;&#22238;&#65306;</span>&#30495;&#65292;&#22914;&#26524;&#24182;&#19988;&#21482;&#26377;&#22914;&#26524;
+  <span style="font-weight: bold;">返回:</span>真,如果并且只有如果


   <blockquote>
@@ -2004,7 +2001,7 @@



-<h4><a name="specialized">Specialized algorithms &nbsp;&#19987;&#38376;&#21270;&#30340;&#31639;&#27861;</a></h4> +<h4><a name="specialized">Specialized algorithms &nbsp;专门化的算法 </a></h4>



@@ -2032,7 +2029,7 @@
   <b>Effects:</b> <code>x.swap(y)</code>.<br>


- <span style="font-weight: bold;">&#25928;&#26524;&#65306;</span><code>x.swap(y)</code>
+  <span style="font-weight: bold;">效果:</span><code>x.swap(y)</code>
 </blockquote>


@@ -2089,7 +2086,7 @@
   <b>Effects:</b> <code>out&lt;&lt;x.get()</code>.<br>


- <span style="font-weight: bold;">&#25928;&#26524;&#65306;</span><code>out&lt;&lt;x.get()</code><br> + <span style="font-weight: bold;">效 果:</span><code>out&lt;&lt;x.get()</code><br>



@@ -2099,7 +2096,7 @@
   <b>Returns:</b> <code>out</code>.<br>


- <span style="font-weight: bold;">&#36820;&#22238;&#65306;</span><code>out</code>
+  <span style="font-weight: bold;">返回:</span><code>out</code>
 </blockquote>


@@ -2162,7 +2159,7 @@
   <code>key_value&lt;&gt;</code> construct.<br>


- <span style="font-weight: bold;">&#35201;&#27714;&#65306;</span>&#22914;&#26524;<big><code>flyweight</code></big>&#26159;&#38190;-&#20540;<big><code>flyweight</code></big>&#65292;<big><code>value_type</code></big>&#26159;<a href="http://www.sgi.com/tech/stl/Assignable.html";>&#21487;&#36171;&#20540;</a>&#30340;&#24182;&#19988;<a href="key_value.html#key_extractor">&#38190;&#25552;&#21462;&#22120;</a><big><code>KeyFromValue</code></big><big><code></code></big>&#24517;&#39035;&#20316;&#20026;<big><code>key_value&lt;&gt;</code></big>&#26500;&#36896;&#30340;&#19968;&#37096;&#20998;&#25552;&#20379;<br> + <span style="font-weight: bold;">要求:</span>如果 <big><code>flyweight</code></big>是键-值 <big><code>flyweight</code></big>,<big><code>value_type</code></big>是<a href="http://www.sgi.com/tech/stl/Assignable.html";>可赋值</a>的并且<a href="key_value.html#key_extractor">键提取器 </a><big><code>KeyFromValue</code></big><big><code></code></big>必须作为 <big><code>key_value&lt;&gt;</code></big>构造的一部分提供<br>



@@ -2173,7 +2170,7 @@
 and assigns it to <code>x</code>.<br>


- <span style="font-weight: bold;">&#25928;&#26524;&#65306;</span>&#20174;<big><code>in</code></big>&#35835;&#20837;&#19968;&#20010;<big><code>value_type</code></big>&#31867;&#22411;&#30340;&#23545;&#35937;&#28982;&#21518;&#36171;&#20540;&#32473;<big><code>x</code></big><br> + <span style="font-weight: bold;">效果:</span>从 <big><code>in</code></big>读入一个<big><code>value_type</code></big>类型的对 象然后赋值给<big><code>x</code></big><br>



@@ -2183,7 +2180,7 @@
   <b>Returns:</b> <code>in</code>.<br>


- <span style="font-weight: bold;">&#36820;&#22238;&#20540;&#65306;</span><code>in</code>
+  <span style="font-weight: bold;">返回值:</span><code>in</code>
 </blockquote>


@@ -2192,7 +2189,7 @@



-<h4><a name="config_macros">Configuration macros &nbsp;&#37197;&#32622;&#23439;</a></h4>
+<h4><a name="config_macros">Configuration macros &nbsp;配置宏</a></h4>



@@ -2210,7 +2207,7 @@
 is 5.<br>


-&#25928;&#26524;&#65306;&#20840;&#23616;&#23450;&#20041;&#36825;&#20010;&#23439;&#26469;&#35774;&#32622;<big><code>flyweight</code></big><a href="#fwd_ctors">&#26500;&#36896;&#20989;&#25968;</a>&#30340;&#26368;&#22823;&#21442;&#25968;&#20010;&#25968;&#65292;&#40664;&#35748;&#26159;5 +效果:全局定义这个宏来设置<big><code>flyweight</code></big><a href="#fwd_ctors">构造函数</a>的最大参数个数,默认是5
 </blockquote>


@@ -2289,7 +2286,7 @@



-<p>&copy; Copyright 2006-2008 Joaqu&iacute;n M L&oacute;pez Mu&ntilde;oz.
+<p>© Copyright 2006-2008 Joaquín M López Muñoz.
 Distributed under the Boost Software
License, Version 1.0. (See accompanying file <a href="../../../../LICENSE_1_0.txt"> LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt";>
@@ -2302,5 +2299,4 @@



-</body>
-</html>
+</body></html>
\ No newline at end of file

Modified: trunk/libs/flyweight/doc/reference/holders.html
==============================================================================
--- trunk/libs/flyweight/doc/reference/holders.html     (original)
+++ trunk/libs/flyweight/doc/reference/holders.html     Wed Apr  8 05:59:37 2009
@@ -1,12 +1,11 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0.1 Transitional//EN">
-<html>
-<head>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0.1 Transitional//EN">
+<html><head>





-  <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">



@@ -15,8 +14,8 @@



-  <title>Boost.Flyweight Documentation - Holders reference</title>
-  <link rel="stylesheet" href="../style.css" type="text/css">
+
+ <title>Boost.Flyweight Documentation - Holders reference</title><link rel="stylesheet" href="../style.css" type="text/css">



@@ -40,9 +39,7 @@



-  <link rel="next" href="locking.html">
-</head>
-
+  <link rel="next" href="locking.html"></head>

 <body>

@@ -87,7 +84,7 @@

 <hr>

-<h2>Contents &nbsp;&#30446;&#24405;</h2>
+<h2>Contents &nbsp;目录</h2>



@@ -201,7 +198,7 @@



-<h2><a name="holder">Holders and holder specifiers &nbsp;Holder&#21644;Holder&#25551;&#36848;&#31526;</a></h2> +<h2><a name="holder">Holders and holder specifiers &nbsp;Holder和Holder描述 符</a></h2>



@@ -216,14 +213,14 @@
privately uses a holder to instantiate a <a href="factories.html#factory">factory</a> and some additional data (like a <a href="locking.html#preliminary">mutex</a> for internal synchronization) unique to each instantiation type of the class template.</p> -<p>&#32473;&#23450;&#19968;&#20010;&#31867;&#22411;<code>C</code>&#65292;&#22914;&#26524;&#34920;&#36798;&#24335;<big><code>Holder::get()</code></big>&#26524;&#36820;&#22238;&#19968;&#20010;&#23545;<big><code>Holder</code></big>&#26469;&#35828;&#21807;&#19968;&#30340;&#21040;&#40664;&#35748;&#21021;&#22987;&#21270;&#30340;<code>C</code>&#23545;&#35937;&#30340;&#24341;&#29992;&#65292;&#37027;&#20040;&#31867;&#22411;<big><code>Holder</code></big>&#34987;&#31216;&#20026;<big><i style="font-style: italic;"><code>C</code></i></big><span style="font-style: italic;">&#30340;&#19968;&#20010;</span><i style="font-style: italic;">holder</i>&#12290;&#38500;&#20102;&#31243;&#24207;&#20013;&#30340;&#31532;&#19968;&#27425;&#35843;&#29992;&#20043;&#22806;&#65292;<big><code>Holder::get()</code></big>&#30340;&#35843;&#29992;&#19981;&#20250;&#25243;&#20986;&#24322;&#24120;&#12290;<big><a href="flyweight.html#flyweight"><code>flyweight</code></a></big>&#31169;&#19979;&#30340;&#20351;&#29992;&#19968;&#20010;holder&#26469;&#23454;&#20363;&#21270;&#23545;&#36825;&#20010;&#31867;&#27169;&#26495;&#30340;&#27599;&#20010;&#23454;&#20363;&#31867;&#22411;&#26469;&#35828;&#21807;&#19968;&#30340;&#19968;&#20010;<a href="factories.html#factory">&#24037;&#21378;</a>&#21644;&#19968;&#20123;&#38468;&#21152;&#25968;&#25454;&#65288;&#20363;&#22914;&#29992;&#26469;&#20570;&#20869;&#37096;&#21516;&#27493;&#30340;<a href="locking.html#preliminary">&#20114;&#26021;&#20307;</a>&#65289;&#12290; +<p>给定一个类型<code>C</code>,如果表达式 <big><code>Holder::get()</code></big>果返回一个对 <big><code>Holder</code></big>来说唯一的到默认初始化的<code>C</code>对象的引 用,那么类型<big><code>Holder</code></big>被称为<big><i style="font-style: italic;"><code>C</code></i></big><span style="font-style: italic;">的一个 </span><i style="font-style: italic;">holder</i>。除了程序中的第一次调用之 外,<big><code>Holder::get()</code></big>的调用不会抛出异常。<big><a href="flyweight.html#flyweight"><code>flyweight</code></a></big>私下的使用一 个holder来实例化对这个类模板的每个实例类型来说唯一的一个<a href="factories.html#factory">工厂</a>和一些附加数据(例如用来做内部同步的 <a href="locking.html#preliminary">互斥体</a>)。
 </p>




 <p>
-A type <code>S</code> is a <i>holder specifier</i> if: &nbsp;&#19968;&#20010;&#31867;&#22411;<code>S</code>&#26159;&#19968;&#20010;<i style="font-style: italic;">holder</i><span style="font-style: italic;">&#25551;&#36848;&#31526;</span>&#22914;&#26524;&#65306; +A type <code>S</code> is a <i>holder specifier</i> if: &nbsp;一个类型 <code>S</code>是一个<i style="font-style: italic;">holder</i><span style="font-style: italic;">描述符</span>如果:
 </p>


@@ -231,7 +228,7 @@



- <li>One of the following conditions is satisfied: &nbsp;&#20197;&#19979;&#26465;&#20214;&#20043;&#19968;&#28385;&#36275;
+  <li>One of the following conditions is satisfied: &nbsp;以下条件之一满足



@@ -240,12 +237,12 @@


       <li><a href="#is_holder"><code>is_holder&lt;S&gt;::type</code></a> is
- <a href="../../../mpl/doc/refmanual/bool.html"><code>boost::mpl::true_</code></a>, &nbsp;<a href="holders.html#is_holder"><code>is_holder&lt;S&gt;::type</code></a> &#26159; + <a href="../../../mpl/doc/refmanual/bool.html"><code>boost::mpl::true_</code></a>, &nbsp;<a href="holders.html#is_holder"><code>is_holder&lt;S&gt;::type</code></a> 是 <a href="../../../mpl/doc/refmanual/bool.html"><code>boost::mpl::true_</code></a></li>



- <li><code>S</code> is of the form <a href="#holder_construct"><code>holder&lt;S'&gt;</code></a>. &nbsp;<code>S</code>&#30340;&#26684;&#24335;&#26159;<a href="holders.html#holder_construct"><code>holder&lt;S'&gt;</code></a></li> + <li><code>S</code> is of the form <a href="#holder_construct"><code>holder&lt;S'&gt;</code></a>. &nbsp;<code>S</code>的格式是<a href="holders.html#holder_construct"><code>holder&lt;S'&gt;</code></a></li>



@@ -268,11 +265,11 @@


 </ol>
-<div style="margin-left: 40px;">S&#65292;&#25110;&#32773;S'&#22914;&#26524;&#26465;&#20214;b&#36866;&#29992;&#65292;&#26159;&#19968;&#20010;<a href="../../../mpl/doc/refmanual/lambda-expression.html"><big><code>MPL Lambda - </code></big>&#34920;&#36798;&#24335;<code></code></a>&#65292;&#24403;&#29992;&#31867;&#22411;<code>C</code>&#35843;&#29992;&#26102;&#24471;&#21040;&#19968;&#20010;<code>C</code>&#30340;holder</div> +<div style="margin-left: 40px;">S,或者S'如果条件b适用,是一个<a href="../../../mpl/doc/refmanual/lambda-expression.html"><big><code>MPL Lambda + </code></big>表达式<code></code></a>,当用类型<code>C</code>调用时得到 一个<code>C</code>的holder</div>
 <h2><a name="holder_tag_synopsis">Header
</a><a href="../../../../boost/flyweight/holder_tag.hpp"><code>"boost/flyweight/holder_tag.hpp"</code></a> synopsis &nbsp;</h2> -<h2>&#22836;&#25991;&#20214;<a href="../../../../boost/flyweight/holder_tag.hpp"><code>"boost/flyweight/holder_tag.hpp"</code></a>&#22823;&#24847;</h2> +<h2>头文件<a href="../../../../boost/flyweight/holder_tag.hpp"><code>"boost/flyweight/holder_tag.hpp"</code></a>大 意</h2>



@@ -302,7 +299,7 @@



-<h3><a name="is_holder">Class template <code>is_holder &nbsp;&#31867;&#27169;&#26495; is_holder</code></a></h3> +<h3><a name="is_holder">Class template <code>is_holder &nbsp;类模板 is_holder</code></a></h3>



@@ -313,13 +310,13 @@
 if <code>T</code> is derived from <code>holder_marker</code>, and it is
<a href="../../../mpl/doc/refmanual/bool.html"><code>boost::mpl::false_</code></a>
 otherwise.</p>
-<p>&#38500;&#38750;&#29992;&#25143;&#36827;&#34892;&#19987;&#38376;&#21270;&#65292;&#22914;&#26524;<big><code>T</code></big>&#26159;&#20174;<big><code>holder_marker</code></big>&#27966;&#29983;&#30340;&#65292;<big><code>is_holder&lt;T&gt;::type</code></big>&#26159;<big><a href="../../../mpl/doc/refmanual/bool.html"><code>boost::mpl::true_</code></a></big>&#65292;&#21542;&#21017;&#26159;<big><a href="../../../mpl/doc/refmanual/bool.html"><code>boost::mpl::false_</code></a></big>&#12290; +<p>除非用户进行专门化,如果<big><code>T</code></big>是从 <big><code>holder_marker</code></big>派生 的,<big><code>is_holder&lt;T&gt;::type</code></big>是<big><a href="../../../mpl/doc/refmanual/bool.html"><code>boost::mpl::true_</code></a></big>,否 则是<big><a href="../../../mpl/doc/refmanual/bool.html"><code>boost::mpl::false_</code></a></big>。
 </p>




-<h3><a name="holder_construct">Class template <code>holder &nbsp;&#31867;&#27169;&#26495; holder</code></a></h3> +<h3><a name="holder_construct">Class template <code>holder &nbsp;类模板 holder</code></a></h3>



@@ -328,7 +325,7 @@
 <code>holder&lt;T&gt;</code> is a syntactic construct meant to indicate
 that <code>T</code> is a holder specifier without resorting to the
 mechanisms provided by the <code>is_holder</code> class template.</p>
-<p><code>holder&lt;T&gt;</code>&#26159;&#19968;&#31181;&#34920;&#26126;<code>T</code>&#26159;&#19968;&#20010;holder&#25551;&#36848;&#31526;&#30340;&#35821;&#27861;&#26500;&#36896;&#65292;&#36825;&#26679;&#23601;&#19981;&#38656;&#35201;&#20511;&#21161;&#20110;<big><code>is_holder</code></big>&#31867;&#27169;&#26495;&#25552;&#20379;&#30340;&#26426;&#21046;&#12290;
+<p><code>holder&lt;T&gt;</code>是一种表明<code>T</code>是一个holder描述符的 语法构造,这样就不需要借助于<big><code>is_holder</code></big>类模板提供的机 制。
 </p>


@@ -336,7 +333,7 @@

 <h2><a name="static_holder_fwd_synopsis">Header
</a><a href="../../../../boost/flyweight/static_holder_fwd.hpp"><code>"boost/flyweight/static_holder_fwd.hpp"</code></a> synopsis &nbsp;</h2> -<h2>&#22836;&#25991;&#20214;<a href="../../../../boost/flyweight/static_holder_fwd.hpp"><code>"boost/flyweight/static_holder_fwd.hpp"</code></a>&#22823;&#24847;</h2> +<h2>头文件<a href="../../../../boost/flyweight/static_holder_fwd.hpp"><code>"boost/flyweight/static_holder_fwd.hpp"</code></a>大 意</h2>



@@ -369,7 +366,7 @@
 and <a href="#static_holder"><code>static_holder</code></a>.</p>


-<p><big><code>static_holder_fwd.hpp</code></big>&#21069;&#32622;&#22768;&#26126;<big><a href="holders.html#static_holder_class"><code>static_holder_class</code></a></big> &#21644; <big><a href="holders.html#static_holder"><code>static_holder</code></a></big>&#12290; +<p><big><code>static_holder_fwd.hpp</code></big>前置声明<big><a href="holders.html#static_holder_class"><code>static_holder_class</code></a></big> 和 <big><a href="holders.html#static_holder"><code>static_holder</code></a></big>。
 </p>


@@ -377,12 +374,12 @@

 <h2><a name="static_holder_synopsis">Header
</a><a href="../../../../boost/flyweight/static_holder.hpp"><code>"boost/flyweight/static_holder.hpp"</code></a> synopsis &nbsp;</h2> -<h2>&#22836;&#25991;&#20214;<a href="../../../../boost/flyweight/static_holder.hpp"><code>"boost/flyweight/static_holder.hpp"</code></a>&#22823;&#24847;</h2> +<h2>头文件<a href="../../../../boost/flyweight/static_holder.hpp"><code>"boost/flyweight/static_holder.hpp"</code></a>大 意</h2>




-<h3><a name="static_holder_class">Class template <code>static_holder_class &nbsp;&#31867;&#27169;&#26495; static_holder_class</code></a></h3> +<h3><a name="static_holder_class">Class template <code>static_holder_class &nbsp;类模板 static_holder_class</code></a></h3>



@@ -392,20 +389,20 @@
 local static object.</p>


-<p><big><code>static_holder_class&lt;C&gt;</code></big>&#20445;&#23384;&#23427;&#30340;<code>C</code>&#30340;&#21807;&#19968;&#23454;&#20363;&#20316;&#20026;&#19968;&#20010;&#23616;&#37096;&#38745;&#24577;&#23545;&#35937;&#12290;
+<p><big><code>static_holder_class&lt;C&gt;</code></big>保存它的 <code>C</code>的唯一实例作为一个局部静态对象。
 </p>




-<h3><a name="static_holder">Class <code>static_holder &nbsp;&#31867;&#27169;&#26495; static_holder</code></a></h3> +<h3><a name="static_holder">Class <code>static_holder &nbsp;类模板 static_holder</code></a></h3>




 <p>
<a href="#holder"><code>Holder Specifier</code></a> for <a href="#static_holder_class"><code>static_holder_class</code></a>.</p> -<p><big><a href="holders.html#static_holder_class"><code>static_holder_class</code></a></big>&#30340;<a href="holders.html#holder"><big><code>Holder&nbsp;</code></big>&#25551;&#36848;&#31526;</a> +<p><big><a href="holders.html#static_holder_class"><code>static_holder_class</code></a></big>的 <a href="holders.html#holder"><big><code>Holder&nbsp;</code></big>描述符</a>
 </p>


@@ -413,7 +410,7 @@

 <h2><a name="intermodule_holder_fwd_synopsis">Header
</a><a href="../../../../boost/flyweight/intermodule_holder_fwd.hpp"><code>"boost/flyweight/intermodule_holder_fwd.hpp"</code></a> synopsis &nbsp;</h2> -<h2>&#22836;&#25991;&#20214;<a href="../../../../boost/flyweight/intermodule_holder_fwd.hpp"><code>"boost/flyweight/intermodule_holder_fwd.hpp"</code></a>&#22823;&#24847;</h2> +<h2>头文件<a href="../../../../boost/flyweight/intermodule_holder_fwd.hpp"><code>"boost/flyweight/intermodule_holder_fwd.hpp"</code></a>大 意</h2>



@@ -445,7 +442,7 @@
<a href="#intermodule_holder_class"><code>intermodule_holder_class</code></a>
 and <a href="#intermodule_holder"><code>intermodule_holder</code></a>.</p>

-<p><big><code>intermodule_holder_fwd.hpp</code></big>&#21069;&#32622;&#22768;&#26126;<big><a href="holders.html#intermodule_holder_class"><code>intermodule_holder_class</code></a> </big>&#21644; <big><a href="holders.html#intermodule_holder"><code>intermodule_holder</code></a></big> +<p><big><code>intermodule_holder_fwd.hpp</code></big>前置声明<big><a href="holders.html#intermodule_holder_class"><code>intermodule_holder_class</code></a> </big>和 <big><a href="holders.html#intermodule_holder"><code>intermodule_holder</code></a></big>
 </p>


@@ -454,12 +451,12 @@
 <h2><a name="intermodule_holder_synopsis">Header
</a><a href="../../../../boost/flyweight/intermodule_holder.hpp"><code>"boost/flyweight/intermodule_holder.hpp"</code></a> synopsis &nbsp;</h2>

-<h2>&#22836;&#25991;&#20214;<a href="file:///boost/flyweight/intermodule_holder.hpp"><code>"boost/flyweight/intermodule_holder.hpp"</code></a>&#22823;&#24847;</h2> +<h2>头文件<a href="file:///boost/flyweight/intermodule_holder.hpp"><code>"boost/flyweight/intermodule_holder.hpp"</code></a>大 意</h2>




-<h3><a name="intermodule_holder_class">Class template <code>intermodule_holder_class &nbsp;&#31867;&#27169;&#26495; intermodule_holder_class</code></a></h3> +<h3><a name="intermodule_holder_class">Class template <code>intermodule_holder_class &nbsp;类模板 intermodule_holder_class</code></a></h3>



@@ -473,20 +470,20 @@
 in different dynamic modules of a program.</p>


-<p><big><code>intermodule_holder_class&lt;C&gt;</code></big>&#32500;&#25252;&#30528;&#19968;&#20010;<big><code>C</code></big>&#30340;&#23454;&#20363;&#65292;&#35813;&#23454;&#20363;&#21363;&#20351;&#26159;&#22312;&#20351;&#29992;&#35813;&#31867;&#22411;&#30340;&#31243;&#24207;&#30340;&#19981;&#21516;&#30340;&#21160;&#24577;&#38142;&#25509;&#30340;&#27169;&#22359;&#38388;&#20063;&#26159;&#21807;&#19968;&#30340;&#12290;&#36890;&#24120;&#65292;<big><a href="holders.html#static_holder_class"><code>static_holder_class</code></a></big>&#27809;&#26377;&#25552;&#20379;&#36825;&#31181;&#20445;&#35777;&#65292;&#22240;&#20026;&#32477;&#22823;&#22810;&#25968;&#30340;C++&#23454;&#29616;&#19981;&#33021;&#21512;&#24182;&#19968;&#20010;&#31243;&#24207;&#30340;&#19981;&#21516;&#30340;&#21160;&#24577;&#27169;&#22359;&#20013;&#37325;&#22797;&#30340;&#38745;&#24577;&#21464;&#37327;&#12290; +<p><big><code>intermodule_holder_class&lt;C&gt;</code></big>维护着一个 <big><code>C</code></big>的实例,该实例即使是在使用该类型的程序的不同的动态 链接的模块间也是唯一的。通常,<big><a href="holders.html#static_holder_class"><code>static_holder_class</code></a></big>没 有提供这种保证,因为绝大多数的C++实现不能合并一个程序的不同的动态模块中重复 的静态变量。
 </p>




-<h3><a name="intermodule_holder">Class <code>intermodule_holder &nbsp;&#31867; intermodule_holder</code></a></h3> +<h3><a name="intermodule_holder">Class <code>intermodule_holder &nbsp;类 intermodule_holder</code></a></h3>




 <p>
<a href="#holder"><code>Holder Specifier</code></a> for <a href="#intermodule_holder_class"><code>intermodule_holder_class</code></a>. &nbsp;</p> -<p><big><a href="holders.html#intermodule_holder_class"><code>intermodule_holder_class</code></a></big>&#30340;<a href="holders.html#holder"><code><big>Holder</big> </code>&#25551;&#36848;&#31526;<code></code></a> +<p><big><a href="holders.html#intermodule_holder_class"><code>intermodule_holder_class</code></a></big>的 <a href="holders.html#holder"><code><big>Holder</big> </code>描述符 <code></code></a>
 </p>


@@ -535,7 +532,7 @@



-<p>&copy; Copyright 2006-2008 Joaqu&iacute;n M L&oacute;pez Mu&ntilde;oz.
+<p>© Copyright 2006-2008 Joaquín M López Muñoz.
 Distributed under the Boost Software
License, Version 1.0. (See accompanying file <a href="../../../../LICENSE_1_0.txt"> LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt";>
@@ -545,5 +542,4 @@



-</body>
-</html>
+</body></html>
\ No newline at end of file

Modified: trunk/libs/flyweight/doc/reference/index.html
==============================================================================
--- trunk/libs/flyweight/doc/reference/index.html       (original)
+++ trunk/libs/flyweight/doc/reference/index.html       Wed Apr  8 05:59:37 2009
@@ -1,17 +1,16 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0.1 Transitional//EN">
-<html>
-<head>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0.1 Transitional//EN">
+<html><head>



-  <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">





-  <title>Boost.Flyweight Documentation - Reference</title>
-  <link rel="stylesheet" href="../style.css" type="text/css">
+
+ <title>Boost.Flyweight Documentation - Reference</title><link rel="stylesheet" href="../style.css" type="text/css">



@@ -27,9 +26,7 @@



-  <link rel="next" href="flyweight.html">
-</head>
-
+  <link rel="next" href="flyweight.html"></head>

 <body>

@@ -62,33 +59,33 @@


 <hr>
-<h2>Contents &nbsp;&#30446;&#24405;</h2>
+<h2>Contents &nbsp;目录</h2>


 <ul>


   <li><a href="#headers">Header summary
-&nbsp;&#22836;&#25991;&#20214;&#19968;&#35272;</a></li>
+&nbsp;头文件一览</a></li>


<li><a href="#flyweight_synopsis">Header <code>"boost/flyweight.hpp"</code> -synopsis &nbsp;&#22836;&#25991;&#20214;"boost/flyweight.hpp"&#22823;&#24847;</a></li>
+synopsis &nbsp;头文件"boost/flyweight.hpp"大意</a></li>


- <li><a href="flyweight.html">Class template <code>flyweight&nbsp;<big>&#31867;&#27169;&#26495;flyweight</big></code></a></li> + <li><a href="flyweight.html">Class template <code>flyweight&nbsp;<big>类 模板flyweight</big></code></a></li>


   <li><big><a href="key_value.html">Key-value
-flyweights&nbsp;&#38190;-&#20540; flyweights</a></big></li>
+flyweights&nbsp;键-值 flyweights</a></big></li>


   <li><big><a href="tags.html">Tags
-&nbsp;&#26631;&#31614;</a></big></li>
+&nbsp;标签</a></big></li>


   <li><big><a href="factories.html">Factories
-&nbsp;&#24037;&#21378;</a></big></li>
+&nbsp;工厂</a></big></li>


   <li><big><a href="holders.html">Holders</a></big></li>
@@ -96,19 +93,19 @@

   <li><big><a href="locking.html">Locking
 policies
-&nbsp;&#38145;&#23450;&#31574;&#30053;</a></big></li>
+&nbsp;锁定策略</a></big></li>


   <li><big><a href="tracking.html">Tracking
 policies
-&nbsp;&#36319;&#36394;&#31574;&#30053;</a></big></li>
+&nbsp;跟踪策略</a></big></li>


 </ul>


 <h2><big><a name="headers">Header summary
-&nbsp;&#22836;&#25991;&#20214;&#19968;&#35272;</a></big></h2>
+&nbsp;头文件一览</a></big></h2>


 <p>
@@ -116,7 +113,7 @@


 <p>
-<big>Boost.Flyweight &#21253;&#21547;&#20197;&#19979;&#20844;&#20849;&#22836;&#25991;&#20214;&#65306;
+<big>Boost.Flyweight 包含以下公共头文件:
 </big></p>


@@ -126,7 +123,7 @@
<li><big><a href="#flyweight_synopsis"><code>"boost/flyweight.hpp"</code></a></big></li>


- <li><big>Class template <code>flyweight&nbsp;</code><code>flyweight</code>&#31867;&#27169;&#26495; + <li><big>Class template <code>flyweight&nbsp;</code><code>flyweight</code>类模板
     </big>

     <ul>
@@ -145,7 +142,7 @@
   </li>


-  <li><big>Key-value flyweights &nbsp;&#38190;-&#20540;flyweight
+  <li><big>Key-value flyweights &nbsp;键-值flyweight
     </big>

     <ul>
@@ -164,7 +161,7 @@
   </li>


-  <li><big>Tags &nbsp;&#26631;&#31614;
+  <li><big>Tags &nbsp;标签
     </big>

     <ul>
@@ -180,7 +177,7 @@
   </li>


-  <li><big>Factories &nbsp;&#24037;&#21378;
+  <li><big>Factories &nbsp;工厂
     </big>

     <ul>
@@ -242,7 +239,7 @@
   </li>


-  <li><big>Locking policies &nbsp;&#38145;&#23450;&#31574;&#30053;
+  <li><big>Locking policies &nbsp;锁定策略
     </big>

     <ul>
@@ -270,7 +267,7 @@
   </li>


-  <li><big>Tracking policies &nbsp;&#36319;&#36394;&#31574;&#30053;
+  <li><big>Tracking policies &nbsp;跟踪策略
     </big>

     <ul>
@@ -308,7 +305,7 @@


 <p>
-<big>Boost.Flyweight&#26159;&#19968;&#20010;&#21482;&#26377;&#22836;&#25991;&#20214;&#30340;&#24211;&#65292;&#19981;&#38656;&#35201;&#20219;&#20309;&#39069;&#22806;&#30340;&#30446;&#26631;&#27169;&#22359;
+<big>Boost.Flyweight是一个只有头文件的库,不需要任何额外的目标模块
 </big></p>


@@ -318,8 +315,8 @@
 synopsis</big></h2>


-<h2><big>&#22836;&#25991;&#20214;<a href="../../../../boost/flyweight.hpp"><code>"boost/flyweight.hpp"</code></a>&#22823;
-&#24847;</big></h2>
+<h2><big>头文件<a href="../../../../boost/flyweight.hpp"><code>"boost/flyweight.hpp"</code></a>大
+意</big></h2>


 <blockquote>
@@ -337,7 +334,7 @@
 the default components used by <code>flyweight</code>.</big></p>


-<p><big>&#36825;&#20010;&#20415;&#21033;&#30340;&#22836;&#25991;&#20214;&#21253;&#21547;&#20027;&#31867;&#27169;&#26495;<a href="flyweight.html#flyweight"><code>flyweight</code></a>&#21644;<code>flyweight</code>&#29992;&#21040;&#30340;&#40664;&#35748;&#32452;&#20214;&#12290; +<p><big>这个便利的头文件包含主类模板<a href="flyweight.html#flyweight"><code>flyweight</code></a>和 <code>flyweight</code>用到的默认组件。
 </big></p>


@@ -372,8 +369,8 @@
 <p><big>Revised January 27th 2009</big></p>


-<p><big>&copy; Copyright 2006-2009 Joaqu&iacute;n M
-L&oacute;pez Mu&ntilde;oz.
+<p><big>© Copyright 2006-2009 Joaquín M
+López Muñoz.
 Distributed under the Boost Software License, Version 1.0. (See
 accompanying file <a href="../../../../LICENSE_1_0.txt">
LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt";>
@@ -381,5 +378,4 @@
 </big></p>


-</body>
-</html>
+</body></html>
\ No newline at end of file

Modified: trunk/libs/flyweight/doc/reference/key_value.html
==============================================================================
--- trunk/libs/flyweight/doc/reference/key_value.html   (original)
+++ trunk/libs/flyweight/doc/reference/key_value.html Wed Apr 8 05:59:37 2009
@@ -1,12 +1,11 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0.1 Transitional//EN">
-<html>
-<head>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0.1 Transitional//EN">
+<html><head>





-  <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">



@@ -15,8 +14,8 @@



- <title>Boost.Flyweight Documentation - Key-value flyweights reference</title>
-  <link rel="stylesheet" href="../style.css" type="text/css">
+
+ <title>Boost.Flyweight Documentation - Key-value flyweights reference</title><link rel="stylesheet" href="../style.css" type="text/css">



@@ -40,9 +39,7 @@



-  <link rel="next" href="tags.html">
-</head>
-
+  <link rel="next" href="tags.html"></head>

 <body>

@@ -86,7 +83,7 @@

 <hr>

-<h2>Contents &nbsp;&#30446;&#24405;</h2>
+<h2>Contents &nbsp;目录</h2>



@@ -95,18 +92,18 @@



- <li><a href="#key_extractor">Key extractors &nbsp;&#38190;&#25552;&#21462;&#22120;</a></li>
+  <li><a href="#key_extractor">Key extractors &nbsp;键提取器</a></li>



   <li><a href="#key_value_fwd_synopsis">Header
- <code>"boost/flyweight/key_value_fwd.hpp"</code> synopsis &nbsp;&#22836;&#25991;&#20214;"boost/flyweight/key_value_fwd.hpp"&#22823;&#24847;</a> + <code>"boost/flyweight/key_value_fwd.hpp"</code> synopsis &nbsp;头文 件"boost/flyweight/key_value_fwd.hpp"大意</a>
   </li>



   <li><a href="#synopsis">Header
- <code>"boost/flyweight/key_value.hpp"</code> synopsis &nbsp;&#22836;&#25991;&#20214;"boost/flyweight/key_value.hpp"&#22823;&#24847;</a> + <code>"boost/flyweight/key_value.hpp"</code> synopsis &nbsp;头文 件"boost/flyweight/key_value.hpp"大意</a>



@@ -114,7 +111,7 @@



- <li><a href="#key_value_construct">Class template <code>key_value <big>&#31867;&#27169;&#26495;</big> key_value</code></a></li> + <li><a href="#key_value_construct">Class template <code>key_value <big>类模板</big> key_value</code></a></li>



@@ -134,7 +131,7 @@



-<h2><a name="key_extractor">Key extractors &nbsp;&#38190;&#25552;&#21462;&#22120;</a></h2>
+<h2><a name="key_extractor">Key extractors &nbsp;键提取器</a></h2>



@@ -146,7 +143,7 @@
 Constructible</code></a> type <code>KeyFromValue</code> is said
 to be a key extractor from <code>Value</code> to <code>Key</code> if</p>

-<p>&#20551;&#35774;<big><code>Key</code></big>&#26159;&#19968;&#20010;&#25317;&#26377;&#26576;&#31181;&#38544;&#21547;&#30456;&#31561;&#20851;&#31995;&#30340;&#31867;&#22411;<big><code>&#65292;Value</code></big>&#26159;&#33021;&#20174;<big><code>Key</code></big>&#26500;&#36896;&#32780;&#26469;&#30340;&#31867;&#22411;&#12290;&#19968;&#20010;<a href="http://www.sgi.com/tech/stl/DefaultConstructible.html";>&#21487;&#40664;&#35748;&#26500;&#36896;</a>&#30340;&#31867;&#22411;<big><code>KeyFromValue</code></big>&#34987;&#31216;&#20026;&#26159;&#19968;&#20010;&#20174;<big><code>Value</code></big>&#24471;&#21040;<big><code>Key</code></big>&#30340;&#38190;&#25552;&#21462;&#22120;<code></code>&#22914;&#26524; +<p>假设<big><code>Key</code></big>是一个拥有某种隐含相等关系的类型 <big><code>,Value</code></big>是能从<big><code>Key</code></big>构造而来的类 型。一个<a href="http://www.sgi.com/tech/stl/DefaultConstructible.html";>可默 认构造</a>的类型<big><code>KeyFromValue</code></big>被称为是一个从 <big><code>Value</code></big>得到<big><code>Key</code></big>的键提取器 <code></code>如果
 </p>


@@ -154,15 +151,15 @@



- <li><code>kfv(cv)</code> is defined and have type <code>const Key&amp;</code>, &nbsp;<code>kfv(cv)</code>&#26377;&#23450;&#20041;&#32780;&#19988;&#31867;&#22411;&#26159;<code>const Key&amp;</code></li> + <li><code>kfv(cv)</code> is defined and have type <code>const Key&amp;</code>, &nbsp;<code>kfv(cv)</code>有定义而且类型是<code>const Key&amp;</code></li>



- <li><code>kfv(cv)</code> is equivalent to <code>kfv(Value(cv))</code>, <code>kfv(cv)</code>&#31561;&#20110;<code>kfv(Value(cv))</code></li> + <li><code>kfv(cv)</code> is equivalent to <code>kfv(Value(cv))</code>, <code>kfv(cv)</code>等于<code>kfv(Value(cv))</code></li>



- <li><code>kfv(Value(k))</code> is equivalent to <code>k</code>, &nbsp;<code>kfv(Value(k))</code>&#31561;&#20110;<code>k</code></li> + <li><code>kfv(Value(k))</code> is equivalent to <code>k</code>, &nbsp;<code>kfv(Value(k))</code>等于<code>k</code></li>



@@ -177,13 +174,13 @@
 <br>


-&#23545;&#27599;&#19968;&#20010;<big><code>const KeyFromValue</code></big>&#31867;&#22411;&#30340;<code><big>kfv</big>&#65292;</code><big><code>cv</code></big>&#30340;&#31867;&#22411;&#26159;<big><code>const Value</code></big>&#32780;<big><code>k</code></big>&#30340;&#31867;&#22411;&#26159;<code><big>Key</big>&#12290;</code><code></code> +对每一个<big><code>const KeyFromValue</code></big>类型的 <code><big>kfv</big>,</code><big><code>cv</code></big>的类型是 <big><code>const Value</code></big>而<big><code>k</code></big>的类型是 <code><big>Key</big>。</code><code></code>


 <h2><a name="key_value_fwd_synopsis">Header
</a><a href="../../../../boost/flyweight/key_value_fwd.hpp"><code>"boost/flyweight/key_value_fwd.hpp"</code></a> synopsis &nbsp;</h2>

-<h2>&nbsp; &nbsp; &#22836;&#25991;&#20214;<a href="file:///boost/flyweight/key_value_fwd.hpp"><code>"boost/flyweight/key_value_fwd.hpp"</code></a>&#22823;&#24847;</h2> +<h2>&nbsp; &nbsp; 头文件<a href="file:///boost/flyweight/key_value_fwd.hpp"><code>"boost/flyweight/key_value_fwd.hpp"</code></a>大 意</h2>



@@ -216,12 +213,12 @@
 <h2><a name="synopsis">Header
</a><a href="../../../../boost/flyweight/key_value.hpp"><code>"boost/flyweight/key_value.hpp"</code></a> synopsis &nbsp;</h2>

-<h2>&nbsp; &nbsp; &#22836;&#25991;&#20214;<a href="file:///boost/flyweight/key_value.hpp"><code>"boost/flyweight/key_value.hpp"</code></a>&#22823;&#24847;</h2> +<h2>&nbsp; &nbsp; 头文件<a href="file:///boost/flyweight/key_value.hpp"><code>"boost/flyweight/key_value.hpp"</code></a>大 意</h2>




-<h3><a name="key_value_construct">Class template <code>key_value &nbsp;&#31867;&#27169;&#26495; key_value</code></a></h3> +<h3><a name="key_value_construct">Class template <code>key_value &nbsp;类模 板 key_value</code></a></h3>



@@ -237,7 +234,7 @@
 <code>Value</code> to <code>Key</code>.</p>


-<p>&#22312;<big><code>flyweight&lt;T,...&gt;</code></big>&#36825;&#31181;&#24418;&#24335;&#30340;<big><a href="flyweight.html#flyweight"><code>flyweight</code></a></big>&#23454;&#20363;&#20013;&#65292;&#30456;&#20851;&#30340;<big><code>key_type</code></big>&#21644;<big><code>value_type</code></big>&#37117;&#31561;&#21516;&#20110;<big><code>T</code></big>&#12290;<big><code>flyweight&lt;key_value&lt;Key,Value[,KeyFromValue]&gt;,...&gt;</code></big>&#36825;&#31181;&#24418;&#24335;&#30340;&#23454;&#20363;&#20801;&#35768;&#20998;&#21035;&#25351;&#23450;&#23427;&#20204;&#30340;&#31867;&#22411;&#12290;<big><code>Key</code></big>&#21644;<big><code>Value</code></big>&#24517;&#39035;&#26159;&#19981;&#21516;&#30340;&#31867;&#22411;&#12290;&#22914;&#26524;&#25552;&#20379;&#20102;<big><code>KeyFromValue</code></big>&#65292;&#23427;&#24517;&#39035;&#26159;&#19968;&#20010;<a href="#key_extractor">&#38190;&#25552;&#21462;&#22120;</a>&#21487;&#20197;&#36890;&#36807;<big><code>Value</code></big>&#24471;&#21040;<big><code>Key</code></big>&#12290; +<p>在<big><code>flyweight&lt;T,...&gt;</code></big>这种形式的<big><a href="flyweight.html#flyweight"><code>flyweight</code></a></big>实例中,相关 的<big><code>key_type</code></big>和<big><code>value_type</code></big>都等同 于<big><code>T</code></big>。 <big><code>flyweight&lt;key_value&lt;Key,Value[,KeyFromValue]&gt;,...&gt;</code></big>这 种形式的实例允许分别指定它们的类型。<big><code>Key</code></big>和 <big><code>Value</code></big>必须是不同的类型。如果提供了 <big><code>KeyFromValue</code></big>,它必须是一个<a href="#key_extractor">键提取器</a>可以通过<big><code>Value</code></big>得到 <big><code>Key</code></big>。
 </p>


@@ -286,7 +283,7 @@



-<p>&copy; Copyright 2006-2008 Joaqu&iacute;n M L&oacute;pez Mu&ntilde;oz.
+<p>© Copyright 2006-2008 Joaquín M López Muñoz.
 Distributed under the Boost Software
License, Version 1.0. (See accompanying file <a href="../../../../LICENSE_1_0.txt"> LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt";>
@@ -296,5 +293,4 @@



-</body>
-</html>
+</body></html>
\ No newline at end of file

Modified: trunk/libs/flyweight/doc/reference/locking.html
==============================================================================
--- trunk/libs/flyweight/doc/reference/locking.html     (original)
+++ trunk/libs/flyweight/doc/reference/locking.html     Wed Apr  8 05:59:37 2009
@@ -1,12 +1,11 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0.1 Transitional//EN">
-<html>
-<head>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0.1 Transitional//EN">
+<html><head>





-  <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">



@@ -15,8 +14,8 @@



-  <title>Boost.Flyweight Documentation - Locking policies reference</title>
-  <link rel="stylesheet" href="../style.css" type="text/css">
+
+ <title>Boost.Flyweight Documentation - Locking policies reference</title><link rel="stylesheet" href="../style.css" type="text/css">



@@ -40,9 +39,7 @@



-  <link rel="next" href="tracking.html">
-</head>
-
+  <link rel="next" href="tracking.html"></head>

 <body>

@@ -87,7 +84,7 @@

 <hr>

-<h2>Contents &nbsp;&#30446;&#24405;</h2>
+<h2>Contents &nbsp;目录</h2>



@@ -197,7 +194,7 @@



-<h2><a name="preliminary">Preliminary concepts &nbsp;&#39044;&#22791;&#27010;&#24565;</a></h2>
+<h2><a name="preliminary">Preliminary concepts &nbsp;预备概念</a></h2>



@@ -215,7 +212,7 @@
 type associated to some mutex type whose objects do the locking/unlocking
 of a mutex on construction/destruction time.</p>

-<p><big><i>mutex</i></big>&#31867;&#22411;&#30340;&#23545;&#35937;&#21482;&#33021;&#22788;&#22312;2&#31181;&#29366;&#24577;&#20043;&#19968;&#65292;&#38145;&#23450;&#25110;&#32773;&#26410;&#38145;&#23450;&#65292;&#36825;&#31181;&#23545;&#35937;&#30340;&#29305;&#24615;&#26159;&#65306;&#24403;&#32447;&#31243;A&#24050;&#32463;&#38145;&#23450;&#20102;&#20114;&#26021;&#20307;<big><code>m</code></big>&#32780;&#21478;&#22806;&#19968;&#20010;&#32447;&#31243;B&#23581;&#35797;&#38145;&#23450;<big><code>m</code></big>&#26102;&#65292;B&#20250;&#34987;&#38459;&#22622;&#30452;&#21040;A&#35299;&#38145;<big><code>m</code></big>&#12290; &#21478;&#22806;&#65292;&#22914;&#26524;&#19968;&#20010;&#32447;&#31243;&#21487;&#20197;&#22312;&#23427;&#24050;&#32463;&#38145;&#23450;&#30340;&#20114;&#26021;&#20307;&#19978;&#25104;&#21151;&#35843;&#29992;&#38145;&#23450;&#25805;&#20316;&#65292;&#35813;&#20114;&#26021;&#20307;&#23601;&#34987;&#35828;&#25104;&#26159;&#25903;&#25345;<span style="font-style: italic;">&#36882;&#24402;&#38145;&#23450;</span>&#30340;&#65307;&#22312;&#36825;&#31181;&#24773;&#20917;&#19979;&#65292;&#32447;&#31243;&#22312;&#20114;&#26021;&#20307;&#19978;&#25191;&#34892;&#20102;&#22810;&#23569;&#38145;&#23450;&#25805;&#20316;&#23601;&#35201;&#25191;&#34892;&#21516;&#26679;&#22810;&#30340;&#35299;&#38145;&#25805;&#20316;&#25165;&#33021;&#35753;&#20114;&#26021;&#20307;&#25104;&#21151;&#35299;&#38145;&#12290;<span style="font-style: italic;">&#33539;&#22260;&#38145;</span>&#26159;&#19982;&#26576;&#20010;&#20114;&#26021;&#31867;&#22411;&#30456;&#20851;&#30340;&#31867;&#22411;&#65292;&#35813;&#31867;&#22411;&#30340;&#23545;&#35937;&#22312;&#26500;&#36896;/&#26512;&#26500;&#30340;&#26102;&#20505;&#23545;&#19968;&#20010;&#20114;&#26021;&#20307;&#36827;&#34892;&#38145;&#23450;/&#35299;&#38145;&#12290; +<p><big><i>mutex</i></big>类型的对象只能处在2种状态之一,锁定或者未锁定,这 种对象的特性是:当线程A已经锁定了互斥体<big><code>m</code></big>而另外一个线 程B尝试锁定<big><code>m</code></big>时,B会被阻塞直到A解锁 <big><code>m</code></big>。 另外,如果一个线程可以在它已经锁定的互斥体上成功 调用锁定操作,该互斥体就被说成是支持<span style="font-style: italic;">递归锁 定</span>的;在这种情况下,线程在互斥体上执行了多少锁定操作就要执行同样多的 解锁操作才能让互斥体成功解锁。<span style="font-style: italic;">范围锁 </span>是与某个互斥类型相关的类型,该类型的对象在构造/析构的时候对一个互斥体 进行锁定/解锁。
 </p>


@@ -231,7 +228,7 @@


 <p style="text-align: left;">
-&#22312;&#19979;&#38754;&#36825;&#20010;&#34920;&#26684;&#37324;&#65292;<big><code>Mutex</code></big>&#26159;&#19968;&#20010;&#20114;&#26021;&#20307;&#31867;&#22411;&#65292;<big><code>m</code></big>&#26159;&#19968;&#20010;<big><code>Mutex</code></big>&#31867;&#22411;&#30340;&#23545;&#35937;&#65292;<big><code>Lock</code></big>&#26159;&#20851;&#32852;&#21040;<big><code>Mutex</code></big>&#30340;&#19968;&#20010;&#33539;&#22260;&#38145;&#65292;<big><code>lk</code></big>&#26159;<big><code>Lock</code></big>&#31867;&#22411;&#30340;&#19968;&#20010;&#20540;&#12290;</p>
+在下面这个表格里,<big><code>Mutex</code></big>是一个互斥体类 型,<big><code>m</code></big>是一个<big><code>Mutex</code></big>类型的对 象,<big><code>Lock</code></big>是关联到<big><code>Mutex</code></big>的一个 范围锁,<big><code>lk</code></big>是<big><code>Lock</code></big>类型的一个 值。</p>


 <table cellspacing="0">
@@ -362,14 +359,14 @@
 Library</a>.</p>


-<p>&#36825;&#20123;&#27010;&#24565;&#21516;<a href="../../../../doc/html/thread/synchronization.html#thread.synchronization.mutex_concepts">Boost Thread
-Library</a>&#37324;&#25551;&#36848;&#30340;&#21516;&#21517;&#27010;&#24565;&#38750;&#24120;&#30456;&#20284;&#65292;&#20294;&#19981;&#23436;&#20840;&#31561;&#21516;&#12290;
+<p>这些概念同<a href="../../../../doc/html/thread/synchronization.html#thread.synchronization.mutex_concepts">Boost Thread
+Library</a>里描述的同名概念非常相似,但不完全等同。
 </p>




-<h2><a name="locking">Locking policies &nbsp;&#38145;&#23450;&#31574;&#30053;</a></h2>
+<h2><a name="locking">Locking policies &nbsp;锁定策略</a></h2>



@@ -382,14 +379,14 @@
 <a href="factories.html#factory">factory</a>.</p>


-<p><span style="font-style: italic;">&#38145;&#23450;&#31574;&#30053;</span>&#25551;&#36848;&#20102;&#19968;&#20010;&#20114;&#26021;&#20307;&#31867;&#22411;&#21644;&#23427;&#30456;&#20851;&#30340;&#33539;&#22260;&#38145;&#31867;&#22411;&#12290;<big><a href="flyweight.html#flyweight"><code>flyweight</code></a></big>&#20351;&#29992;&#19968;&#31181;&#32473;&#23450;&#30340;&#38145;&#23450;&#31574;&#30053;&#26469;&#21516;&#27493;&#21040;&#23427;&#30340;&#20869;&#37096;<a href="factories.html#factory">factory</a>&#30340;&#35775;&#38382;&#12290; +<p><span style="font-style: italic;">锁定策略</span>描述了一个互斥体类型和 它相关的范围锁类型。<big><a href="flyweight.html#flyweight"><code>flyweight</code></a></big>使用一种给定 的锁定策略来同步到它的内部<a href="factories.html#factory">factory</a>的访 问。
 </p>




 <p>
-A type <code>Locking</code> is a locking policy if: &nbsp;&#31867;&#22411;<code>Locking</code>&#26159;&#19968;&#31181;&#38145;&#23450;&#31574;&#30053;&#22914;&#26524;&#65306; +A type <code>Locking</code> is a locking policy if: &nbsp;类型 <code>Locking</code>是一种锁定策略如果:
 </p>


@@ -397,7 +394,7 @@



- <li>One of the following conditions is satisfied: &nbsp;&#28385;&#36275;&#20197;&#19979;&#26465;&#20214;&#20043;&#19968;&#65306; + <li>One of the following conditions is satisfied: &nbsp;满足以下条件之 一:



@@ -406,12 +403,12 @@


<li><a href="#is_locking"><code>is_locking&lt;Locking&gt;::type</code></a> is - <a href="../../../mpl/doc/refmanual/bool.html"><code>boost::mpl::true_</code></a>, &nbsp; &nbsp;<a href="locking.html#is_locking"><code>is_locking&lt;Locking&gt;::type</code></a>&#26159;<a href="../../../mpl/doc/refmanual/bool.html"><code>boost::mpl::true_</code></a></li> + <a href="../../../mpl/doc/refmanual/bool.html"><code>boost::mpl::true_</code></a>, &nbsp; &nbsp;<a href="locking.html#is_locking"><code>is_locking&lt;Locking&gt;::type</code></a>是 <a href="../../../mpl/doc/refmanual/bool.html"><code>boost::mpl::true_</code></a></li>



       <li><code>Locking</code> is of the form
- <a href="#tracking_construct"><code>locking&lt;Locking'&gt;</code></a>. &nbsp;<code>Locking</code>&#30340;&#26684;&#24335;&#26159;<a href="locking.html#tracking_construct"><code>locking&lt;Locking'&gt;</code></a></li> + <a href="#tracking_construct"><code>locking&lt;Locking'&gt;</code></a>. &nbsp;<code>Locking</code>的格式是<a href="locking.html#tracking_construct"><code>locking&lt;Locking'&gt;</code></a></li>



@@ -433,7 +430,7 @@

 </ul>

-<div style="text-align: left; margin-left: 40px;">&#31867;&#22411;<code>Locking::mutex_type</code>&#65288;&#22312;&#26465;&#20214;b&#26102;&#26159;<code>Locking'::mutex_type</code>&#65289;&#26159;<a href="#preliminary">&#20114;&#26021;&#20307;</a>&#30340;&#19968;&#20010;&#27169;&#22411;&#24182;&#19988;&#25903;&#25345;&#36882;&#24402;&#38145;&#23450;</div> +<div style="text-align: left; margin-left: 40px;">类型 <code>Locking::mutex_type</code>(在条件b时是 <code>Locking'::mutex_type</code>)是<a href="#preliminary">互斥体</a>的一个 模型并且支持递归锁定</div>

 <ul>

@@ -448,11 +445,11 @@

 </ul>

-<div style="margin-left: 40px;">&#31867;&#22411;<code>Locking::lock_type</code>&#65288;&#22312;&#26465;&#20214;b&#26102;&#26159;<code>Locking'::lock_type</code>&#65289;&#26159;&#19968;&#20010;&#19978;&#25991;&#25552;&#21040;&#30340;&#20114;&#26021;&#20307;&#30340;<a href="#preliminary">&#33539;&#22260;&#38145;</a></div> +<div style="margin-left: 40px;">类型<code>Locking::lock_type</code>(在条件 b时是<code>Locking'::lock_type</code>)是一个上文提到的互斥体的<a href="#preliminary">范围锁</a></div>

 <h2><a name="locking_tag_synopsis">Header
</a><a href="../../../../boost/flyweight/locking_tag.hpp"><code>"boost/flyweight/locking_tag.hpp"</code></a> synopsis &nbsp;</h2> -<h2>&#22836;&#25991;&#20214;<a href="../../../../boost/flyweight/locking_tag.hpp"><code>"boost/flyweight/locking_tag.hpp"</code></a>&#22823;&#24847;</h2> +<h2>头文件<a href="../../../../boost/flyweight/locking_tag.hpp"><code>"boost/flyweight/locking_tag.hpp"</code></a>大 意</h2>



@@ -482,7 +479,7 @@



-<h3><a name="is_locking">Class template <code>is_locking &nbsp;&#31867;&#27169;&#26495; is_locking</code></a></h3> +<h3><a name="is_locking">Class template <code>is_locking &nbsp;类模板 is_locking</code></a></h3>



@@ -495,13 +492,13 @@
 otherwise.</p>


-<p>&#38500;&#38750;&#29992;&#25143;&#36827;&#34892;&#20102;&#19987;&#38376;&#21270;&#65292;&#22914;&#26524;<big><code>T</code></big>&#22914;&#26159;&#20174;<big><code>locking_marker</code></big>&#27966;&#29983;&#30340;&#65292;<big><code>is_locking&lt;T&gt;::type</code></big>&#26159;<big><a href="../../../mpl/doc/refmanual/bool.html"><code>boost::mpl::true_</code></a></big>&#65292;&#21542;&#21017;&#26159;<big><a href="../../../mpl/doc/refmanual/bool.html"><code>boost::mpl::false_</code></a></big>&#12290; +<p>除非用户进行了专门化,如果<big><code>T</code></big>如是从 <big><code>locking_marker</code></big>派生 的,<big><code>is_locking&lt;T&gt;::type</code></big>是<big><a href="../../../mpl/doc/refmanual/bool.html"><code>boost::mpl::true_</code></a></big>,否 则是<big><a href="../../../mpl/doc/refmanual/bool.html"><code>boost::mpl::false_</code></a></big>。
 </p>




-<h3><a name="locking_construct">Class template <code>locking &nbsp;&#31867;&#27169;&#26495; locking</code></a></h3> +<h3><a name="locking_construct">Class template <code>locking &nbsp;类模板 locking</code></a></h3>



@@ -512,7 +509,7 @@
 mechanisms provided by the <code>is_locking</code> class template.</p>


-<p><big><code>locking&lt;T&gt;</code></big> &#26159;&#19968;&#31181;&#29992;&#20110;&#34920;&#26126;<code>T</code>&#26159;&#19968;&#31181;&#38145;&#23450;&#31574;&#30053;&#30340;&#35821;&#27861;&#26426;&#21046;&#65292; &#27492;&#26102;&#19981;&#38656;&#35201;&#20511;&#21161;<big><code>is_locking</code></big>&#31867;&#27169;&#26495;&#25552;&#20379;&#30340;&#26426;&#21046;&#12290; +<p><big><code>locking&lt;T&gt;</code></big> 是一种用于表明<code>T</code>是 一种锁定策略的语法机制, 此时不需要借助<big><code>is_locking</code></big>类 模板提供的机制。
 </p>


@@ -521,7 +518,7 @@
 <h2><a name="simple_locking_fwd_synopsis">Header
</a><a href="../../../../boost/flyweight/simple_locking_fwd.hpp"><code>"boost/flyweight/simple_locking_fwd.hpp"</code></a> synopsis &nbsp;</h2>

-<h2>&nbsp; &nbsp; &#22836;&#25991;&#20214;<a href="file:///boost/flyweight/simple_locking_fwd.hpp"><code>"boost/flyweight/simple_locking_fwd.hpp"</code></a>&#22823;&#24847;</h2> +<h2>&nbsp; &nbsp; 头文件<a href="file:///boost/flyweight/simple_locking_fwd.hpp"><code>"boost/flyweight/simple_locking_fwd.hpp"</code></a>大 意</h2>



@@ -550,7 +547,7 @@
 <a href="#simple_locking"><code>simple_locking</code></a>.</p>


-<p><big><code>simple_locking_fwd.hpp</code></big>&#21069;&#32622;&#22768;&#26126;&#31867;<big><a href="locking.html#simple_locking"><code>simple_locking</code></a></big>&nbsp; +<p><big><code>simple_locking_fwd.hpp</code></big>前置声明类<big><a href="locking.html#simple_locking"><code>simple_locking</code></a></big>&nbsp;
 </p>


@@ -559,12 +556,12 @@
 <h2><a name="simple_locking_synopsis">Header
</a><a href="../../../../boost/flyweight/simple_locking.hpp"><code>"boost/flyweight/simple_locking.hpp"</code></a> synopsis &nbsp;</h2>

-<h2>&nbsp; &nbsp; &#22836;&#25991;&#20214;<a href="file:///boost/flyweight/simple_locking.hpp"><code>"boost/flyweight/simple_locking.hpp"</code></a>&#22823;&#24847;</h2> +<h2>&nbsp; &nbsp; 头文件<a href="file:///boost/flyweight/simple_locking.hpp"><code>"boost/flyweight/simple_locking.hpp"</code></a>大 意</h2>




-<h3><a name="simple_locking">Class <code>simple_locking &#31867; simple_locking</code></a></h3> +<h3><a name="simple_locking">Class <code>simple_locking 类 simple_locking</code></a></h3>



@@ -577,7 +574,7 @@
 <code>simple_locking</code> specifies a dummy type without actual
synchronization capabilities.<a href="locking.html#locking"><code></code></a></p>

-<p><a href="locking.html#locking"><code></code></a>&#36825;&#31181;<a href="#locking">&#38145;&#23450;&#31574;&#30053;</a>&#25351;&#23450;&#30340;&#22522;&#26412;&#20114;&#26021;&#23545;&#35937;&#22522;&#20110;&#29615;&#22659;&#25152;&#33021;&#25552;&#20379;&#30340;&#26368;&#31616;&#21333;&#30340;&#21516;&#27493;&#26426;&#21046;&#12290;&#24403;&#32447;&#31243;&#21151;&#33021;&#19981;&#21487;&#29992;&#26102;&#65292;<code>simple_locking</code>&#25551;&#36848;&#30340;&#26159;&#19968;&#20010;&#27809;&#26377;&#23454;&#38469;&#21516;&#27493;&#33021;&#21147;&#30340;&#31354;&#31867;&#22411;&#12290;
+<p><a href="loc

==============================================================================
Diff truncated at 200k characters

Other related posts:

  • » [boost-doc-zh commit] r238 - 将 flyweight 文档改为 UTF-8 编码 - codesite-noreply