[boost-doc-zh] r383 committed - uuid 文档主体翻译完成

  • From: boost-doc-zh@xxxxxxxxxxxxxx
  • To: boost-doc-zh-notify@xxxxxxxxxxxxx
  • Date: Wed, 10 Feb 2010 07:27:37 +0000

Revision: 383
Author: yangyin7
Date: Tue Feb  9 23:26:56 2010
Log: uuid 文档主体翻译完成

http://code.google.com/p/boost-doc-zh/source/detail?r=383

Modified:
 /trunk/libs/uuid/uuid.html

=======================================
--- /trunk/libs/uuid/uuid.html  Sun Feb  7 05:46:29 2010
+++ /trunk/libs/uuid/uuid.html  Tue Feb  9 23:26:56 2010
@@ -1,10 +1,11 @@
 <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>Uuid Library</title>
 <style type="text/css">
     pre { margin: 1em; padding: 1em; border: 1px solid #ddd; }
 </style>
+<link rel="stylesheet" href="boostbook.css" type="text/css">
 </head>
 <body>
<h1><img src="../../boost.png" alt="Boost" WIDTH="277" HEIGHT="86">Uuid</h1>
@@ -18,7 +19,7 @@
         <li><a href="#Tagging">Tagging</a></li>
         <li><a href="#POD Efficiencies">POD Efficiencies</a></li>
         <li><a href="#Byte Extraction">Byte Extraction</a></li>
-    </ul
+    </ul>
     <li><a href="#Reference">Reference</a></li>
     <ul>
         <li><a href="#boost/uuid/uuid.hpp">boost/uuid/uuid.hpp</a></li>
@@ -56,38 +57,95 @@
<li><a href="#History and Acknowledgements">History and Acknowledgements</a></li>
 </ol>

+<h2><a name="Contents"></a>目录</h2>
+
+<ol>
+    <li><a href="#Introduction">简介</a></li>
+    <li><a href="#Examples">示例</a></li>
+    <ul>
+        <li><a href="#Tagging">标记</a></li>
+        <li><a href="#POD Efficiencies">POD类型的效率</a></li>
+        <li><a href="#Byte Extraction">按字节萃取</a></li>
+    </ul>
+    <li><a href="#Reference">参考</a></li>
+    <ul>
+        <li><a href="#boost/uuid/uuid.hpp">boost/uuid/uuid.hpp</a></li>
+        <ul>
+            <li><a href="#Synopsis">概要</a></li>
+            <li><a href="#Size">内存</a></li>
+            <li><a href="#Iteration">迭代</a></li>
+            <li><a href="#Nil">零值</a></li>
+            <li><a href="#Variant">类型</a></li>
+            <li><a href="#Version">版本</a></li>
+            <li><a href="#Swap">交换</a></li>
+            <li><a href="#Operators">操作符</a></li>
+            <li><a href="#Hash">哈希</a></li>
+        </ul>
+ <li><a href="#boost/uuid/uuid_generators.hpp">boost/uuid/uuid_generators.hpp</a></li>
+        <ul>
+            <li><a href="#Synopsis_generators">概要</a></li>
+            <li><a href="#Nil Generator">零值生成器</a></li>
+            <li><a href="#String Generator">基于字符串的生成器</a></li>
+            <li><a href="#Name Generator">基于名字的生成器</a></li>
+            <li><a href="#Random Generator">随机生成器</a></li>
+        </ul>
+ <li><a href="#boost/uuid/uuid_io.hpp">boost/uuid/uuid_io.hpp</a></li>
+        <ul>
+            <li><a href="#Synopsis_io">概要</a></li>
+            <li><a href="#Input and Output">输入和输出</a></li>
+        </ul>
+ <li><a href="#boost/uuid/uuid_serialize.hpp">boost/uuid/uuid_serialize.hpp</a></li>
+        <ul>
+            <li><a href="#Synopsis_serialize">概要</a></li>
+            <li><a href="#Serialization">序列化</a></li>
+        </ul>
+    </ul>
+    <li><a href="#Design notes">设计札记</a></li>
+    <li><a href="#History and Acknowledgements">历史和致谢</a></li>
+</ol>
+
 <h2><a name="Introduction"></a>Introduction</h2>
+<h2><a name="Introduction"></a>简介</h2>
 <p>
 A UUID, or Universally unique identifier, is intended to uniquely identify
 information in a distributed environment without significant central
-coordination.  It can be used to tag objects with very short lifetimes, or
+coordination.  It can be used to tag objects with very short lifetimes, or
 to reliably identify very persistent objects across a network.
 <p>
-UUIDs have many applications. Some examples follow: Databases may use UUIDs
-to identify rows or records in order to ensure that they are unique across
+UUID是Universally unique idenfifier(通用唯一识别码)的缩写,它是在一定范围内 (从特定的名字空间到全球)唯一的机器生成的标识符,用作没有中央协调的分布式环境 中作为惟一的标识信息。可以标识生命周期很短的对象,也可以用作对网络中持久对象 的稳定标识。
+</p>
+<p>
+UUIDs have many applications. Some examples follow: Databases may use UUIDs
+to identify rows or records in order to ensure that they are unique across
different databases, or for publication/subscription services. Network messages -may be identified with a UUID to ensure that different parts of a message are put -back together again. Distributed computing may use UUIDs to identify a remote
-procedure call.  Transactions and classes involved in serialization may be
-identified by UUIDs. Microsoft's component object model (COM) uses UUIDs to -distinguish different software component interfaces. UUIDs are inserted into
-documents from Microsoft Office programs.  UUIDs identify audio or
-video streams in the Advanced Systems Format (ASF).  UUIDs are also a basis
+may be identified with a UUID to ensure that different parts of a message are put +back together again. Distributed computing may use UUIDs to identify a remote
+procedure call.  Transactions and classes involved in serialization may be
+identified by UUIDs. Microsoft's component object model (COM) uses UUIDs to +distinguish different software component interfaces. UUIDs are inserted into
+documents from Microsoft Office programs.  UUIDs identify audio or
+video streams in the Advanced Systems Format (ASF).  UUIDs are also a basis
 for OIDs (object identifiers), and URNs (uniform resource name).
-
 <p>
-An attractive feature of UUIDs when compared to alternatives is their relative -small size, of 128-bits, or 16-bytes. Another is that the creation of UUIDs +UUID在很多地方有着重要的应用。例如数据库可以使用UUID来表示rows和records来确 保他们在不同数据库中或订阅/发布时的唯一性;UUID可以用来标识网络信息以确保消 息的不同部分可以重新结合在一起;分布式计算中也可以使用UUID来识别远程的程序调 用;UUID可以在序列化中标识转换和类的关联性;微软的组件对象模型(COM)使用的 UUID来区分不同的软件组件的接口;微软的office软件将UUID插入文档;在高级系统格 式(Advanced System Format)中UUID用来表示音频或视频流;UUID同时也是OID(对象标 识符号,Object identifiers)和URN(统一资源名称,Uniform resource name)的基 础。
+</p>
+<p>
+An attractive feature of UUIDs when compared to alternatives is their relative +small size, of 128-bits, or 16-bytes. Another is that the creation of UUIDs
 does not require a centralized authority.
+<p>与其他实现相同功能的方式相比,<b>uuid</b>有一些很吸引人的特性:一是它相 对较小的体积,他只占用l128-bits,或者16-bytes的空间。二是<b>uuid</b>不需要中 央授权的机制,这同样是很大的优势</p>

 <p>When UUIDs are generated by one of the defined
mechanisms, they are either guaranteed to be unique, different from all other
 generated UUIDs (that is, it has never been generated before and it will
never be generated again), or it is extremely likely to be unique (depending
 on the mechanism).
+<p>当UUID通过一个预定义的机制生成,他们要么保证与其他所生成的UUID不同(即前 无古人,后无来者),或者极有可能是唯一的(依赖于生成机制)。</p>

 <h2><a name="Examples"></a>Examples</h2>
+<h2><a name="Examples"></a>示例</h2>
 <h3><a name="Tagging"></a>Tagging</h3>
+<h3><a name="Tagging"></a>标记</h3>
 <pre>
 // example of tagging an object with a uuid
// see <a href="./test/test_tagging.cpp"><tt>boost/libs/uuid/test/test_tagging.cpp</tt></a>
@@ -102,32 +160,32 @@
         : tag(boost::uuids::random_generator()())
         , state(0)
     {}
-
+
     explicit object(int state)
         : tag(boost::uuids::random_generator()())
         , state(state)
     {}
-
+
     object(object const&amp; rhs)
         : tag(rhs.tag)
         , state(rhs.state)
     {}
-
+
     bool operator==(object const&amp; rhs) const {
         return tag == rhs.tag;
     }
-
+
     object&amp; operator=(object const&amp; rhs) {
         tag = rhs.tag;
         state = rhs.state;
     }
-
+
     int get_state() const { return state; }
     void set_state(int new_state) { state = new_state; }
-
+
 private:
     boost::uuids::uuid tag;
-
+
     int state;
 };

@@ -142,15 +200,19 @@
 </pre>

 <h3><a name="POD Efficiencies"></a>POD Efficiencies</h3>
+<h3><a name="POD Efficiencies"></a>POD 类型的效率</h3>
 <p>
 This library implements a UUID as a POD allowing a UUID
-to be used in the most efficient ways, including using memcpy,
-and aggregate initializers.  A drawback is that a POD can
-not have any constructors, and thus declaring a UUID will not
-initialize it to a value generated by one of the defined
-mechanisms.  But a class based on a UUID can be defined
-that does initialize itself to a value generated by one of
+to be used in the most efficient ways, including using memcpy,
+and aggregate initializers.  A drawback is that a POD can
+not have any constructors, and thus declaring a UUID will not
+initialize it to a value generated by one of the defined
+mechanisms.  But a class based on a UUID can be defined
+that does initialize itself to a value generated by one of
 the defined mechanisms.
+<p>
+为了能以最有效的方式使用UUID,在本库中使用POD的方式来实现UUID,这样使用者可 以使用memcpy或者集合类型来初始化UUID。但是POD方式的一个缺点在于不能有任何的 构造函数,这样就不能通过一个预定义的生成机制来初始化UUID。解决方法是通过 UUID类派生一个新的子类,在这个子类中定义一个生成机制。</p> +<p>(译注:POD意为plain old data,其基本意思是POD类型包含与C兼容的原始数 据,实质上POD类型主要包括int, char, float等原始类型及其集合类型(aggregate class))</p>
 <pre>
 // example using memcpy and aggregate initializers
// example of a class uuid see <a href="./test/test_uuid_class.cpp"><tt>boost/libs/uuid/test/test_uuid_class.cpp</tt></a>
@@ -187,7 +249,7 @@
     uuid_class()
         : boost::uuids::uuid(boost::uuids::random_generator()())
     {}
-
+
     explicit uuid_class(boost::uuids::uuid const&amp; u)
         : boost::uuids::uuid(u)
     {}
@@ -208,9 +270,10 @@
 </pre>

 <h3><a name="Byte Extraction"></a>Byte Extraction</h3>
-<p>It is sometimes useful to get at the 16 bytes of a <b>uuid</b> directly.
+<h3><a name="Byte Extraction"></a>按字节萃取</h3>
+<p>It is sometimes useful to get at the 16 bytes of a <b>uuid</b> directly.
 Typical use is as follows:
-
+<p>某些时候能方便获取UUID的16个字节是很有用的,典型的使用方法如下:</p>
 <pre>
 boost::uuids::uuid u;
 std::vector&lt;char&gt; v(u.size());
@@ -218,10 +281,13 @@
 </pre>

 <p>Note: <tt>boost::uuids::uuid::size()</tt> always returns 16.
+<p>注意: <tt>boost::uuids::uuid::size()</tt>返回值为16,固定不变。

 <h2><a name="Reference"></a>Reference</h2>
+<h2><a name="Reference"></a>参考</h2>
 <h3><a name="boost/uuid/uuid.hpp"</a>boost/uuid/uuid.hpp</h3>
 <h4><a name="Synopsis"</a>Synopsis</h4>
+<h4><a name="Synopsis"</a>概要</h4>
 <pre>
#include &lt;<a href="./../../boost/uuid/uuid.hpp"><tt>boost/uuid/uuid.hpp</tt></a>&gt;

@@ -249,7 +315,7 @@
     size_type size() const;

     bool is_nil() const;
-
+
     enum variant_type {
         variant_ncs, // NCS backward compatibility
         variant_rfc_4122, // defined in RFC 4122 document
@@ -290,11 +356,13 @@
 </pre>

 <h4><a name="Size"</a>Size</h4>
+<h4><a name="Size"</a>内存</h4>

 <p>The size of a <b>uuid</b> (in bytes) can be obtained either by
-calling the function <tt>boost::uuids::uuid::size()</tt> or by
-calling the static function <tt>boost::uuids::uuid::static_size()</tt>,
+calling the function <tt>boost::uuids::uuid::size()</tt> or by
+calling the static function <tt>boost::uuids::uuid::static_size()</tt>,
 both always return 16.
+<p>uuid所占的内存大小可以通过调用函数boost::uuids::uuid::size()或静态成员函 数boost::uuids::uuid::static_size()来获得,两者的返回值均为16。</p>
 <pre>
     boost::uuids::uuid u;
     assert(16 == u.size());
@@ -302,8 +370,10 @@
 </pre>

 <h4><a name="Iteration"</a>Iteration</h4>
+<h4><a name="Iteration"</a>迭代</h4>

 <p>Both iterators and constant iterators are provided.
+<p>uuid库提供了iterators和const_iterators两中迭代方式。</p>
 <pre>
     boost::uuids::uuid u;
for (boost::uuids::uuid::const_iterator it=u.begin(); it!=u.end(); ++it) {
@@ -315,30 +385,39 @@
 </pre>

 <h4><a name="Nil"></a>Nil uuid</h4>
+<h4><a name="Nil"></a>零值</h4>
 <p>The function, <tt>boost::uuids::uuid::is_null()</tt> returns true if and
 only if the <b>uuid</b> is equal to {00000000-0000-0000-0000-000000000000}.
 </p>
+<p>函数<tt>boost::uuids::uuid::is_null()</tt> 当且仅当UUID值为 {00000000-0000-0000-0000-000000000000}返回true.
+</p>

 <h4><a name="Variant"></a>Variant</h4>
+<h4><a name="Variant"></a>类型</h4>
 <p>Three bits of a <b>uuid</b> determine the variant.</p>
+<p><b>uuid</b>的三个bit决定了他的类型。</p>
 <pre>
     boost::uuids::uuid u;
     boost::uuids::uuid::variant_type v = u.variant();
 </pre>

 <h4><a name="Version"></a>Version</h4>
+<h4><a name="Version"></a>版本</h4>
 <p>Four bits of a <b>uuid</b> determine the variant, that is the mechanism
 used to generate the <b>uuid</b>.
 </p>
+<p><b>uuid</b>的四个bit决定了他的版本,根据版本来选择<b>uuid</b>的机制。 </p>
 <pre>
     boost::uuids::uuid u;
     boost::uuids::uuid::version_type v = u.version();
 </pre>

 <h4><a name="Swap"></a>Swap</h4>
-<p>Both <tt>boost::uuids::uuid::swap()</tt> and <tt>boost::uuids::swap()</tt>
+<h4><a name="Swap"></a>交换</h4>
+<p>Both <tt>boost::uuids::uuid::swap()</tt> and <tt>boost::uuids::swap()</tt>
 are provided.
 </p>
+<p><b>uuid</b>库提供了<tt>boost::uuids::uuid::swap()</tt>和 <tt>boost::uuids::swap()</tt>两个交换函数。</p>
 <pre>
     boost::uuids::uuid u1, u2;
     u1.swap(u2);
@@ -346,9 +425,11 @@
 </pre>

 <h4><a name="Operators"></a>Operators</h4>
+<h4><a name="Operators"></a>操作符</h4>
 <p>
 All of the standard numeric operators are defined for the <b>uuid</b>
 class. These include:
+<p>在<b>uuid</b>类中定义了所有的标准数学操作符,包括:</p>
 <pre>
     operator==
     operator!=
@@ -359,10 +440,11 @@
 </pre>

 <h4><a name="Hash"></a>Hash Function</h4>
+<h4><a name="Hash"></a>哈希函数</h4>
 <p>
-This function allows <b>uuid</b>s to be used with
+This function allows <b>uuid</b>s to be used with
 <a href="http://www.boost.org/doc/html/hash.html";><b>boost::hash</b></a>
-
+<p>这个函数使得<b>uuid</b>可以被 <a href="http://www.boost.org/doc/html/hash.html";><b>boost::hash</b></a> 散列 </p>
 <pre>
 boost::hash&lt;boost::uuids::uuid&gt; uuid_hasher;
 std::size_t uuid_hash_value = uuid_hasher(boost::uuids::uuid());
@@ -370,6 +452,7 @@

<h3><a name="boost/uuid/uuid_generators.hpp"</a>boost/uuid/uuid_generators.hpp</h3>
 <h4><a name="Synopsis_generators"</a>Synopsis</h4>
+<h4><a name="Synopsis_generators"</a>概要</h4>
 <pre>
#include &lt;<a href="./../../boost/uuid/uuid_generators.hpp"><tt>boost/uuid/uuid_generators.hpp</tt></a>&gt;

@@ -378,7 +461,7 @@

 struct nil_generator {
     typedef uuid result_type;
-
+
     uuid operator()() const;
 };
 uuid nil_uuid();
@@ -393,7 +476,7 @@
 class name_generator {
 public:
     typedef uuid result_type;
-
+
     explicit name_generator(uuid const&amp; namespace_uuid);

     uuid operator()(const char* name) const;
@@ -407,11 +490,11 @@
 class basic_random_generator {
 public:
     typedef uuid result_type;
-
+
     basic_random_generator();
     explicit basic_random_generator(UniformRandomNumberGenerator&amp; gen);
     explicit basic_random_generator(UniformRandomNumberGenerator* pGen);
-
+
     uuid operator()();
 };
 typedef basic_random_generator&lt;mt19937&gt; random_generator;
@@ -420,7 +503,9 @@
 </pre>

 <h4><a name="Nil Generator"</a>Nil Generator</h4>
+<h4><a name="Nil Generator"</a>零值生成器</a></h4>
<p>The <tt>boost::uuids::nil_generator</tt> class always generates a nil <b>uuid</b>.
+<p>使用者可以通过<tt>boost::uuids::nil_generator</tt>生成零值。</p>
 <pre>
 boost::uuids::nil_generator gen;
 boost::uuids::uuid u = gen();
@@ -432,7 +517,9 @@
 </pre>

 <h4><a name="String Generator"</a>String Generator</h4>
+<h4><a name="String Generator"</a>基于字符串的生成器</h4>
<p>The <tt>boost::uuids::string_generator</tt> class generates a <b>uuid</b> from a string. +<p><tt>boost::uuids::string_generator</tt>类可以从字符串生成<b>uuid</b> </p>
 <pre>
 boost::uuids::string_generator gen;
 boost::uuids::uuid u1 = gen("{01234567-89ab-cdef-0123456789abcdef}");
@@ -442,9 +529,11 @@
 </pre>

 <h4><a name="Name Generator"</a>Name Generator</h4>
-<p>
-The <tt>boost::uuids::name_generator</tt> class generates a name based <b>uuid</b> from a
+<h4><a name="Name Generator"</a>基于名字的生成器</h4>
+<p><tt>boost::uuids::name_generator</tt>  <b>uuid</b> from a
 namespace uuid and a name.
+<p>
+The <tt>boost::uuids::name_generator</tt>类可以从uuid名字空间和名字生成一个 基于名字的<b>uuid</b></p>
 <pre>
boost::uuids::uuid dns_namespace_uuid; // initialize to {6ba7b810-9dad-11d1-80b4-00c04fd430c8}

@@ -453,11 +542,13 @@
 </pre>

 <h4><a name="Random Generator"</a>Random Generator</h4>
+<h4><a name="Random Generator"</a>随机生成器</h4>
 <p>
The <tt>boost::uuids::basic_random_generator</tt> class generates a random number
-based uuid from a random number generator (one that conforms to the
+based uuid from a random number generator (one that conforms to the
<a href="http://www.boost.org/libs/random/random-concepts.html#uniform-rng";>UniformRandomNumberGenerator</a>
 concept).
+<p><tt>boost::uuids::basic_random_generator</tt>类可以从一个随机数生成器中 生成一个基于随机数</p>
 <pre>
 //default construct the random number generator and seed it
 boost::uuids::basic_random_generator&lt;boost::mt19937&gt; gen;
@@ -477,6 +568,7 @@

 <h3><a name="boost/uuid/uuid_io.hpp"</a>boost/uuid/uuid_io.hpp</h3>
 <h4><a name="Synopsis_io"</a>Synopsis</h4>
+<h4><a name="Synopsis_io"</a>概要</h4>
 <pre>
#include &lt;<a href="./../../boost/uuid/uuid_io.hpp"><tt>boost/uuid/uuid_io.hpp</tt></a>&gt;

@@ -493,11 +585,13 @@
 </pre>

 <h4><a name="Input and Output"></a>Input and Output</h4>
+<h4><a name="Input and Output"></a>输入和输出</h4>
 <p>
 Input and output stream operators <tt>&lt;&lt;</tt> and <tt>&gt;&gt;</tt>
-are provided by including <a href="../../boost/uuid/uuid_io.hpp"><tt>boost/uuid/uuid_io.hpp</tt></a>. +are provided by including <a href="../../boost/uuid/uuid_io.hpp"><tt>boost/uuid/uuid_io.hpp</tt></a>.
 The external representation of a <b>uuid</b> is a string of
hexidecimal digits of the following form: <tt>hhhhhhhh-hhhh-hhhh-hhhh-hhhhhhhhhhhh</tt> +<p><a href="../../boost/uuid/uuid_io.hpp"><tt>boost/uuid/uuid_io.hpp</tt>提 供了输出输出流操作符<tt>&lt;&lt;</tt> 和 <tt>&gt;&gt;</tt>. <b>uuid</b>会以 16进制字符串的形式输出,其格式 为:<tt>hhhhhhhh-hhhh-hhhh-hhhh-hhhhhhhhhhhh</tt></p>
 <pre>
 boost::uuids::uuid u;

@@ -508,6 +602,7 @@

<h3><a name="boost/uuid/uuid_serialize.hpp"</a>boost/uuid/uuid_serialize.hpp</h3>
 <h4><a name="Synopsis_serialize"</a>Synopsis</h4>
+<h4><a name="Synopsis_serialize"</a>概要</h4>
 <pre>
#include &lt;<a href="./../../boost/uuid/uuid_serialize.hpp"><tt>boost/uuid/uuid_serialize.hpp</tt></a>&gt;

@@ -520,41 +615,59 @@
 </pre>

 <h4><a name="Serialization"></a>Serialization</h4>
+<h4><a name="Serialization"></a>序列化</h4>
 <p>
Serialization is accomplished with the <a href="http://www.boost.org/libs/serialization/doc/index.html";>
-Boost Serialization</a> library.  A <b>uuid</b> is serialized as a
+Boost Serialization</a> library.  A <b>uuid</b> is serialized as a
<a href="http://www.boost.org/libs/serialization/doc/serialization.html#primitiveoperators";> primitive type</a>, thus only the <b>uuid</b> value will be saved to/loaded from an archive. +<p>可以使用<a href="http://www.boost.org/libs/serialization/doc/index.html";> +Boost Serialization</a>库对<b>uuid</b>进行序列化。<b>uuid</b>将作为<a href="http://www.boost.org/libs/serialization/doc/serialization.html#primitiveoperators";>
+primitive type</a>被序列化,这样将只有<b>uuid</b>的值被保存在文档中。</p>
+
 <p>
Include <a href="../../boost/uuid/uuid_serialize.hpp"><tt>boost/uuid/uuid_serialize.hpp</tt></a> to enable serialization for <b>uuid</b>s. +<p>序列化<b>uuid</b>需要包含<a href="../../boost/uuid/uuid_serialize.hpp"><tt>boost/uuid/uuid_serialize.hpp</tt></a>头 文件。</p>

 <h2><a name="Design notes"></a>Design notes</h2>
+<h2><a name="Design notes"></a>设计札记</h2>
 <p>
The document, <a href="http://www.itu.int/ITU-T/studygroups/com17/oid/X.667-E.pdf";> http://www.itu.int/ITU-T/studygroups/com17/oid/X.667-E.pdf</a>, was used to design
 and implement the <b>boost::uuids::uuid</b> struct.
-
-<p>The <tt>boost::uuids::basic_random_generator</tt> class' default constructor +<p><b>boost::uuids::uuid</b> 的设计和实现请参考<a href="http://www.itu.int/ITU-T/studygroups/com17/oid/X.667-E.pdf";>
+http://www.itu.int/ITU-T/studygroups/com17/oid/X.667-E.pdf</a></p>
+
+<p>The <tt>boost::uuids::basic_random_generator</tt> class' default constructor seeds the random number generator with a SHA-1 hash of a number of different values including <tt>std::time(0)</tt>, <tt>std::clock()</tt>, uninitialized
 data, value return from <tt>new unsigned int</tt>, etc..
+<p><tt>boost::uuids::basic_random_generator</tt>类的默认构造函数中随机数生 成器种子的选取采用SHA-1算法,从包括</tt>std::time(0)</tt>, <tt>std::clock()</tt>,未初始化的数据,<tt>new unsigned int</tt>的返回值等不 同的值中选择。</p>

<p>The <tt>boost::uuids::name_generator</tt> class uses the SHA-1 hash function to
 compute the <b>uuid</b>.
-
-<p>All functions are re-entrant. Classes are as thread-safe as an int. That is an +<p><tt>boost::uuids::name_generator</tt>类使用SHA-1哈希函数来计算 <tt>uuid</tt></p>
+
+<p>All functions are re-entrant. Classes are as thread-safe as an int. That is an
 instance can not be shared between threads without proper synchronization.
+<p>所有的函数都是可重入的,且类如同int型一样是线程安全的。这是一个不能被未 同步线程间共享的实例。</p>

<h2><a name="History and Acknowledgements"></a>History and Acknowledgements</h2>
+<h2><a name="History and Acknowledgements"></a>历史和致谢</h2>
+
 <p>
-A number of people on the <a href="http://www.boost.org/";>boost.org</a>
+A number of people on the <a href="http://www.boost.org/";>boost.org</a>
mailing list provided useful comments and greatly helped to shape the library.
+<p>
+<a href="http://www.boost.org/";>boost.org</a>邮件列表中的朋友对本程序库的完 善提供了非常宝贵的意见和巨大的帮助。</p>

 <p>Revised&nbsp; January 1, 2010</p>

 <hr>
-<p>© Copyright Andy Tompkins, 2006</p>
-<p> Distributed under the Boost Software
+<p>� Copyright Andy Tompkins, 2006</p>
+<p>翻译: loveplay</p>
+<p>译文更新: 2010.2.10</p>
+<p> 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";>
 www.boost.org/LICENSE_1_0.txt</a>)</p>
 </body>

Other related posts:

  • » [boost-doc-zh] r383 committed - uuid 文档主体翻译完成 - boost-doc-zh