[boost-doc-zh commit] r255 - 转换至1.39.0,第8批,完成以下库:math, math/common_factor, math/complex, math...

  • From: codesite-noreply@xxxxxxxxxx
  • To: boost-doc-zh-notify@xxxxxxxxxxxxx
  • Date: Tue, 02 Jun 2009 08:52:51 +0000

Author: alai04
Date: Tue Jun  2 01:35:23 2009
New Revision: 255

Added:
   trunk/libs/numeric/ublas/doc/samples/
   trunk/libs/numeric/ublas/doc/samples/Jamfile.v2
   trunk/libs/numeric/ublas/doc/samples/banded_adaptor.cpp
   trunk/libs/numeric/ublas/doc/samples/banded_matrix.cpp
   trunk/libs/numeric/ublas/doc/samples/bounded_array.cpp
   trunk/libs/numeric/ublas/doc/samples/compressed_matrix.cpp
   trunk/libs/numeric/ublas/doc/samples/compressed_vector.cpp
   trunk/libs/numeric/ublas/doc/samples/coordinate_matrix.cpp
   trunk/libs/numeric/ublas/doc/samples/coordinate_vector.cpp
   trunk/libs/numeric/ublas/doc/samples/ex_triangular.cpp
   trunk/libs/numeric/ublas/doc/samples/hermitian_adaptor.cpp
   trunk/libs/numeric/ublas/doc/samples/hermitian_matrix.cpp
   trunk/libs/numeric/ublas/doc/samples/identity_matrix.cpp
   trunk/libs/numeric/ublas/doc/samples/map_array.cpp
   trunk/libs/numeric/ublas/doc/samples/mapped_matrix.cpp
   trunk/libs/numeric/ublas/doc/samples/mapped_vector.cpp
   trunk/libs/numeric/ublas/doc/samples/matrix.cpp
   trunk/libs/numeric/ublas/doc/samples/matrix_binary.cpp
   trunk/libs/numeric/ublas/doc/samples/matrix_binary_scalar.cpp
   trunk/libs/numeric/ublas/doc/samples/matrix_column.cpp
   trunk/libs/numeric/ublas/doc/samples/matrix_column_project.cpp
   trunk/libs/numeric/ublas/doc/samples/matrix_matrix_binary.cpp
   trunk/libs/numeric/ublas/doc/samples/matrix_matrix_solve.cpp
   trunk/libs/numeric/ublas/doc/samples/matrix_range.cpp
   trunk/libs/numeric/ublas/doc/samples/matrix_range_project.cpp
   trunk/libs/numeric/ublas/doc/samples/matrix_row.cpp
   trunk/libs/numeric/ublas/doc/samples/matrix_row_project.cpp
   trunk/libs/numeric/ublas/doc/samples/matrix_slice.cpp
   trunk/libs/numeric/ublas/doc/samples/matrix_slice_project.cpp
   trunk/libs/numeric/ublas/doc/samples/matrix_unary.cpp
   trunk/libs/numeric/ublas/doc/samples/matrix_vector_binary.cpp
   trunk/libs/numeric/ublas/doc/samples/matrix_vector_range.cpp
   trunk/libs/numeric/ublas/doc/samples/matrix_vector_slice.cpp
   trunk/libs/numeric/ublas/doc/samples/matrix_vector_solve.cpp
   trunk/libs/numeric/ublas/doc/samples/range.cpp
   trunk/libs/numeric/ublas/doc/samples/slice.cpp
   trunk/libs/numeric/ublas/doc/samples/symmetric_adaptor.cpp
   trunk/libs/numeric/ublas/doc/samples/symmetric_matrix.cpp
   trunk/libs/numeric/ublas/doc/samples/triangular_adaptor.cpp
   trunk/libs/numeric/ublas/doc/samples/triangular_matrix.cpp
   trunk/libs/numeric/ublas/doc/samples/unbounded_array.cpp
   trunk/libs/numeric/ublas/doc/samples/unit_vector.cpp
   trunk/libs/numeric/ublas/doc/samples/vector.cpp
   trunk/libs/numeric/ublas/doc/samples/vector_binary.cpp
   trunk/libs/numeric/ublas/doc/samples/vector_binary_outer.cpp
   trunk/libs/numeric/ublas/doc/samples/vector_binary_redux.cpp
   trunk/libs/numeric/ublas/doc/samples/vector_binary_scalar.cpp
   trunk/libs/numeric/ublas/doc/samples/vector_range.cpp
   trunk/libs/numeric/ublas/doc/samples/vector_range_project.cpp
   trunk/libs/numeric/ublas/doc/samples/vector_slice.cpp
   trunk/libs/numeric/ublas/doc/samples/vector_slice_project.cpp
   trunk/libs/numeric/ublas/doc/samples/vector_unary.cpp
   trunk/libs/numeric/ublas/doc/samples/vector_unary_redux.cpp
   trunk/libs/numeric/ublas/doc/samples/zero_matrix.cpp
   trunk/libs/numeric/ublas/doc/samples/zero_vector.cpp
   trunk/libs/smart_ptr/make_shared.html
trunk/libs/type_traits/doc/html/boost_typetraits/reference/has_new_operator.html trunk/libs/type_traits/doc/html/boost_typetraits/reference/is_virtual_base_of.html
Modified:
   trunk/libs/algorithm/minmax/index.html
   trunk/libs/multi_index/doc/compiler_specifics.html
   trunk/libs/numeric/ublas/doc/container_concept.htm
   trunk/libs/numeric/ublas/doc/triangular.htm
   trunk/libs/random/index.html
   trunk/libs/serialization/doc/contents.html
   trunk/libs/serialization/doc/exceptions.html
   trunk/libs/serialization/doc/faq.html
   trunk/libs/serialization/doc/release.html
   trunk/libs/smart_ptr/shared_ptr.htm
   trunk/libs/smart_ptr/smart_ptr.htm
trunk/libs/type_traits/doc/html/boost_typetraits/category/value_traits/properties.html trunk/libs/type_traits/doc/html/boost_typetraits/category/value_traits/relate.html
   trunk/libs/type_traits/doc/html/boost_typetraits/reference.html
trunk/libs/type_traits/doc/html/boost_typetraits/reference/function_traits.html trunk/libs/type_traits/doc/html/boost_typetraits/reference/has_nothrow_assign.html trunk/libs/type_traits/doc/html/boost_typetraits/reference/is_unsigned.html
   trunk/libs/type_traits/doc/html/boost_typetraits/reference/is_void.html
   trunk/libs/type_traits/doc/html/index.html

Log:
转换至1.39.0,第8批,完成以下库:math, math/common_factor, math/complex, math/octonion, math/quaternion, math/sf, math/stat, minmax, mpl, multi_array, multi_index, numeric/conversion, operators, optional, parameter, ptr_container, pool, preprocessor, property_map, python, random, range, rational, regex, scope_exit, serialization, smart_ptr, spirit, statechart, swap, system, test, timer, tokenizer, tuple, type_traits, uBLAS, utility, value_initialized, wave

Modified: trunk/libs/algorithm/minmax/index.html
==============================================================================
--- trunk/libs/algorithm/minmax/index.html      (original)
+++ trunk/libs/algorithm/minmax/index.html      Tue Jun  2 01:35:23 2009
@@ -1,6 +1,5 @@
-<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
-<html>
-<head>
+<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
+<html><head>



@@ -66,9 +65,7 @@



-  <title>Boost Minmax library</title>
-</head>
-
+  <title>Boost Minmax library</title></head>

<body alink="#ff0000" bgcolor="#ffffff" link="#0000ee" text="#000000" vlink="#551a8b">

@@ -187,7 +184,7 @@


 <p>第一个文件实现了函数模板
-<tt>minmax</tt>,它只是对C++标准的简单的扩展。由于它返回一对 <tt>const&amp;</tt>, 所以我们必须使用 <a href=":../../../../tuple/index.html">Boost.tuple</a> 库来构造这对 <tt>const&amp;</tt>. (请注意:目的不是修正 +<tt>minmax</tt>,它只是对C++标准的简单的扩展。由于它返回一对 <tt>const&amp;</tt>, 所以我们必须使用 <a href="../../tuple/index.html">Boost.tuple</a> 库来构造这对 <tt>const&amp;</tt>. (请注意:目的不是修正 <tt>std::min</tt> 和 <tt>std::max</tt> 的缺省行为,而是增加一个组合它们两个 的算法;请看
 <a href="#no-fix">原理</a>)</p>

@@ -312,9 +309,8 @@



-<p>这组算法中包含了 <tt>first_min_first_max_element</tt>,
-<tt>first_min_first_max_element</tt>,
-<tt>first_min_first_max_element</tt>, 和 <tt>first_min_first_max_element</tt>,它们可以描述如下(用 <i><tt>which</tt></i> 和 +<p>这组算法中包含了 <tt>first_min_first_max_element</tt>, <tt>first_min_last_max_element</tt>, +<tt>last_min_first_max_element</tt>, 和 <tt>last_min_last_max_element</tt>,它们可以描述如下(用 <i><tt>which</tt></i> 和 <i><tt>what</tt></i> 表示 <tt>first</tt> 或 <tt>last</tt>): <tt><i>which</i>_min_<i>what</i>_max_element</tt> 在区间 <tt>[first, last)</tt> 中查找 (first 或 last, 取决于 <i><tt>which</tt></i>) 最小和 (first 或 last, 取决于 <i><tt>what</tt></i>) 最大的元素。第一个版本的语义等 同于:
 </p>

@@ -850,8 +846,8 @@


 Last modified 2004-07-01
-<p><font face="Arial,Helvetica"><font size="-1">&copy; Copyright Herv&eacute;
-Br&ouml;nnimann, Polytechnic University, 2002--2004.
+<p><font face="Arial,Helvetica"><font size="-1">© Copyright Hervé
+Brönnimann, Polytechnic University, 2002--2004.
 Use, modification, and distribution is subject to 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>)
@@ -861,5 +857,4 @@



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

Modified: trunk/libs/multi_index/doc/compiler_specifics.html
==============================================================================
--- trunk/libs/multi_index/doc/compiler_specifics.html  (original)
+++ trunk/libs/multi_index/doc/compiler_specifics.html Tue Jun 2 01:35:23 2009
@@ -269,14 +269,14 @@

<p>当前,Boost.MultiIndex 不能用于 BCB 6.4 至 BCB 2006 的任何版本。测试中出 现了很多问题,看起来库的未来版本也很难在这个编译器下工作。</p> <h2><a name="comeau_43101_win_vc7_71">Comeau C/C++ 4.3.10.1 for Windows (VC++ 9.0 为后端)</a></h2>
-<p>这个编译器没有发现问题。不过,如果以Microsoft Visual C++
+<p><b>注:</b>最后的测试是在 Boost 1.38. 该信息可能不再准确。</p><p>这个编 译器没有发现问题。不过,如果以Microsoft Visual C++ 6.0作为后端,则编译失败。最近进行的测试中(Boost.1.34.1), VC++ 7.0/7.1 后端 可以正常工作。使用 Comeau compiler 4.3.10.1 的 beta 2 版本。</p><h2><a name="compaq_65">Compaq C++ 6.5-042 for Tru64 UNIX 及后续版本</a></h2>




-<p>没有发现问题。已测试Versions 6.5-042, 7.1-005 和 7.1-006。
+<p><b>注:</b>最后的测试是在 Boost 1.38. 该信息可能不再准确。</p><p>没有发 现问题。已测试Versions 6.5-042, 7.1-005 和 7.1-006。
 </p>


@@ -289,25 +289,22 @@

 <p>版本3.2以后的几个编译器都没有发现问题。已测试的版本有:</p>

-<ul>
-
-
-
-  <li>GCC 3.2 20020927 (prerelease) under Cygwin 1.5.7,
-</li><li>GCC 3.4.3 under Linux x86-64,
-</li><li>GCC 3.4.4 (cygming special, gdc 0.12, using dmd 0.125) under Cygwin and
-MinGW,
+<ul><li>GCC 3.4.3 under Linux x86-64,
+</li><li>GCC 3.4.4 (cygming special, gdc 0.12, using dmd 0.125) under Cygwin,
 </li><li>GCC 3.4.6 under Solaris,
</li><li>GCC 4.0.1 under Linux x86-64, (Apple build 5363) and (Apple Inc. build 5488)
 under Mac OS,
-</li><li>GCC 4.1.2 20061021 prerelease (NetBSD nb3 20061125) under Linux and Linux
-x86-64, 20061115 (prerelease) (Debian 4.1.1-21) under Linux, 20070115
-(prerelease) (SUSE Linux) under Linux x86-64, 20071124 (Red Hat 4.1.2-42) under
-Linux x86-64, 20080704 (Red Hat 4.1.2-44) under Linux x86-64,
-</li><li>GCC 4.2.1 under HP-UX IA64 and Linux x86-64, (SUSE Linux) Under Linux,
-</li><li>GCC 4.2.4 under Linux x86-64, (Ubuntu 4.2.4-1ubuntu3) undex Linux,
-</li><li>GCC 4.3.2 under Linux x86-64, 20080827 (alpha-testing) 1 under Cygwin,
-</li><li>GCC 4.3.2 gnu++0x under Linux x86-64.</li></ul>
+</li><li>GCC 4.1.2 under Linux x86-64, 20061115 (prerelease) (Debian 4.1.1-21), +20070115 (prerelease) (SUSE Linux) and 20080704 (Red Hat 4.1.2-44) under Linux
+x86-64, 20061021 prerelease (NetBSD nb3 20061125) under NetBSD/amd64 and
+NetBSD/i386,
+</li><li>GCC 4.2.1 under Linux x86-64, 20070719 [FreeBSD] under FreeBSD, (SUSE Linux)
+under Linux,
+</li><li>GCC 4.2.4 under Linux x86-64,
+</li><li>GCC 4.3.2 under Linux and Linux x86-64, 20080827 (alpha-testing) 1 under
+Cygwin,
+</li><li>GCC 4.3.2 gnu++0x under Linux x86-64,
+</li><li>GCC 4.3.3 under Linux x86-64 and MinGW.</li></ul>

 Boost.MultiIndex 不能工作于版本3.1及之前的GCC。

@@ -344,9 +341,9 @@



-<p>没有发现问题。最近测试的版本是 A.06.12。</p>
+<p><b>注:</b>最后的测试是在 Boost 1.38. 该信息可能不再准确。</p><p>没有发 现问题。最近测试的版本是 A.06.12。</p>
 <h2><a name="acc_380_pa_risc">HP aC++ A.03.80 for HP-UX PA-RISC</a></h2>
-<p>没有发现问题。</p>
+<p><b>注:</b>最后的测试是在 Boost 1.38. 该信息可能不再准确。</p><p>没有发 现问题。</p>



@@ -432,8 +429,8 @@

<p>不过该pragma指令也可能关闭掉其它与<code>offsetof</code>的使用无关的告 警。除此之外,使用 Boost.MultiIndex 没有其它问题。</p> <h2><a name="intel_81_lin">Intel C++ Compiler for Linux 8.1 及后续版本 </a></h2>
-<p>没有发现问题。已对 8.1 至
-10.0 的编译器版本进行测试。 </p>
+<p>没有发现问题。已对 9.0 至
+11.0 的编译器版本进行测试。 </p>
<h2><a name="intel_91_mac">Intel C++ Compiler for Mac OS 9.1 及后续版本 </a></h2>
 <p>没有发现问题。已对 9.1 至
10.1 的编译器版本进行测试。<br></p><h2><a name="intel_80_win">Intel C++ Compiler for Windows 32-bit 8.0 及后续版本</a></h2>
@@ -447,7 +444,7 @@
 没有其它问题。最后测试的编译器版本是 10.1。</p>
<h2><a name="intel_100_win64">Intel C++ Compiler for Windows 64-bit 10.0 and
 later</a></h2>
-<p>没有发现问题。最后测试的编译器版本是 10.1 至 11.0。</p><h2><a name="cw_83">Metrowerks CodeWarrior 8.3</a></h2> +<p><b>注:</b>最后的测试是在 Boost 1.38. 该信息可能不再准确。</p><p>没有发 现问题。最后测试的编译器版本是 10.1 至 11.0。</p><h2><a name="cw_83">Metrowerks CodeWarrior 8.3</a></h2>



@@ -1675,5 +1672,5 @@



-<br><p>Revised December 19th 2008</p><p>© Copyright 2003-2008 Joaquín M López Muñoz. Distributed under the Boost +<br><p>Revised March 31st 2009</p><p>© Copyright 2003-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";>http://www.boost.org/LICENSE_1_0.txt</a>)</p></body></html>

Modified: trunk/libs/numeric/ublas/doc/container_concept.htm
==============================================================================
--- trunk/libs/numeric/ublas/doc/container_concept.htm  (original)
+++ trunk/libs/numeric/ublas/doc/container_concept.htm Tue Jun 2 01:35:23 2009
@@ -1,14 +1,10 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
-<html xmlns="http://www.w3.org/1999/xhtml";>
-<head>
-<meta name="generator" content=
-"HTML Tidy for Linux/x86 (vers 1st March 2004), see www.w3.org" />
-<meta http-equiv="Content-Type" content=
-"text/html; charset=UTF-8" />
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml";><head>
+<meta name="generator" content="HTML Tidy for Linux/x86 (vers 1st March 2004), see www.w3.org" />
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
 <link href="ublas.css" type="text/css" />
-<title>Container Concepts</title>
-</head>
+<title>Container Concepts</title></head>
+
 <body>
 <h1><img src="../../../../boost.png" align="middle" />
 容器概念(Container Concepts)</h1>
@@ -21,7 +17,7 @@
 <a href="#vector_expression_note">[1]</a>。</p>
 <h4>相关类型</h4>
<p>作为对于<a href="expression_concept.htm#vector_expression">向量表达式 (Vector Expression)</a>所定义类型的补充。</p>
-<table border="1" summary="types">
+<table summary="types" border="1">
 <tbody>
 <tr>
 <td>公有(Public base)</td>
@@ -38,7 +34,7 @@
 </tbody>
 </table>
 <h4>记法(Notation)</h4>
-<table border="0" summary="notation">
+<table summary="notation" border="0">
 <tbody>
 <tr>
 <td><code>V</code></td>
@@ -66,7 +62,7 @@
 <h4>合法表达式</h4>
<p>除了在<a href="http://www.sgi.com/tech/stl/DefaultConstructible.html";>缺 省构造(DefaultConstructible)</a>, <a href="expression_concept.htm#vector_expression">向量表达式(Vector Expression)</a> 中定义的表达式,下面的表达式应当是合法的。</p>
-<table border="1" summary="expressions">
+<table summary="expressions" border="1">
 <tbody>
 <tr>
 <th>名称</th>
@@ -109,15 +105,14 @@
 <td>存储(Storage)</td>
 <td><code>v.data()</code></td>
 <td><code>v</code> is mutable and Dense.</td>
-<td><code>array_type&amp;</code> if a is mutable, <code>const array_type&amp;</code> otherwise</td> +<td><code>array_type&amp;</code> 如果 <code>v</code> 为可变的,否则为 <code>const array_type&amp;</code>&nbsp;</td>
 </tr>
 </tbody>
 </table>
 <h4>表达式语义(Expression semantics)</h4>
-<p>仅当一个表达式的语义不同于或没有在<a href=
-"expression_concept.htm#vector_expression">向量表达式(Vector Expression)</a> 中定义时才得以定义。 </p>
-<table border="1" summary="semantics">
-<tr>
+<p>仅当一个表达式的语义不同于或没有在<a href="expression_concept.htm#vector_expression">向量表达式(Vector Expression)</a> 中定义时才得以定义。 </p>
+<table summary="semantics" border="1">
+<tbody><tr>
 <th>名称</th>
 <th>表达式</th>
 <th>先决条件(Precondition)</th>
@@ -184,7 +179,7 @@
 <td>返回内部的密集存储(dense storage)的引用。</td>
 <td>&nbsp;</td>
 </tr>
-</table>
+</tbody></table>
 <h4>复杂度保证(Complexity guarantees)</h4>
<p> 带有向量大小参数的构造函数的运行时复杂度(run-time complexity)是依赖于 向量大小的线性复杂度。</p>
 <p> insert_element 和 erase_element 对于特定于向量模型(
@@ -212,7 +207,7 @@
 </p>
 <h4>相关类型</h4>
<p>作为对<a href="expression_concept.htm#matrix_expression">矩阵表达式 (Matrix Expression)</a>所定义类型的补充。</p>
-<table border="1" summary="types">
+<table summary="types" border="1">
 <tbody>
 <tr>
 <td>公有基类</td>
@@ -228,7 +223,7 @@
 </tbody>
 </table>
 <h4>记法(Notation)</h4>
-<table border="0" summary="notation">
+<table summary="notation" border="0">
 <tbody>
 <tr>
 <td><code>M</code></td>
@@ -254,9 +249,8 @@
 </table>
 <h4>定义</h4>
 <h4>合法表达式</h4>
-<p>除了在<a href=
-"expression_concept.htm#matrix_expression">矩阵表达式(Matrix Expression)</a> 中定义的表达式,下面的表达式应当是合法的。</p>
-<table border="1" summary="expressions">
+<p>除了在<a href="expression_concept.htm#matrix_expression">矩阵表达式 (Matrix Expression)</a> 中定义的表达式,下面的表达式应当是合法的。</p>
+<table summary="expressions" border="1">
 <tbody>
 <tr>
 <th>名称</th>
@@ -299,14 +293,13 @@
 <td>存储(Storage)</td>
 <td><code>m.data()</code></td>
 <td><code>m</code> 是可变的(mutable)且是密集的(Dense)。</td>
-<td>如果是可变的,就是<code>array_type&amp;</code>, 否则是<code>const array_type&amp;</code>。</td> +<td>如果 <code>m</code> 是可变的,就是<code>array_type&amp;</code>, 否则是 <code>const array_type&amp;</code>。</td>
 </tr>
 </tbody>
 </table>
 <h4>表达式语义(Expression semantics)</h4>
-<p>仅当一个表达式的语义不同于或没有在 <a href=
-"expression_concept.htm#matrix_expression">矩阵表达式(Matrix Expression)</a> 中定义时才得以定义。</p>
-<table border="1" summary="semantics">
+<p>仅当一个表达式的语义不同于或没有在 <a href="expression_concept.htm#matrix_expression">矩阵表达式(Matrix Expression)</a> 中定义时才得以定义。</p>
+<table summary="semantics" border="1">
 <tbody>
 <tr>
 <th>名称</th>
@@ -374,7 +367,7 @@
 <td></td>
 <td>返回内部的密集存储(dense storage)的引用。</td>
 <td>&nbsp;</td>
-</tbody>
+</tr></tbody>
 </table>
 <h4>复杂度保证(Complexity guarantees)</h4>
<p>带有向量大小参数的构造函数的运行时复杂度(run-time complexity)是依赖于矩 阵大小的二次方复杂度。</p>
@@ -392,7 +385,7 @@
 <p><a name="matrix_expression_note">[1]</a>
作为一个用户,你不需要关心<tt>Matrix</tt> 是MatrixExpression的一个优化。 <tt>Matrix</tt>是MatrixExpression 的优化只是对于模板表达式引擎 (template-expression engine)而不是对用户很重要。</p>
 <hr />
-<p>Copyright (&copy;) 2000-2002 Joerg Walter, Mathias Koch<br />
+<p>Copyright (©) 2000-2002 Joerg Walter, Mathias Koch<br />
    Use, modification and distribution are subject to the
    Boost Software License, Version 1.0.
    (See accompanying file LICENSE_1_0.txt
@@ -400,5 +393,4 @@
       http://www.boost.org/LICENSE_1_0.txt
    </a>).
 </p>
-</body>
-</html>
+</body></html>
\ No newline at end of file

Added: trunk/libs/numeric/ublas/doc/samples/Jamfile.v2
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/Jamfile.v2     Tue Jun  2 01:35:23 2009
@@ -0,0 +1,228 @@
+# Copyright Michael Stevens 2004
+
+# Use, modification, and distribution is subject to the Boost Software
+# License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+# http://www.boost.org/LICENSE_1_0.txt)
+# bring in rules for testing
+
+# Boost uBLAS library documentation samples
+
+# Project requirements
+project samples
+    : requirements
+      <toolset>borland:<cxxflags>"-w-8026 -w-8027 -w-8057 -w-8084 -w-8092"
+      <toolset>kylix:<cxxflags>"-w-8026 -w-8027 -w-8057 -w-8084 -w-8092"
+    ;
+
+exe unbounded_array
+    : unbounded_array.cpp
+    ;
+
+exe bounded_array
+    : bounded_array.cpp
+    ;
+
+exe range
+    : range.cpp
+    ;
+
+exe slice
+    : slice.cpp
+    ;
+
+exe map_array
+    : map_array.cpp
+    ;
+
+exe vector
+    : vector.cpp
+    ;
+
+exe unit_vector
+    : unit_vector.cpp
+    ;
+
+exe zero_vector
+    : zero_vector.cpp
+    ;
+
+exe mapped_vector
+    : mapped_vector.cpp
+    ;
+
+exe compressed_vector
+    : compressed_vector.cpp
+    ;
+
+exe coordinate_vector
+    : coordinate_vector.cpp
+    ;
+
+exe vector_range
+    : vector_range.cpp
+    ;
+
+exe vector_range_project
+    : vector_range_project.cpp
+    ;
+
+exe vector_slice
+    : vector_slice.cpp
+    ;
+
+exe vector_slice_project
+    : vector_slice_project.cpp
+    ;
+
+exe vector_unary
+    : vector_unary.cpp
+    ;
+
+exe vector_binary
+    : vector_binary.cpp
+    ;
+
+exe vector_binary_outer
+    : vector_binary_outer.cpp
+    ;
+
+exe vector_binary_scalar
+    : vector_binary_scalar.cpp
+    ;
+
+exe vector_unary_redux
+    : vector_unary_redux.cpp
+    ;
+
+exe vector_binary_redux
+    : vector_binary_redux.cpp
+    ;
+
+exe matrix
+    : matrix.cpp
+    ;
+
+exe identity_matrix
+    : identity_matrix.cpp
+    ;
+
+exe zero_matrix
+    : zero_matrix.cpp
+    ;
+
+exe mapped_matrix
+    : mapped_matrix.cpp
+    ;
+
+exe compressed_matrix
+    : compressed_matrix.cpp
+    ;
+
+exe coordinate_matrix
+    : coordinate_matrix.cpp
+    ;
+
+exe matrix_row
+    : matrix_row.cpp
+    ;
+
+exe matrix_row_project
+    : matrix_row_project.cpp
+    ;
+
+exe matrix_column
+    : matrix_column.cpp
+    ;
+
+exe matrix_column_project
+    : matrix_column_project.cpp
+    ;
+
+exe matrix_vector_range
+    : matrix_vector_range.cpp
+    ;
+
+exe matrix_vector_slice
+    : matrix_vector_slice.cpp
+    ;
+
+exe matrix_range
+    : matrix_range.cpp
+    ;
+
+exe matrix_range_project
+    : matrix_range_project.cpp
+    ;
+
+exe matrix_slice
+    : matrix_slice.cpp
+    ;
+
+exe matrix_slice_project
+    : matrix_slice_project.cpp
+    ;
+
+exe matrix_unary
+    : matrix_unary.cpp
+    ;
+
+exe matrix_binary
+    : matrix_binary.cpp
+    : <include>$(BOOST_ROOT)
+    ;
+
+exe matrix_binary_scalar
+    : matrix_binary_scalar.cpp
+    ;
+
+exe matrix_vector_binary
+    : matrix_vector_binary.cpp
+    ;
+
+exe matrix_vector_solve
+    : matrix_vector_solve.cpp
+    ;
+
+exe matrix_matrix_binary
+    : matrix_matrix_binary.cpp
+    ;
+
+exe matrix_matrix_solve
+    : matrix_matrix_solve.cpp
+    ;
+
+exe banded_matrix
+    : banded_matrix.cpp
+    ;
+
+exe banded_adaptor
+    : banded_adaptor.cpp
+    ;
+
+exe hermitian_matrix
+    : hermitian_matrix.cpp
+    ;
+
+exe hermitian_adaptor
+    : hermitian_adaptor.cpp
+    ;
+
+exe symmetric_matrix
+    : symmetric_matrix.cpp
+    ;
+
+exe symmetric_adaptor
+    : symmetric_adaptor.cpp
+    ;
+
+exe triangular_matrix
+    : triangular_matrix.cpp
+    ;
+
+exe triangular_adaptor
+    : triangular_adaptor.cpp
+    ;
+
+exe ex_triangular
+    : ex_triangular.cpp
+    ;

Added: trunk/libs/numeric/ublas/doc/samples/banded_adaptor.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/banded_adaptor.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,25 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/banded.hpp>
+#include <boost/numeric/ublas/io.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    matrix<double> m (3, 3);
+    banded_adaptor<matrix<double> > ba (m, 1, 1);
+    for (signed i = 0; i < signed (ba.size1 ()); ++ i)
+ for (signed j = (std::max) (i - 1, 0); j < (std::min) (i + 2, signed (ba.size2 ())); ++ j)
+            ba (i, j) = 3 * i + j;
+    std::cout << ba << std::endl;
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/banded_matrix.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/banded_matrix.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,24 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/banded.hpp>
+#include <boost/numeric/ublas/io.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    banded_matrix<double> m (3, 3, 1, 1);
+    for (signed i = 0; i < signed (m.size1 ()); ++ i)
+ for (signed j = (std::max) (i - 1, 0); j < (std::min) (i + 2, signed (m.size2 ())); ++ j)
+            m (i, j) = 3 * i + j;
+    std::cout << m << std::endl;
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/bounded_array.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/bounded_array.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,23 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/storage.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    bounded_array<double, 3> a (3);
+    for (unsigned i = 0; i < a.size (); ++ i) {
+        a [i] = i;
+        std::cout << a [i] << std::endl;
+    }
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/compressed_matrix.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/compressed_matrix.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,24 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/matrix_sparse.hpp>
+#include <boost/numeric/ublas/io.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    compressed_matrix<double> m (3, 3, 3 * 3);
+    for (unsigned i = 0; i < m.size1 (); ++ i)
+        for (unsigned j = 0; j < m.size2 (); ++ j)
+            m (i, j) = 3 * i + j;
+    std::cout << m << std::endl;
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/compressed_vector.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/compressed_vector.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,23 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/vector_sparse.hpp>
+#include <boost/numeric/ublas/io.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    compressed_vector<double> v (3, 3);
+    for (unsigned i = 0; i < v.size (); ++ i)
+        v (i) = i;
+    std::cout << v << std::endl;
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/coordinate_matrix.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/coordinate_matrix.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,24 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/matrix_sparse.hpp>
+#include <boost/numeric/ublas/io.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    coordinate_matrix<double> m (3, 3, 3 * 3);
+    for (unsigned i = 0; i < m.size1 (); ++ i)
+        for (unsigned j = 0; j < m.size2 (); ++ j)
+            m (i, j) = 3 * i + j;
+    std::cout << m << std::endl;
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/coordinate_vector.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/coordinate_vector.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,23 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/vector_sparse.hpp>
+#include <boost/numeric/ublas/io.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    coordinate_vector<double> v (3, 3);
+    for (unsigned i = 0; i < v.size (); ++ i)
+        v (i) = i;
+    std::cout << v << std::endl;
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/ex_triangular.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/ex_triangular.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,58 @@
+//          Copyright Gunter Winkler 2004 - 2009.
+// Distributed under the Boost Software License, Version 1.0.
+//    (See accompanying file LICENSE_1_0.txt or copy at
+//          http://www.boost.org/LICENSE_1_0.txt)
+
+
+#include <iostream>
+
+#include <boost/numeric/ublas/matrix.hpp>
+#include <boost/numeric/ublas/triangular.hpp>
+
+#include <boost/numeric/ublas/io.hpp>
+
+using std::cout;
+using std::endl;
+
+
+
+namespace ublas = boost::numeric::ublas;
+
+
+int main(int argc, char * argv[] ) {
+
+  ublas::matrix<double> M (3, 3);
+  for (std::size_t i=0; i < M.data().size(); ++i) { M.data()[i] = 1+i ; }
+
+  std::cout << "full         M  = " << M << "\n" ;
+
+  ublas::triangular_matrix<double, ublas::lower> L;
+  ublas::triangular_matrix<double, ublas::unit_lower> UL;
+  ublas::triangular_matrix<double, ublas::strict_lower> SL;
+
+  L  = ublas::triangular_adaptor<ublas::matrix<double>, ublas::lower> (M);
+ SL = ublas::triangular_adaptor<ublas::matrix<double>, ublas::strict_lower> (M); + UL = ublas::triangular_adaptor<ublas::matrix<double>, ublas::unit_lower> (M);
+
+  std::cout << "lower        L  = " << L << "\n"
+            << "strict lower SL = " << SL << "\n"
+            << "unit lower   UL = " << UL << "\n" ;
+
+  ublas::triangular_matrix<double, ublas::upper> U;
+  ublas::triangular_matrix<double, ublas::unit_upper> UU;
+  ublas::triangular_matrix<double, ublas::strict_upper> SU;
+
+  U =  ublas::triangular_adaptor<ublas::matrix<double>, ublas::upper> (M);
+ SU = ublas::triangular_adaptor<ublas::matrix<double>, ublas::strict_upper> (M); + UU = ublas::triangular_adaptor<ublas::matrix<double>, ublas::unit_upper> (M);
+
+  std::cout << "upper        U  = " << U << "\n"
+            << "strict upper SU = " << SU << "\n"
+            << "unit upper   UU = " << UU << "\n" ;
+
+ std::cout << "M = L + SU ? " << ((norm_inf( M - (L + SU) ) == 0.0)?"ok":"failed") << "\n"; + std::cout << "M = U + SL ? " << ((norm_inf( M - (U + SL) ) == 0.0)?"ok":"failed") << "\n";
+
+}
+
+

Added: trunk/libs/numeric/ublas/doc/samples/hermitian_adaptor.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/hermitian_adaptor.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,34 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/hermitian.hpp>
+#include <boost/numeric/ublas/io.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    matrix<std::complex<double> > m (3, 3);
+    hermitian_adaptor<matrix<std::complex<double> >, lower> hal (m);
+    for (unsigned i = 0; i < hal.size1 (); ++ i) {
+        for (unsigned j = 0; j < i; ++ j)
+            hal (i, j) = std::complex<double> (3 * i + j, 3 * i + j);
+        hal (i, i) = std::complex<double> (4 * i, 0);
+    }
+    std::cout << hal << std::endl;
+    hermitian_adaptor<matrix<std::complex<double> >, upper> hau (m);
+    for (unsigned i = 0; i < hau.size1 (); ++ i) {
+        hau (i, i) = std::complex<double> (4 * i, 0);
+        for (unsigned j = i + 1; j < hau.size2 (); ++ j)
+            hau (i, j) = std::complex<double> (3 * i + j, 3 * i + j);
+    }
+    std::cout << hau << std::endl;
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/hermitian_matrix.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/hermitian_matrix.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,33 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/hermitian.hpp>
+#include <boost/numeric/ublas/io.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    hermitian_matrix<std::complex<double>, lower> ml (3, 3);
+    for (unsigned i = 0; i < ml.size1 (); ++ i) {
+        for (unsigned j = 0; j < i; ++ j)
+            ml (i, j) = std::complex<double> (3 * i + j, 3 * i + j);
+        ml (i, i) = std::complex<double> (4 * i, 0);
+    }
+    std::cout << ml << std::endl;
+    hermitian_matrix<std::complex<double>, upper> mu (3, 3);
+    for (unsigned i = 0; i < mu.size1 (); ++ i) {
+        mu (i, i) = std::complex<double> (4 * i, 0);
+        for (unsigned j = i + 1; j < mu.size2 (); ++ j)
+            mu (i, j) = std::complex<double> (3 * i + j, 3 * i + j);
+    }
+    std::cout << mu << std::endl;
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/identity_matrix.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/identity_matrix.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,21 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/matrix.hpp>
+#include <boost/numeric/ublas/io.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    identity_matrix<double> m (3);
+    std::cout << m << std::endl;
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/map_array.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/map_array.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,24 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/storage_sparse.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    map_array<int, double> a;
+    a.reserve (3);
+    for (unsigned i = 0; i < 3; ++ i) {
+        a [i] = i;
+        std::cout << a [i] << std::endl;
+    }
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/mapped_matrix.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/mapped_matrix.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,24 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/matrix_sparse.hpp>
+#include <boost/numeric/ublas/io.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    mapped_matrix<double> m (3, 3, 3 * 3);
+    for (unsigned i = 0; i < m.size1 (); ++ i)
+        for (unsigned j = 0; j < m.size2 (); ++ j)
+            m (i, j) = 3 * i + j;
+    std::cout << m << std::endl;
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/mapped_vector.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/mapped_vector.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,23 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/vector_sparse.hpp>
+#include <boost/numeric/ublas/io.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    mapped_vector<double> v (3, 3);
+    for (unsigned i = 0; i < v.size (); ++ i)
+        v (i) = i;
+    std::cout << v << std::endl;
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/matrix.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/matrix.cpp     Tue Jun  2 01:35:23 2009
@@ -0,0 +1,24 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/matrix.hpp>
+#include <boost/numeric/ublas/io.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    matrix<double> m (3, 3);
+    for (unsigned i = 0; i < m.size1 (); ++ i)
+        for (unsigned j = 0; j < m.size2 (); ++ j)
+            m (i, j) = 3 * i + j;
+    std::cout << m << std::endl;
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/matrix_binary.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/matrix_binary.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,26 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/matrix.hpp>
+#include <boost/numeric/ublas/io.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    matrix<double> m1 (3, 3), m2 (3, 3);
+    for (unsigned i = 0; i < (std::min) (m1.size1 (), m2.size1 ()); ++ i)
+ for (unsigned j = 0; j < (std::min) (m1.size2 (), m2.size2 ()); ++ j)
+            m1 (i, j) = m2 (i, j) = 3 * i + j;
+
+    std::cout << m1 + m2 << std::endl;
+    std::cout << m1 - m2 << std::endl;
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/matrix_binary_scalar.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/matrix_binary_scalar.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,26 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/matrix.hpp>
+#include <boost/numeric/ublas/io.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    matrix<double> m (3, 3);
+    for (unsigned i = 0; i < m.size1 (); ++ i)
+        for (unsigned j = 0; j < m.size2 (); ++ j)
+            m (i, j) = 3 * i + j;
+
+    std::cout << 2.0 * m << std::endl;
+    std::cout << m * 2.0 << std::endl;
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/matrix_column.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/matrix_column.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,27 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/matrix.hpp>
+#include <boost/numeric/ublas/matrix_proxy.hpp>
+#include <boost/numeric/ublas/io.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    matrix<double> m (3, 3);
+    for (unsigned j = 0; j < m.size2 (); ++ j) {
+        matrix_column<matrix<double> > mc (m, j);
+        for (unsigned i = 0; i < mc.size (); ++ i)
+            mc (i) = 3 * i + j;
+        std::cout << mc << std::endl;
+    }
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/matrix_column_project.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/matrix_column_project.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,26 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/matrix.hpp>
+#include <boost/numeric/ublas/matrix_proxy.hpp>
+#include <boost/numeric/ublas/io.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    matrix<double> m (3, 3);
+    for (unsigned j = 0; j < m.size2 (); ++ j) {
+        for (unsigned i = 0; i < m.size1 (); ++ i)
+            column (m, j) (i) = 3 * i + j;
+        std::cout << column (m, j) << std::endl;
+    }
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/matrix_matrix_binary.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/matrix_matrix_binary.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,25 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/matrix.hpp>
+#include <boost/numeric/ublas/io.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    matrix<double> m1 (3, 3), m2 (3, 3);
+    for (unsigned i = 0; i < (std::min) (m1.size1 (), m2.size1 ()); ++ i)
+ for (unsigned j = 0; j < (std::min) (m1.size2 (), m2.size2 ()); ++ j)
+            m1 (i, j) = m2 (i, j) = 3 * i + j;
+
+    std::cout << prod (m1, m2) << std::endl;
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/matrix_matrix_solve.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/matrix_matrix_solve.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,25 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/triangular.hpp>
+#include <boost/numeric/ublas/io.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    matrix<double> m1 (3, 3), m2 (3, 3);
+    for (unsigned i = 0; i < (std::min) (m1.size1 (), m2.size1 ()); ++ i)
+        for (unsigned j = 0; j <= i; ++ j)
+            m1 (i, j) = m2 (i, j) = 3 * i + j + 1;
+
+    std::cout << solve (m1, m2, lower_tag ()) << std::endl;
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/matrix_range.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/matrix_range.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,26 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/matrix.hpp>
+#include <boost/numeric/ublas/matrix_proxy.hpp>
+#include <boost/numeric/ublas/io.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    matrix<double> m (3, 3);
+    matrix_range<matrix<double> > mr (m, range (0, 3), range (0, 3));
+    for (unsigned i = 0; i < mr.size1 (); ++ i)
+        for (unsigned j = 0; j < mr.size2 (); ++ j)
+            mr (i, j) = 3 * i + j;
+    std::cout << mr << std::endl;
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/matrix_range_project.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/matrix_range_project.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,25 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/matrix.hpp>
+#include <boost/numeric/ublas/matrix_proxy.hpp>
+#include <boost/numeric/ublas/io.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    matrix<double> m (3, 3);
+    for (unsigned i = 0; i < m.size1 (); ++ i)
+        for (unsigned j = 0; j < m.size2 (); ++ j)
+            project (m, range (0, 3), range (0, 3)) (i, j) = 3 * i + j;
+    std::cout << project (m, range (0, 3), range (0, 3)) << std::endl;
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/matrix_row.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/matrix_row.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,27 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/matrix.hpp>
+#include <boost/numeric/ublas/matrix_proxy.hpp>
+#include <boost/numeric/ublas/io.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    matrix<double> m (3, 3);
+    for (unsigned i = 0; i < m.size1 (); ++ i) {
+        matrix_row<matrix<double> > mr (m, i);
+        for (unsigned j = 0; j < mr.size (); ++ j)
+            mr (j) = 3 * i + j;
+        std::cout << mr << std::endl;
+    }
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/matrix_row_project.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/matrix_row_project.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,26 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/matrix.hpp>
+#include <boost/numeric/ublas/matrix_proxy.hpp>
+#include <boost/numeric/ublas/io.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    matrix<double> m (3, 3);
+    for (unsigned i = 0; i < m.size1 (); ++ i) {
+        for (unsigned j = 0; j < m.size2 (); ++ j)
+            row (m, i) (j) = 3 * i + j;
+        std::cout << row (m, i) << std::endl;
+    }
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/matrix_slice.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/matrix_slice.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,26 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/matrix.hpp>
+#include <boost/numeric/ublas/matrix_proxy.hpp>
+#include <boost/numeric/ublas/io.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    matrix<double> m (3, 3);
+    matrix_slice<matrix<double> > ms (m, slice (0, 1, 3), slice (0, 1, 3));
+    for (unsigned i = 0; i < ms.size1 (); ++ i)
+        for (unsigned j = 0; j < ms.size2 (); ++ j)
+            ms (i, j) = 3 * i + j;
+    std::cout << ms << std::endl;
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/matrix_slice_project.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/matrix_slice_project.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,25 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/matrix.hpp>
+#include <boost/numeric/ublas/matrix_proxy.hpp>
+#include <boost/numeric/ublas/io.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    matrix<double> m (3, 3);
+    for (unsigned i = 0; i < m.size1 (); ++ i)
+        for (unsigned j = 0; j < m.size2 (); ++ j)
+ project (m, slice (0, 1, 3), slice (0, 1, 3)) (i, j) = 3 * i + j; + std::cout << project (m, slice (0, 1, 3), slice (0, 1, 3)) << std::endl;
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/matrix_unary.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/matrix_unary.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,30 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/matrix.hpp>
+#include <boost/numeric/ublas/io.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    matrix<std::complex<double> > m (3, 3);
+    for (unsigned i = 0; i < m.size1 (); ++ i)
+        for (unsigned j = 0; j < m.size2 (); ++ j)
+            m (i, j) = std::complex<double> (3 * i + j, 3 * i + j);
+
+    std::cout << - m << std::endl;
+    std::cout << conj (m) << std::endl;
+    std::cout << real (m) << std::endl;
+    std::cout << imag (m) << std::endl;
+    std::cout << trans (m) << std::endl;
+    std::cout << herm (m) << std::endl;
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/matrix_vector_binary.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/matrix_vector_binary.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,29 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/matrix.hpp>
+#include <boost/numeric/ublas/io.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    matrix<double> m (3, 3);
+    vector<double> v (3);
+    for (unsigned i = 0; i < (std::min) (m.size1 (), v.size ()); ++ i) {
+        for (unsigned j = 0; j < m.size2 (); ++ j)
+            m (i, j) = 3 * i + j;
+        v (i) = i;
+    }
+
+    std::cout << prod (m, v) << std::endl;
+    std::cout << prod (v, m) << std::endl;
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/matrix_vector_range.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/matrix_vector_range.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,27 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/matrix.hpp>
+#include <boost/numeric/ublas/matrix_proxy.hpp>
+#include <boost/numeric/ublas/io.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    matrix<double> m (3, 3);
+    for (unsigned i = 0; i < m.size1 (); ++ i)
+        for (unsigned j = 0; j < m.size2 (); ++ j)
+            m (i, j) = 3 * i + j;
+
+ matrix_vector_range<matrix<double> > mvr (m, range (0, 3), range (0, 3));
+    std::cout << mvr << std::endl;
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/matrix_vector_slice.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/matrix_vector_slice.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,27 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/matrix.hpp>
+#include <boost/numeric/ublas/matrix_proxy.hpp>
+#include <boost/numeric/ublas/io.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    matrix<double> m (3, 3);
+    for (unsigned i = 0; i < m.size1 (); ++ i)
+        for (unsigned j = 0; j < m.size2 (); ++ j)
+            m (i, j) = 3 * i + j;
+
+ matrix_vector_slice<matrix<double> > mvs (m, slice (0, 1, 3), slice (0, 1, 3));
+    std::cout << mvs << std::endl;
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/matrix_vector_solve.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/matrix_vector_solve.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,29 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/triangular.hpp>
+#include <boost/numeric/ublas/io.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    matrix<double> m (3, 3);
+    vector<double> v (3);
+    for (unsigned i = 0; i < (std::min) (m.size1 (), v.size ()); ++ i) {
+        for (unsigned j = 0; j <= i; ++ j)
+            m (i, j) = 3 * i + j + 1;
+        v (i) = i;
+    }
+
+    std::cout << solve (m, v, lower_tag ()) << std::endl;
+    std::cout << solve (v, m, lower_tag ()) << std::endl;
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/range.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/range.cpp      Tue Jun  2 01:35:23 2009
@@ -0,0 +1,22 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/storage.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    range r (0, 3);
+    for (unsigned i = 0; i < r.size (); ++ i) {
+        std::cout << r (i) << std::endl;
+    }
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/slice.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/slice.cpp      Tue Jun  2 01:35:23 2009
@@ -0,0 +1,22 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/storage.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    slice s (0, 1, 3);
+    for (unsigned i = 0; i < s.size (); ++ i) {
+        std::cout << s (i) << std::endl;
+    }
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/symmetric_adaptor.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/symmetric_adaptor.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,30 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/symmetric.hpp>
+#include <boost/numeric/ublas/io.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    matrix<double> m (3, 3);
+    symmetric_adaptor<matrix<double>, lower> sal (m);
+    for (unsigned i = 0; i < sal.size1 (); ++ i)
+        for (unsigned j = 0; j <= i; ++ j)
+            sal (i, j) = 3 * i + j;
+    std::cout << sal << std::endl;
+    symmetric_adaptor<matrix<double>, upper> sau (m);
+    for (unsigned i = 0; i < sau.size1 (); ++ i)
+        for (unsigned j = i; j < sau.size2 (); ++ j)
+            sau (i, j) = 3 * i + j;
+    std::cout << sau << std::endl;
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/symmetric_matrix.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/symmetric_matrix.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,29 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/symmetric.hpp>
+#include <boost/numeric/ublas/io.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    symmetric_matrix<double, lower> ml (3, 3);
+    for (unsigned i = 0; i < ml.size1 (); ++ i)
+        for (unsigned j = 0; j <= i; ++ j)
+            ml (i, j) = 3 * i + j;
+    std::cout << ml << std::endl;
+    symmetric_matrix<double, upper> mu (3, 3);
+    for (unsigned i = 0; i < mu.size1 (); ++ i)
+        for (unsigned j = i; j < mu.size2 (); ++ j)
+            mu (i, j) = 3 * i + j;
+    std::cout << mu << std::endl;
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/triangular_adaptor.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/triangular_adaptor.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,30 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/triangular.hpp>
+#include <boost/numeric/ublas/io.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    matrix<double> m (3, 3);
+    triangular_adaptor<matrix<double>, lower> tal (m);
+    for (unsigned i = 0; i < tal.size1 (); ++ i)
+        for (unsigned j = 0; j <= i; ++ j)
+            tal (i, j) = 3 * i + j;
+    std::cout << tal << std::endl;
+    triangular_adaptor<matrix<double>, upper> tau (m);
+    for (unsigned i = 0; i < tau.size1 (); ++ i)
+        for (unsigned j = i; j < tau.size2 (); ++ j)
+            tau (i, j) = 3 * i + j;
+    std::cout << tau << std::endl;
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/triangular_matrix.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/triangular_matrix.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,29 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/triangular.hpp>
+#include <boost/numeric/ublas/io.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    triangular_matrix<double, lower> ml (3, 3);
+    for (unsigned i = 0; i < ml.size1 (); ++ i)
+        for (unsigned j = 0; j <= i; ++ j)
+            ml (i, j) = 3 * i + j;
+    std::cout << ml << std::endl;
+    triangular_matrix<double, upper> mu (3, 3);
+    for (unsigned i = 0; i < mu.size1 (); ++ i)
+        for (unsigned j = i; j < mu.size2 (); ++ j)
+            mu (i, j) = 3 * i + j;
+    std::cout << mu << std::endl;
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/unbounded_array.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/unbounded_array.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,23 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/storage.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    unbounded_array<double> a (3);
+    for (unsigned i = 0; i < a.size (); ++ i) {
+        a [i] = i;
+        std::cout << a [i] << std::endl;
+    }
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/unit_vector.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/unit_vector.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,23 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/vector.hpp>
+#include <boost/numeric/ublas/io.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    for (int i = 0; i < 3; ++ i) {
+        unit_vector<double> v (3, i);
+        std::cout << v << std::endl;
+    }
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/vector.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/vector.cpp     Tue Jun  2 01:35:23 2009
@@ -0,0 +1,23 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/vector.hpp>
+#include <boost/numeric/ublas/io.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    vector<double> v (3);
+    for (unsigned i = 0; i < v.size (); ++ i)
+        v (i) = i;
+    std::cout << v << std::endl;
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/vector_binary.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/vector_binary.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,25 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/vector.hpp>
+#include <boost/numeric/ublas/io.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    vector<double> v1 (3), v2 (3);
+    for (unsigned i = 0; i < (std::min) (v1.size (), v2.size ()); ++ i)
+        v1 (i) = v2 (i) = i;
+
+    std::cout << v1 + v2 << std::endl;
+    std::cout << v1 - v2 << std::endl;
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/vector_binary_outer.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/vector_binary_outer.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,24 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/matrix.hpp>
+#include <boost/numeric/ublas/io.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    vector<double> v1 (3), v2 (3);
+    for (unsigned i = 0; i < (std::min) (v1.size (), v2.size ()); ++ i)
+        v1 (i) = v2 (i) = i;
+
+    std::cout << outer_prod (v1, v2) << std::endl;
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/vector_binary_redux.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/vector_binary_redux.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,23 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/vector.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    vector<double> v1 (3), v2 (3);
+    for (unsigned i = 0; i < (std::min) (v1.size (), v2.size ()); ++ i)
+        v1 (i) = v2 (i) = i;
+
+    std::cout << inner_prod (v1, v2) << std::endl;
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/vector_binary_scalar.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/vector_binary_scalar.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,25 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/vector.hpp>
+#include <boost/numeric/ublas/io.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    vector<double> v (3);
+    for (unsigned i = 0; i < v.size (); ++ i)
+        v (i) = i;
+
+    std::cout << 2.0 * v << std::endl;
+    std::cout << v * 2.0 << std::endl;
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/vector_range.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/vector_range.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,25 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/vector.hpp>
+#include <boost/numeric/ublas/vector_proxy.hpp>
+#include <boost/numeric/ublas/io.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    vector<double> v (3);
+    vector_range<vector<double> > vr (v, range (0, 3));
+    for (unsigned i = 0; i < vr.size (); ++ i)
+        vr (i) = i;
+    std::cout << vr << std::endl;
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/vector_range_project.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/vector_range_project.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,24 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/vector.hpp>
+#include <boost/numeric/ublas/vector_proxy.hpp>
+#include <boost/numeric/ublas/io.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    vector<double> v (3);
+    for (int i = 0; i < 3; ++ i)
+        project (v, range (0, 3)) (i) = i;
+    std::cout << project (v, range (0, 3)) << std::endl;
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/vector_slice.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/vector_slice.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,25 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/vector.hpp>
+#include <boost/numeric/ublas/vector_proxy.hpp>
+#include <boost/numeric/ublas/io.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    vector<double> v (3);
+    vector_slice<vector<double> > vs (v, slice (0, 1, 3));
+    for (unsigned i = 0; i < vs.size (); ++ i)
+        vs (i) = i;
+    std::cout << vs << std::endl;
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/vector_slice_project.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/vector_slice_project.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,24 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/vector.hpp>
+#include <boost/numeric/ublas/vector_proxy.hpp>
+#include <boost/numeric/ublas/io.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    vector<double> v (3);
+    for (int i = 0; i < 3; ++ i)
+        project (v, slice (0, 1, 3)) (i) = i;
+    std::cout << project (v, slice (0, 1, 3)) << std::endl;
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/vector_unary.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/vector_unary.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,29 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/vector.hpp>
+#include <boost/numeric/ublas/io.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    vector<std::complex<double> > v (3);
+    for (unsigned i = 0; i < v.size (); ++ i)
+        v (i) = std::complex<double> (i, i);
+
+    std::cout << - v << std::endl;
+    std::cout << conj (v) << std::endl;
+    std::cout << real (v) << std::endl;
+    std::cout << imag (v) << std::endl;
+    std::cout << trans (v) << std::endl;
+    std::cout << herm (v) << std::endl;
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/vector_unary_redux.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/vector_unary_redux.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,27 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/vector.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    vector<double> v (3);
+    for (unsigned i = 0; i < v.size (); ++ i)
+        v (i) = i;
+
+    std::cout << sum (v) << std::endl;
+    std::cout << norm_1 (v) << std::endl;
+    std::cout << norm_2 (v) << std::endl;
+    std::cout << norm_inf (v) << std::endl;
+    std::cout << index_norm_inf (v) << std::endl;
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/zero_matrix.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/zero_matrix.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,21 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/matrix.hpp>
+#include <boost/numeric/ublas/io.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    zero_matrix<double> m (3, 3);
+    std::cout << m << std::endl;
+}
+

Added: trunk/libs/numeric/ublas/doc/samples/zero_vector.cpp
==============================================================================
--- (empty file)
+++ trunk/libs/numeric/ublas/doc/samples/zero_vector.cpp Tue Jun 2 01:35:23 2009
@@ -0,0 +1,21 @@
+//
+//  Copyright (c) 2000-2002
+//  Joerg Walter, Mathias Koch
+//
+//  Distributed under the Boost Software License, Version 1.0. (See
+//  accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//  The authors gratefully acknowledge the support of
+//  GeNeSys mbH & Co. KG in producing this work.
+//
+
+#include <boost/numeric/ublas/vector.hpp>
+#include <boost/numeric/ublas/io.hpp>
+
+int main () {
+    using namespace boost::numeric::ublas;
+    zero_vector<double> v (3);
+    std::cout << v << std::endl;
+}
+

Modified: trunk/libs/numeric/ublas/doc/triangular.htm
==============================================================================
--- trunk/libs/numeric/ublas/doc/triangular.htm (original)
+++ trunk/libs/numeric/ublas/doc/triangular.htm Tue Jun  2 01:35:23 2009
@@ -1,14 +1,10 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
-    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
-<html xmlns="http://www.w3.org/1999/xhtml";>
-<head>
-<meta name="generator" content=
-"HTML Tidy for Linux/x86 (vers 1st March 2004), see www.w3.org" />
-<meta http-equiv="Content-Type" content=
-"text/html; charset=UTF-8" />
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
+<html xmlns="http://www.w3.org/1999/xhtml";><head>
+<meta name="generator" content="HTML Tidy for Linux/x86 (vers 1st March 2004), see www.w3.org" />
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
 <link href="ublas.css" type="text/css" />
-<title>Triangular Matrix</title>
-</head>
+<title>Triangular Matrix</title></head>
+
 <body>
 <h1><img src="../../../../boost.png" align="middle" />
 三角矩阵(Triangular Matrix)</h1>
@@ -18,34 +14,16 @@
A&gt;</code> 是三角矩阵的基容器适配器(base container adaptor)。对于一个 <em>(n x n</em> )-维 下三角矩阵且<em>0 &lt;= i &lt; n</em>,<em>0 &lt;= j &lt; n</em> ,如果<em>i &gt; j</em>,那么满足<em>t</em><sub><em>i, j</em></sub> <em>= 0</em> 。 如果进一 步满足 holds t<sub><em>i, i</em></sub><em>= 1</em> ,那么这个矩阵称为单位下三角矩阵(unit lower triangular)。对于一个<em>(n x n</em>
-)-维上三角矩阵( upper triangular matrix)且<em>0 &lt;= i &lt;
+)-维下三角矩阵( upper triangular matrix)且<em>0 &lt;= i &lt;
n</em>,<em>0 &lt;= j &lt; n</em> ,如果<em>i &lt; j</em>,那么满足 <em>t</em><sub><em>i, j</em></sub> <em>= 0</em> 。如果进一步满足 t<sub><em>i, i</em></sub><em>= 1</em> ,那么这个矩阵称为单位上三角矩阵(
 unit lower triangular)。三角矩阵的存储是
 packed。</p>
 <h4>例子</h4>
-<pre>
-#include &lt;boost/numeric/ublas/triangular.hpp&gt;
-#include &lt;boost/numeric/ublas/io.hpp&gt;
-
-int main () {
-    using namespace boost::numeric::ublas;
-    triangular_matrix&lt;double, lower&gt; ml (3, 3);
-    for (unsigned i = 0; i &lt; ml.size1 (); ++ i)
-        for (unsigned j = 0; j &lt;= i; ++ j)
-            ml (i, j) = 3 * i + j;
-    std::cout &lt;&lt; ml &lt;&lt; std::endl;
-    triangular_matrix&lt;double, upper&gt; mu (3, 3);
-    for (unsigned i = 0; i &lt; mu.size1 (); ++ i)
-        for (unsigned j = i; j &lt; mu.size2 (); ++ j)
-            mu (i, j) = 3 * i + j;
-    std::cout &lt;&lt; mu &lt;&lt; std::endl;
-}
-</pre>
-<h4>定义</h4>
+<pre>#include &lt;boost/numeric/ublas/triangular.hpp&gt;<br />#include &lt;boost/numeric/ublas/io.hpp&gt;<br /><br />int main () {<br /> using namespace boost::numeric::ublas;<br /> triangular_matrix&lt;double, lower&gt; ml (3, 3);<br /> for (unsigned i = 0; i &lt; ml.size1 (); ++ i)<br /> for (unsigned j = 0; j &lt;= i; ++ j)<br /> ml (i, j) = 3 * i + j;<br /> std::cout &lt;&lt; ml &lt;&lt; std::endl;<br /> triangular_matrix&lt;double, upper&gt; mu (3, 3);<br /> for (unsigned i = 0; i &lt; mu.size1 (); ++ i)<br /> for (unsigned j = i; j &lt; mu.size2 (); ++ j)<br /> mu (i, j) = 3 * i + j;<br /> std::cout &lt;&lt; mu &lt;&lt; std::endl;<br />}<br /></pre>更多细节请 阅读 <a href="samples/ex_triangular.cpp">完整的 triangular 例子</a>。 &nbsp;<h4>定义</h4>
 <p>定义在头文件 triangular.hpp 中。 </p>
 <h4>模板参数</h4>
-<table border="1" summary="parameters">
+<table summary="parameters" border="1">
 <tbody>
 <tr>
 <th>参数</th>
@@ -59,20 +37,17 @@
 </tr>
 <tr>
 <td><code>F1</code></td>
-<td>用于描述三角矩阵的类型的函数对象。<a href=
-"#triangular_matrix_1">[1]</a></td>
+<td>用于描述三角矩阵的类型的函数对象。<a href="#triangular_matrix_1">[1]</a></td>
 <td><code>lower</code></td>
 </tr>
 <tr>
 <td><code>F2</code></td>
-<td>描述存储组织的函数对象。<a href=
-"#triangular_matrix_2">[2]</a></td>
+<td>描述存储组织的函数对象。<a href="#triangular_matrix_2">[2]</a></td>
 <td><code>row_major</code></td>
 </tr>
 <tr>
 <td><code>A</code></td>
-<td>适配数组(adapted array)的类型。 <a href=
-"#triangular_matrix_3">[3]</a></td>
+<td>适配数组(adapted array)的类型。 <a href="#triangular_matrix_3">[3]</a></td>
 <td><code>unbounded_array&lt;T&gt;</code></td>
 </tr>
 </tbody>
@@ -80,13 +55,12 @@
 <h4>模型(Model of)</h4>
 <p><a href="container_concept.htm#matrix">矩阵(Matrix)</a> 。 </p>
 <h4>类型要求(Type requirements)</h4>
-<p>没有,除了由<a href=
-"container_concept.htm#matrix">矩阵(Matrix)</a> 所施加的类型要求。 </p>
+<p>没有,除了由<a href="container_concept.htm#matrix">矩阵(Matrix)</a> 所施 加的类型要求。 </p>
 <h4>公有基类(Public base classes)</h4>
 <p><code>matrix_container&lt;triangular_matrix&lt;T, F1, F2, A&gt;
 &gt;</code></p>
 <h4>成员</h4>
-<table border="1" summary="members">
+<table summary="members" border="1">
 <tbody>
 <tr>
 <th>成员</th>
@@ -292,29 +266,11 @@
 <p>模板类<code>triangular_adaptor&lt;M, F&gt;</code>
 是其它的矩阵的三角形矩阵适配器(triangular matrix adaptor)。</p>
 <h4>例子</h4>
-<pre>
-#include &lt;boost/numeric/ublas/triangular.hpp&gt;
-#include &lt;boost/numeric/ublas/io.hpp&gt;
-
-int main () {
-    using namespace boost::numeric::ublas;
-    matrix&lt;double&gt; m (3, 3);
-    triangular_adaptor&lt;matrix&lt;double&gt;, lower&gt; tal (m);
-    for (unsigned i = 0; i &lt; tal.size1 (); ++ i)
-        for (unsigned j = 0; j &lt;= i; ++ j)
-            tal (i, j) = 3 * i + j;
-    std::cout &lt;&lt; tal &lt;&lt; std::endl;
-    triangular_adaptor&lt;matrix&lt;double&gt;, upper&gt; tau (m);
-    for (unsigned i = 0; i &lt; tau.size1 (); ++ i)
-        for (unsigned j = i; j &lt; tau.size2 (); ++ j)
-            tau (i, j) = 3 * i + j;
-    std::cout &lt;&lt; tau &lt;&lt; std::endl;
-}
-</pre>
+<pre>#include &lt;boost/numeric/ublas/triangular.hpp&gt;<br />#include &lt;boost/numeric/ublas/io.hpp&gt;<br /><br />int main () {<br /> using namespace boost::numeric::ublas;<br /> matrix&lt;double&gt; m (3, 3);<br /> triangular_adaptor&lt;matrix&lt;double&gt;, lower&gt; tal (m);<br /> for (unsigned i = 0; i &lt; tal.size1 (); ++ i)<br /> for (unsigned j = 0; j &lt;= i; ++ j)<br /> tal (i, j) = 3 * i + j;<br /> std::cout &lt;&lt; tal &lt;&lt; std::endl;<br /> triangular_adaptor&lt;matrix&lt;double&gt;, upper&gt; tau (m);<br /> for (unsigned i = 0; i &lt; tau.size1 (); ++ i)<br /> for (unsigned j = i; j &lt; tau.size2 (); ++ j)<br /> tau (i, j) = 3 * i + j;<br /> std::cout &lt;&lt; tau &lt;&lt; std::endl;<br />}<br /><br />更多细节 请阅读 <a href="samples/ex_triangular.cpp">完整的 triangular 例子</a>。 &nbsp;</pre>
 <h4>定义</h4>
 <p>定义在头文件 triangular.hpp 中。</p>
 <h4>模板参数</h4>
-<table border="1" summary="parameters">
+<table summary="parameters" border="1">
 <tbody>
 <tr>
 <th>参数</th>
@@ -328,8 +284,7 @@
 </tr>
 <tr>
 <td><code>F</code></td>
-<td>用于描述三角适配器(triangular adaptor)类型的函数对象。 <a href=
-"#triangular_adaptor_1">[1]</a></td>
+<td>用于描述三角适配器(triangular adaptor)类型的函数对象。 <a href="#triangular_adaptor_1">[1]</a></td>
 <td><code>lower</code></td>
 </tr>
 </tbody>
@@ -338,13 +293,12 @@
<p><a href="expression_concept.htm#matrix_expression">矩阵表达式(Matrix Expression)</a> 。
 </p>
 <h4>类型要求(Type requirements)</h4>
-<p>没有,除了由<a href=
-"expression_concept.htm#matrix_expression">矩阵表达式(Matrix Expression)</a> 所施加的类型要求。 </p> +<p>没有,除了由<a href="expression_concept.htm#matrix_expression">矩阵表达 式(Matrix Expression)</a> 所施加的类型要求。 </p>
 <h4>公有基类(Public base classes)</h4>
 <p><code>matrix_expression&lt;triangular_adaptor&lt;M, F&gt;
 &gt;</code></p>
 <h4>成员</h4>
-<table border="1" summary="members">
+<table summary="members" border="1">
 <tbody>
 <tr>
 <th>成员</th>
@@ -516,7 +470,7 @@
 <code>lower</code> , <code>unit_lower</code>, <code>upper</code> 和
 <code>unit_upper</code> 。 </p>
 <hr />
-<p>Copyright (&copy;) 2000-2002 Joerg Walter, Mathias Koch<br />
+<p>Copyright (©) 2000-2002 Joerg Walter, Mathias Koch<br />
    Use, modification and distribution are subject to the
    Boost Software License, Version 1.0.
    (See accompanying file LICENSE_1_0.txt
@@ -524,5 +478,4 @@
       http://www.boost.org/LICENSE_1_0.txt
    </a>).
 </p>
-</body>
-</html>
+</body></html>
\ No newline at end of file

Modified: trunk/libs/random/index.html
==============================================================================
--- trunk/libs/random/index.html        (original)
+++ trunk/libs/random/index.html        Tue Jun  2 01:35:23 2009
@@ -1,34 +1,26 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-
-<html>
-<head>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">

-  <title>Boost 随机数库</title>
-</head>
+  <title>Boost 随机数库</title></head>
+

-<body bgcolor="#FFFFFF" text="#000000">
-  <table border="1" bgcolor="#007F7F" cellpadding="2" summary="">
-    <tr>
-      <td bgcolor="#FFFFFF"><img src="../../boost.png" alt=
-      "boost.png (6897 bytes)" width="277" height="86"></td>
+<body bgcolor="#ffffff" text="#000000">
+  <table summary="" bgcolor="#007f7f" border="1" cellpadding="2">
+    <tbody><tr>
+ <td bgcolor="#ffffff"><img src="../../boost.png" alt="boost.png (6897 bytes)" height="86" width="277"></td>

-      <td><a href="../../index.htm"><font face="Arial,Helvetica" color=
-      "#FFFFFF"><big>Home</big></font></a></td>
+ <td><a href="../../index.htm"><font color="#ffffff" face="Arial,Helvetica"><big>Home</big></font></a></td>

-      <td><a href="../libraries.htm"><font face="Arial,Helvetica" color=
-      "#FFFFFF"><big>Libraries</big></font></a></td>
+ <td><a href="../libraries.htm"><font color="#ffffff" face="Arial,Helvetica"><big>Libraries</big></font></a></td>

- <td><a href="http://www.boost.org/people/people.htm";><font face="Arial,Helvetica"
-      color="#FFFFFF"><big>People</big></font></a></td>
+ <td><a href="http://www.boost.org/people/people.htm";><font color="#ffffff" face="Arial,Helvetica"><big>People</big></font></a></td>

- <td><a href="http://www.boost.org/more/faq.htm";><font face="Arial,Helvetica" color=
-      "#FFFFFF"><big>FAQ</big></font></a></td>
+ <td><a href="http://www.boost.org/more/faq.htm";><font color="#ffffff" face="Arial,Helvetica"><big>FAQ</big></font></a></td>

- <td><a href="../../more/index.htm"><font face="Arial,Helvetica" color=
-      "#FFFFFF"><big>More</big></font></a></td>
+ <td><a href="../../more/index.htm"><font color="#ffffff" face="Arial,Helvetica"><big>More</big></font></a></td>
     </tr>
-  </table>
+  </tbody></table>

   <h1>Boost 随机数库</h1>

@@ -38,85 +30,58 @@
<p>请先阅读 <a href="random-concepts.html">概念文档</a>,熟悉一下基本概 念。如果你想要尽快开始,不妨看看 <a href="random_demo.cpp">random_demo.cpp</a>。</p>

   <p>下面提供一个例子:</p>
-  <pre>
- boost::mt19937 rng; // produces randomness out of thin air - // see pseudo-random number generators - boost::uniform_int&lt;&gt; six(1,6) // distribution that maps to 1..6
-                                      // see random number distributions
- boost::variate_generator&lt;boost::mt19937&amp;, boost::uniform_int&lt;&gt; &gt;
-           die(rng, six);             // glues randomness with mapping
-  int x = die();                      // simulate rolling a die
-  </pre>
+ <pre> boost::mt19937 rng; // produces randomness out of thin air<br> // see pseudo-random number generators<br> boost::uniform_int&lt;&gt; six(1,6); // distribution that maps to 1..6<br> // see random number distributions<br> boost::variate_generator&lt;boost::mt19937&amp;, boost::uniform_int&lt;&gt; &gt;<br> die(rng, six); // glues randomness with mapping<br> int x = die(); // simulate rolling a die<br> </pre>

   <h2>库的组织</h2>

<p>本库被分成了数个头文件,全部存放在 <code>boost/random/</code>。此 外,<code><a href="../../boost/random.hpp">boost/random.hpp</a></code> 包含 了 <code>boost/random/</code> 中的所有头文件。</p>

- <p>本库提供了一个前端类模板,<code>variate_generate</code>;请阅读其 <a href="random-variate.html">文档</a>。</p> + <p>本库提供了一个前端类模板,<code>variate_generator</code>;请阅读其 <a href="random-variate.html">文档</a>。</p>

   <ul>
-    <li><code><a href=
-    
"../../boost/random/variate_generator.hpp">boost/random/variate_generator.hpp</a></code></li>
+ <li><code><a href="../../boost/random/variate_generator.hpp">boost/random/variate_generator.hpp</a></code></li>
   </ul>
以下头文件中提供了数个随机数生成器,请阅读其 <a href="random-generators.html">文档</a>。

   <ul>
-    <li><code><a href=
-    
"../../boost/random/linear_congruential.hpp">boost/random/linear_congruential.hpp</a></code></li>
+ <li><code><a href="../../boost/random/linear_congruential.hpp">boost/random/linear_congruential.hpp</a></code></li>

-    <li><code><a href=
-    
"../../boost/random/additive_combine.hpp">boost/random/additive_combine.hpp</a></code></li>
+ <li><code><a href="../../boost/random/additive_combine.hpp">boost/random/additive_combine.hpp</a></code></li>

-    <li><code><a href=
-    
"../../boost/random/inversive_congruential.hpp">boost/random/inversive_congruential.hpp</a></code></li>
+ <li><code><a href="../../boost/random/inversive_congruential.hpp">boost/random/inversive_congruential.hpp</a></code></li>

-    <li><code><a href=
-    
"../../boost/random/shuffle_output.hpp">boost/random/shuffle_output.hpp</a></code></li>
+ <li><code><a href="../../boost/random/shuffle_output.hpp">boost/random/shuffle_output.hpp</a></code></li>

-    <li><code><a href=
-    
"../../boost/random/mersenne_twister.hpp">boost/random/mersenne_twister.hpp</a></code></li>
+ <li><code><a href="../../boost/random/mersenne_twister.hpp">boost/random/mersenne_twister.hpp</a></code></li>

-    <li><code><a href=
-    
"../../boost/random/lagged_fibonacci.hpp">boost/random/lagged_fibonacci.hpp</a></code></li>
+ <li><code><a href="../../boost/random/lagged_fibonacci.hpp">boost/random/lagged_fibonacci.hpp</a></code></li>
   </ul>
类似地,以下头文件中提供了数个随机分布;请阅读其 <a href="random-distributions.html">文档</a>。

   <ul>
-    <li><code><a href=
-    
"../../boost/random/uniform_smallint.hpp">boost/random/uniform_smallint.hpp</a></code></li>
+ <li><code><a href="../../boost/random/uniform_smallint.hpp">boost/random/uniform_smallint.hpp</a></code></li>

-    <li><code><a href=
-    
"../../boost/random/uniform_int.hpp">boost/random/uniform_int.hpp</a></code></li>
+ <li><code><a href="../../boost/random/uniform_int.hpp">boost/random/uniform_int.hpp</a></code></li>

-    <li><code><a href=
-    
"../../boost/random/uniform_01.hpp">boost/random/uniform_01.hpp</a></code></li>
+ <li><code><a href="../../boost/random/uniform_01.hpp">boost/random/uniform_01.hpp</a></code></li>

-    <li><code><a href=
-    
"../../boost/random/uniform_real.hpp">boost/random/uniform_real.hpp</a></code></li>
+ <li><code><a href="../../boost/random/uniform_real.hpp">boost/random/uniform_real.hpp</a></code></li>

-    <li><code><a href=
-    
"../../boost/random/triangle_distribution.hpp">boost/random/triangle_distribution.hpp</a></code></li>
+ <li><code><a href="../../boost/random/triangle_distribution.hpp">boost/random/triangle_distribution.hpp</a></code></li>

-    <li><code><a href=
-    
"../../boost/random/bernoulli_distribution.hpp">boost/random/bernoulli_distribution.hpp</a></code></li>
+ <li><code><a href="../../boost/random/bernoulli_distribution.hpp">boost/random/bernoulli_distribution.hpp</a></code></li>

-    <li><code><a href=
-    
"../../boost/random/cauchy_distribution.hpp">boost/random/cauchy_distribution.hpp</a></code></li>
+ <li><code><a href="../../boost/random/cauchy_distribution.hpp">boost/random/cauchy_distribution.hpp</a></code></li>

-    <li><code><a href=
-    
"../../boost/random/exponential_distribution.hpp">boost/random/exponential_distribution.hpp</a></code></li>
+ <li><code><a href="../../boost/random/exponential_distribution.hpp">boost/random/exponential_distribution.hpp</a></code></li>

-    <li><code><a href=
-    
"../../boost/random/geometric_distribution.hpp">boost/random/geometric_distribution.hpp</a></code></li>
+ <li><code><a href="../../boost/random/geometric_distribution.hpp">boost/random/geometric_distribution.hpp</a></code></li>

-    <li><code><a href=
-    
"../../boost/random/normal_distribution.hpp">boost/random/normal_distribution.hpp</a></code></li>
+ <li><code><a href="../../boost/random/normal_distribution.hpp">boost/random/normal_distribution.hpp</a></code></li>

-    <li><code><a href=
-    
"../../boost/random/lognormal_distribution.hpp">boost/random/lognormal_distribution.hpp</a></code></li>
+ <li><code><a href="../../boost/random/lognormal_distribution.hpp">boost/random/lognormal_distribution.hpp</a></code></li>

-    <li><code><a href=
-    
"../../boost/random/uniform_on_sphere.hpp">boost/random/uniform_on_sphere.hpp</a></code></li>
+ <li><code><a href="../../boost/random/uniform_on_sphere.hpp">boost/random/uniform_on_sphere.hpp</a></code></li>
   </ul>
此外,头文件 <code><a href="../../boost/nondet_random.hpp"> &lt;boost/nondet_random.hpp&gt;</a></code> 中提供了不确定的随机数生成器;请 阅读其 <a href="nondet_random.html">文档</a>。

@@ -146,25 +111,20 @@
Matthias Troyer 贡献了一个 lagged-Fibonacci 算法的生成器。Michael Stevens 发现了 normal_distribution 复制语义中的 bug,并对文档改进提出了若干 建议。</p>
   <hr>

- <p><a href="http://validator.w3.org/check?uri=referer";><img border="0" src= - "http://www.w3.org/Icons/valid-html401"; alt="Valid HTML 4.01 Transitional"
-  height="31" width="88"></a></p>
+ <p><a href="http://validator.w3.org/check?uri=referer";><img src="http://www.w3.org/Icons/valid-html401"; alt="Valid HTML 4.01 Transitional" border="0" height="31" width="88"></a></p>

   <p>Revised
<!--webbot bot="Timestamp" s-type="EDITED" s-format="%d %B, %Y" startspan -->05 December, 2006<!--webbot bot="Timestamp" endspan i-checksum="38516" --></p>

-  <p><i>Copyright &copy; 2000-2005 <a href=
-  "http://www.boost.org/people/jens_maurer.htm";>Jens Maurer</a></i></p>
+ <p><i>Copyright © 2000-2005 <a href="http://www.boost.org/people/jens_maurer.htm";>Jens Maurer</a></i></p>

   <p><i>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>)</i></p>
+ copy at <a href="http://www.boost.org/LICENSE_1_0.txt";>http://www.boost.org/LICENSE_1_0.txt</a>)</i></p>
   <p>中文版修订:2009/1/21</p>

- <p><i>Copyright &copy; 2008 <a href="http://wiki.woodpecker.org.cn/moin/XiaoQi";>xiaq</a></i></p> + <p><i>Copyright © 2008 <a href="http://wiki.woodpecker.org.cn/moin/XiaoQi";>xiaq</a></i></p>

<p><i>在 Boost Software License, Version 1.0 的条款下发布。(参看文件 <a href="../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> 或在线副本 <a href="http://www.boost.org/LICENSE_1_0.txt";> http://www.boost.org/LICENSE_1_0.txt</a>)</i></p>
-</body>
-</html>
+</body></html>
\ No newline at end of file

Modified: trunk/libs/serialization/doc/contents.html
==============================================================================
--- trunk/libs/serialization/doc/contents.html  (original)
+++ trunk/libs/serialization/doc/contents.html  Tue Jun  2 01:35:23 2009
@@ -469,7 +469,8 @@
 </div>
 </dd>
<!-- <dt><img style="display:none" src="dot.gif"><a target="detail" href="configuration.html">Configuration Information</a></dt> --> -<dt><img style="display: none;" src="plus.gif" id="rationale"><a target="detail" href="rationale.html">原理</a></dt> +<dt><img style="display: none;" src="dot.gif"><a target="detail" href="faq.html">Tips and Tricks</a> + </dt><dt><img style="display: none;" src="plus.gif" id="rationale"><a target="detail" href="rationale.html">原理</a></dt>
 <dd>
 <div id="rationale_detail">
 <dl class="page-index">

Modified: trunk/libs/serialization/doc/exceptions.html
==============================================================================
--- trunk/libs/serialization/doc/exceptions.html        (original)
+++ trunk/libs/serialization/doc/exceptions.html        Tue Jun  2 01:35:23 2009
@@ -29,7 +29,6 @@


   <title>Serialization - Archive Exceptions</title></head>
-
 <body link="#0000ff" vlink="#800080">


@@ -104,7 +103,7 @@
   </dt>


- <dt><a href="#pointer_conflict"><code style="white-space: normal;">pointer_conflict</code></a> + <dt><a href="#unsupported_class_version"><code style="white-space: normal;">unsupported_class_version</code></a><a href="#pointer_conflict"><code style="white-space: normal;"></code></a></dt><dt><a href="#pointer_conflict"><code style="white-space: normal;">pointer_conflict</code></a>
   </dt>


@@ -147,7 +146,7 @@

存档的操作可以抛出一个 <code style="white-space: normal;">boost::archive_exception</code> 对象,该异常可以被应用程序捕获。这些异常定义在文件 <a href="../../../boost/archive/archive_exception.hpp" target="archive_exception_hpp">archive_exception.hpp</a> 和 <a href="../../../boost/archive/basic_xml_archive.hpp" target="basic_xml_archive_hpp">basic_xml_archive.hpp</a> 中。 -<pre><code><br>namespace boost {<br>namespace archive {<br><br>class archive_exception : public std::exception<br>{<br>public:<br> typedef enum {<br> unregistered_class, // 试图序列化一个未注册类型的指针 <br> invalid_signature, // 存档的第一行未包含所要的字符串 <br> unsupported_version, // 存档是以目前版本以后的库所创建 <br> pointer_conflict // 在已经通过指针序列化了一个对象之 后,试图直接序列化同一<br> // </code><code>个 对象。</code><code>如果允许如此,则导入该存档会导致创建多余的对象 <br> incompatible_native_format, // 试图在不兼容的平台上读入原生二进 制格式<br> array_size_too_short, // 正在导入的数组不能装入已分配的 数组空间<br> stream_error // 流发生 i/o 错误<br> invalid_class_name, // 类名超出允许的最大值,可能是存档被破坏,或者病毒 引起的<br> // 缓冲区溢出<br> unregistered_cast // 基类 - 派生类关系未通过 void_cast_register 注册 <br> } exception_code;<br> exception_code code;<br> archive_exception(exception_code c) : code(c) {}<br> virtual const char *what( ) const throw();<br>};<br><br>class xml_archive_exception : public virtual archive_exception<br>{<br>public:<br> typedef enum {<br> xml_archive_parsing_error, // 存档未包含所要的数据<br> xml_archive_tag_mismatch, // 存档中的开始/结束标志与程序不匹配<br> xml_archive_tag_name_error // 标志名包含无效字符<br><br> } exception_code;<br> xml_archive_exception(exception_code c){}<br> virtual const char *what( ) const throw();<br>};<br><br>} // archive<br>} // boost<br></code></pre> +<pre><code><br>namespace boost {<br>namespace archive {<br><br>class archive_exception : public std::exception<br>{<br>public:<br> typedef enum {<br> unregistered_class, // 试图序列化一个未注册类型的指针 <br> invalid_signature, // 存档的第一行未包含所要的字符串 <br> unsupported_version, // 存档是以目前版本以后的库所创建 <br> pointer_conflict, // 在已经通过指针序列化了一个对象之 后,试图直接序列化同一<br> // </code><code>个 对象。</code><code>如果允许如此,则导入该存档会导致创建多余的对象 <br> incompatible_native_format, // 试图在不兼容的平台上读入原生二进 制格式<br> array_size_too_short, // 正在导入的数组不能装入已分配的 数组空间<br> stream_error, // 流发生 i/o 错误<br> invalid_class_name, // 类名超出允许的最大值,可能是存档被破坏,或者病毒 引起的<br> // 缓冲区溢出<br> unregistered_cast, // 基类 - 派生类关系未通过 void_cast_register 注册 <br></code> unsupported_class_version // 保存的类型所带的版本号比程序 所使用的更高。这表示该程序需要重建。<br><code> } exception_code;<br> exception_code code;<br> archive_exception(exception_code c) : code(c) {}<br> virtual const char *what( ) const throw();<br>};<br><br>class xml_archive_exception : public virtual archive_exception<br>{<br>public:<br> typedef enum {<br> xml_archive_parsing_error, // 存档未包含所要的数据<br> xml_archive_tag_mismatch, // 存档中的开始/结束标志与程序不匹配<br> xml_archive_tag_name_error // 标志名包含无效字符<br><br> } exception_code;<br> xml_archive_exception(exception_code c){}<br> virtual const char *what( ) const throw();<br>};<br><br>} // archive<br>} // boost<br></code></pre>



@@ -163,7 +162,7 @@
存档是以一个已知的字符串来初始化的。如果在打开存档时找不到这个字符串,系统 就假设该文件不是一个有效的存档,且抛出该异常。

<h3><a name="unsupported_version"><code style="white-space: normal;">unsupported_version</code></a></h3> -本系统为所有创建的存档赋予版本号2。注意,这与应用程序所使用的类的版本号毫无 关系。这只表示用于创建存档的序列化系统的版本。该序列化系统的未来版本 +本系统为所有创建的存档赋予版本号3。注意,这与应用程序所使用的类的版本号毫无 关系。这只表示用于创建存档的序列化系统的版本。该序列化系统的未来版本 可以识别旧版本(如当前这个版本)所创建的存档,从而修正导入的过程。因此,本序 列化系统未来的增强版本不会使得已有存档文件荒废。当新系统创建的存档格
 式与当前的不兼容时,只需要递增版本号就可以了。
 <p>如果出现旧程序试图读入格式已改变的新存档,则抛出该异常。
@@ -171,7 +170,7 @@
 </p>


-<h3><a name="pointer_conflict"><code style="white-space: normal;">pointer_conflict</code></a></h3> +<h3><a name="unsupported_class_version"><code style="white-space: normal;">unsupported_class_version</code></a></h3>试图导入一个类,而它的版本 从该程序写完以后已经发生了递增。假设某个类被赋予版本号3,而程序也已构建好并 发给第三方。假设现在这个类的定义被修改了,其版本号递增至4,并且构建了新的存 档。如果有人试图用旧的程序导入新的存档,就会抛出这个异常。 <h3><a name="pointer_conflict"><code style="white-space: normal;">pointer_conflict</code></a></h3>
 为了理解这个异常的含义,请考虑以下情形:
 <pre><code>
 template&lt;class Archive&gt;

Modified: trunk/libs/serialization/doc/faq.html
==============================================================================
--- trunk/libs/serialization/doc/faq.html       (original)
+++ trunk/libs/serialization/doc/faq.html       Tue Jun  2 01:35:23 2009
@@ -1,17 +1,40 @@
-<!doctype HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd";>
-<html>
-<!--
-(C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com .
-Use, modification and distribution is subject to the Boost Software
-License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
-http://www.boost.org/LICENSE_1_0.txt)
--->
-<head>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd";>
+<html><head>
+<!-- (C) Copyright 2002-4 Robert Ramey - http://www.rrsd.com . Use, modification and distribution is subject to the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -->
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
 <link rel="stylesheet" type="text/css" href="../../../boost.css">
-<link rel="stylesheet" type="text/css" href="style.css">
-<title>Serialization - FAQ</title>
+<link rel="stylesheet" type="text/css" href="style.css"><title>Serialization - Tips and Tricks</title>
+
 </head>
+
+
 <body link="#0000ff" vlink="#800080">
-</body>
-</html>
+<table summary="header" border="0" cellpadding="7" cellspacing="0" width="100%">
+<tbody>
+<tr>
+<td valign="top" width="300">
+<h3> <a href="../../../index.htm"> <img alt="C++ Boost" src="../../../boost.png" border="0" height="86" width="277"></a></h3>
+</td>
+<td valign="top">
+<h1 align="center"> Serialization</h1>
+<h2 align="center"> Tips and Tricks</h2>
+</td>
+</tr>
+</tbody>
+</table>
+<hr>本节用于列出在邮件列表中提出的问题的答案。它们中的多数是由于本库中的一 些微妙的地方,虽然它们也已在文档中有所描述,但易被忽
+视。通常,这些问题都很容易解决 -
+但是找到它们却可能很难。如果你有过这样的经验,请随时以建设性的方式将不满表 达出来,加入你自己的问题条项。最好的方法是,创建一个 <a href="http://svn.boost.org/trac/boost/browser";>"TRAK" 项</a>,
+其中包括你想添加到本列表中的文字。
+<ul>
+<li>
+<h4> <a name="differences_1_37"></a>Differences
+from Boost 1.37<br>与Boost 1.37的差异</h4>
+</li>
+</ul>
+<hr>
+<p> <i>© Copyright <a href="http://www.rrsd.com";>Robert
+Ramey</a> 2002-2009. Distributed under the Boost Software
+License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
+http://www.boost.org/LICENSE_1_0.txt) </i> </p>
+</body></html>
\ No newline at end of file

Modified: trunk/libs/serialization/doc/release.html
==============================================================================
--- trunk/libs/serialization/doc/release.html   (original)
+++ trunk/libs/serialization/doc/release.html   Tue Jun  2 01:35:23 2009
@@ -47,7 +47,8 @@
the directory which contains the version of spirit you plan to use is placed
 at the front of the list of include paths.
 -->
-<h2><a name="differences_1_36"></a>与 Boost 1.36 的差别</h2>该版本中没有新 的特性。编写本文时,所有标记为 TRAK +<h2><a name="differences_1_37"></a>与 Boost 1.37 的差别</h2>在本版本中没有 新的特性。在编写本文档时,所有以 TRAK +条目报告的缺陷都已解决。有一些悬而未决的 TRAK 条目最好应该描述为特性请求。 请见 <a href="#todo">遗留问题</a>。 <h2><a name="differences_1_36"></a>与 Boost 1.36 的差别</h2>该版本中没有新的特性。编写本文时,所有标记为 TRAK
 tickets 的缺陷都已解决。

 <h2><a name="differences_1_35"></a>与 Boost 1.35 的差别</h2>
@@ -89,14 +90,14 @@
 </li><li>修正了多个 bug。</li></ul>

 <h2><a name="todo"></a>遗留问题</h2>
-<ul><li>指针的指针目前还不能进行序列化。 </li><li>目前还不能通过指针序列化 一个类的对象,如果该类实现了它自己的 <code style="white-space: normal;">new/delete</code> 操作符。 +<ul><li>右值不能被序列化。可以对非跟踪类型实现这一点,但目前尚未实现。 </li><li>指针的指针目前还不能进行序列化。 </li><li>目前还不能通过指针序列化 一个类的对象,如果该类实现了它自己的 <code style="white-space: normal;">new/delete</code> 操作符。 </li><li>包含特殊字符如 '\0' 的 <code style="white-space: normal;">std::string</code> 和 <code style="white-space: normal;">std::wstring</code> 不能序列化为 XML,如果没有一个转义机制。目前还没有实现这样的转义机制。<code style="white-space: normal;"></code> </li><li>在这个版本中,修正了实现 <code style="white-space: normal;">std::map</code> 序列化的一个微妙的错误。但是不幸的是,这个修正使得那些不支持模板偏特化的编 译器无法编译 <code style="white-space: normal;">std::map</code> 的序列化。
 </li></ul>
<p>除了以上所说的以外,还有一些与特定平台相关的问题。它们在 <a href="implementation.html#othercompilerissues">特定编译器/库的问题</a> 中列 出。</p><hr>
-<p><i>© Copyright <a href="http://www.rrsd.com";>Robert Ramey</a> 2002-2007.
+<p><i>© Copyright <a href="http://www.rrsd.com";>Robert Ramey</a> 2002-2009.
 Distributed under the Boost Software License, Version 1.0. (See
accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
 </i></p>

Added: trunk/libs/smart_ptr/make_shared.html
==============================================================================
--- (empty file)
+++ trunk/libs/smart_ptr/make_shared.html       Tue Jun  2 01:35:23 2009
@@ -0,0 +1,47 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head>
+               
+ <title>make_shared and allocate_shared</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head>
+
+       <body bgcolor="#ffffff" text="#000000">
+ <h1><a href="../../index.htm"><img alt="boost.png (6897 bytes)" src="../../boost.png" align="middle" border="0" height="86" width="277"></a>make_shared 和 allocate_shared 函数模板</h1>
+               <p><a href="#Introduction">Introduction 简介</a><br>
+                       <a href="#Synopsis">Synopsis 摘要</a><br>
+                       <a href="#functions">Free Functions 自由函数</a><br>
+                       <a href="#example">Example 示例</a><br>
+               </p><h2><a name="Introduction">Introduction 简介</a></h2>
+               <p>使用 <a href="shared_ptr.htm"><code>shared_ptr</code></a>
+ 可以消除对显式 <code>delete</code> 的使用,但是它没有提供避免显式 <code>new</code> 的支持。有用户反复地要求提供一个工厂函数,用于创建给定类型 的对象并返回一个指向它的 <code>shared_ptr</code>. + 除了方便使用和保持风格以外,这样的函数还具有异常安全性且明显更快,因为它 可以对对象和相应的控制块两者同时使用单次的内存分配,以消除 + <code>shared_ptr</code> 的构造过程中最大的一部分开销。这消除了对于 <code>shared_ptr</code> 的一个主要的抱怨。
+               </p>
+ <p>头文件 &lt;boost/make_shared.hpp&gt; 提供了一组重载的函数模 板,<code>make_shared</code> 和 <code>allocate_shared</code>, 它们解决了这些 需要。<code>make_shared</code> 使用全局的 operator <code>new</code> 来分配内 存,而 <code>allocate_shared</code> 则使用用户所提供的分配器,可以更好地进行 控制。</p>
+               <p>选择 <code>make_shared</code> 这个名字的原因是,表达式
+ <code>make_shared&lt;Widget&gt;()</code> 可以大声地读出来,并且传达了准 确的意义。</p>
+               <h2><a name="Synopsis">Synopsis 摘要</a></h2>
+ <pre>namespace boost {<br><br> template&lt;typename T&gt; class shared_ptr;<br><br> template&lt;typename T&gt;<br> shared_ptr&lt;T&gt; <a href="#functions">make_shared</a>();<br><br> template&lt;typename T, typename A&gt;<br> shared_ptr&lt;T&gt; <a href="#functions">allocate_shared</a>( A const &amp; );<br><br>#if defined( BOOST_HAS_VARIADIC_TMPL ) &amp;&amp; defined( BOOST_HAS_RVALUE_REFS ) // C++0x prototypes<br><br> template&lt;typename T, typename... Args&gt;<br> shared_ptr&lt;T&gt; <a href="#functions">make_shared</a>( Args &amp;&amp; ... args );<br><br> template&lt;typename T, typename A, typename... Args&gt;<br> shared_ptr&lt;T&gt; <a href="#functions">allocate_shared</a>( A const &amp; a, Args &amp;&amp; ... args );<br><br>#else // no C++0X support<br><br> template&lt;typename T, typename Arg1 &gt;<br> shared_ptr&lt;T&gt; <a href="#functions">make_shared</a>( Arg1 const &amp; arg1 );<br> template&lt;typename T, typename Arg1, typename Arg2 &gt;<br> shared_ptr&lt;T&gt; <a href="#functions">make_shared</a>( Arg1 const &amp; arg1, Arg2 const &amp; arg2 );<br>// ...<br> template&lt;typename T, typename Arg1, typename Arg2, ..., typename ArgN &gt;<br> shared_ptr&lt;T&gt; <a href="#functions">make_shared</a>( Arg1 const &amp; arg1, Arg2 const &amp; arg2, ..., ArgN const &amp; argN );<br><br> template&lt;typename T, typename A, typename Arg1 &gt;<br> shared_ptr&lt;T&gt; <a href="#functions">allocate_shared</a>( A const &amp; a, Arg1 const &amp; arg1 );<br> template&lt;typename T, typename A, typename Arg1, typename Arg2 &gt;<br> shared_ptr&lt;T&gt; <a href="#functions">allocate_shared</a>( Arg1 const &amp; arg1, Arg2 const &amp; arg2 );<br>// ...<br> template&lt;typename T, typename A, typename Arg1, typename Arg2, ..., typename ArgN &gt;<br> shared_ptr&lt;T&gt; <a href="#functions">allocate_shared</a>( A const &amp; a, Arg1 const &amp; arg1, Arg2 const &amp; arg2, ..., ArgN const &amp; argN );<br><br>#endif<br>}</pre>
+               <h2><a name="functions">Free Functions 自由函数</a></h2>
+ <pre>template&lt;class T, class... Args&gt;<br> shared_ptr&lt;T&gt; make_shared( Args &amp;&amp; ... args );<br>template&lt;class T, class A, class... Args&gt;<br> shared_ptr&lt;T&gt; allocate_shared( A const &amp; a, Args &amp;&amp; ... args );</pre>
+               <blockquote>
+ <p><b>要求:</b>表达式 <code>new( pv ) T( std::forward&lt;Args&gt;(args)... )</code> 是良好定义的,其中 <code>pv</code> 是一个 <code>void*</code>,指向适合保存一个类型为 <code>T</code> 的对象的一块内存<span style="font-family: monospace;">。 </span><code>A</code> 应该是一个<em>分配器</em>,符合在C++标准的第20.1.5节 (分配器要求<stong>)中的描述。<code>A</code> 的复制构造函数和析构函数不能抛 出。</stong></p>
+                       <p><b>效果:</b>分配一块可以保存一个类型为 <code>T</code>
+ 的对象的内存,并通过 placement new 表达式 <code>new( pv ) T()</code> 或 <code>new( pv ) T( std::forward&lt;Args&gt;(args)... )</code> 在其中构造 一个对象。<code>allocate_shared</code> 使用 <code>a</code> 的一个拷贝来分配 内存。如果有异常抛出,则没有影响。</p> + <p><b>返回:</b>一个 <code>shared_ptr</code> 实例,它保存并拥有这个新构 造的类型为 <code>T</code> 的对象的地址。</p> + <p><b>后验条件:</b><code>get() != 0 &amp;&amp; use_count() == 1</code>.</p>
+                       <p><b>抛出:</b><code>bad_alloc</code>, 或是由 
<code>A::allocate</code>
+                               或 <code>T</code> 的构造函数抛出的异常。</p>
+ <p><b>说明:</b>该实现在单次内存分配中分配了所返回的 <code>shared_ptr</code> 以及一个类型为 <code>T</code> 的对象所要的内存。这提 供了和介入式智能指针同样的效率。</p> + <p>如果你的编译支持右值引用和可变参数数量模板,则使用以上原型。它们完美 地将 <code>args</code> 参数前转给 <code>T</code> 的构造函数。</p> + <p>否则,本实现将退回至将参数以常量引用的方式前转给 <code>T</code> 的构 造函数。如果你需要传递一个非常量引用给 <code>T</code> 的构造函数,你可以通过 将参数包装在一个 <code>boost::ref</code> 调用中来实现。另外,你被限制为最多 使用9个参数(不计
+                       allocate_shared 的分配器参数)。</p>
+               </blockquote>
+               <h2><a name="example">Example 救命</a></h2>
+ <pre>boost::shared_ptr&lt;std::string&gt; x = boost::make_shared&lt;std::string&gt;("hello, world!");<br>std::cout &lt;&lt; *x;</pre>
+               <hr>
+               <p>
+                       $Date: 2008-05-19 15:42:39 -0400 (Mon, 19 May 2008) 
$</p>
+               <p><small>Copyright 2008 Peter Dimov. Copyright 2008 Frank Mori 
Hess.
+                               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>.</small></p>
+       </body></html>
\ No newline at end of file

Modified: trunk/libs/smart_ptr/shared_ptr.htm
==============================================================================
--- trunk/libs/smart_ptr/shared_ptr.htm (original)
+++ trunk/libs/smart_ptr/shared_ptr.htm Tue Jun  2 01:35:23 2009
@@ -1,6 +1,5 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head>



@@ -10,10 +9,8 @@



-  <title>shared_ptr</title>
-  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-</head>
-
+
+ <title>shared_ptr</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head>

 <body bgcolor="#ffffff" text="#000000">

@@ -90,7 +87,7 @@


                
-<p>因为在实现中使用了引用计数,<b>shared_ptr</b>实例的循环引用不会被回收。 例如,如果 <b>main()</b> 持有一个指向 <b>A</b> 的 <b>shared_ptr</b>, <b>A</b> 又直接或间接持有一个指回 <b>A</b> 的 <b>shared_ptr</b>,<b>A</b> 的 使用计数是 2。最初的 <b>shared_ptr</b> 析构后将导致一个使用计数为 1 的 <b>A</b> 被悬挂。使用 <a href="weak_ptr.htm">weak_ptr</a> 以&ldquo;打破循环 &rdquo;。</p> +<p>因为在实现中使用了引用计数,<b>shared_ptr</b>实例的循环引用不会被回收。 例如,如果 <b>main()</b> 持有一个指向 <b>A</b> 的 <b>shared_ptr</b>, <b>A</b> 又直接或间接持有一个指回 <b>A</b> 的 <b>shared_ptr</b>,<b>A</b> 的 使用计数是 2。最初的 <b>shared_ptr</b> 析构后将导致一个使用计数为 1 的 <b>A</b> 被悬挂。使用 <a href="weak_ptr.htm">weak_ptr</a> 以“打破循环”。</p>



@@ -157,6 +154,7 @@

                
<p>函数 <strong>ok</strong> 亦步亦趋地遵循了方针,相反 <strong>bad</strong> 构造了临时的 <strong>shared_ptr</strong> 来代替,这就为 内存泄漏留下了可乘之机。因为函数参数的求值顺序是不确定的,<strong>new int(2)</strong> 首先被求值,<strong>g()</strong> 第二个是有可能的,如果 <strong>g</strong> 抛出一个异常,我们永远也不可能到达 <strong>shared_ptr</strong> 的构造函数。关于这个问题的更多信息请参见 <a href="http://www.gotw.ca/gotw/056.htm";>Herb Sutter 的对策</a>(还有 <a href="http://www.cuj.com/reference/articles/2002/0212/0212_sutter.htm";>这里 </a>)。</p> +<p>上述异常安全性的问题也可以通过使用 <a href="make_shared.html"><code>make_shared</code></a> 或 <a href="make_shared.html"><code>allocate_shared</code></a> 工厂函数来消除,这 两个函数在 boost/make_shared.hpp 中定义。这些工厂函数还通过加强的内存分配提 供了效率上的好处。</p>



@@ -1423,7 +1421,7 @@


                
-<p><strong>shared_ptr</strong> 对象提供与内建类型一样的线程安全级别。一个 <strong>shared_ptr</strong> 实例可以同时被多个线程&ldquo;读&rdquo;(仅使用不 变操作进行访问)。不同的 <strong>shared_ptr</strong> 实例可以同时被多个线程 &ldquo;写入&rdquo;(使用类似 <strong>operator=</strong> 或 <strong>reset</strong> 这样的可变操作进行访问)(即使这些实例是拷贝,而且共 享下层的引用计数)。</p> +<p><strong>shared_ptr</strong> 对象提供与内建类型一样的线程安全级别。一个 <strong>shared_ptr</strong> 实例可以同时被多个线程“读”(仅使用不变操作进行访 问)。不同的 <strong>shared_ptr</strong> 实例可以同时被多个线程“写入”(使用 类似 <strong>operator=</strong> 或 <strong>reset</strong> 这样的可变操作进行 访问)(即使这些实例是拷贝,而且共享下层的引用计数)。</p>



@@ -1640,7 +1638,7 @@


                
-<p><b>答:</b>浅拷贝指针,包括裸指针,一般不会传递常量性。当你能够总是从一 个 const 指针得到一个 non-const 指针,并继而通过它改变那个对象的时候,还是有 一点儿意义的。<b>shared_ptr</b> 是&ldquo;尽可能接近而不重合裸指针&rdquo;。 <br> +<p><b>答:</b>浅拷贝指针,包括裸指针,一般不会传递常量性。当你能够总是从一 个 const 指针得到一个 non-const 指针,并继而通过它改变那个对象的时候,还是有 一点儿意义的。<b>shared_ptr</b> 是“尽可能接近而不重合裸指针”。<br>


 <br>
@@ -1652,7 +1650,7 @@

                
 <hr>
-<p>$Date: 2007-11-25 13:38:02 -0500 (Sun, 25 Nov 2007) $</p>
+<p>$Date: 2009-03-11 11:08:14 -0400 (Wed, 11 Mar 2009) $</p>



@@ -1661,5 +1659,4 @@
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>.</small></p>


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

Modified: trunk/libs/smart_ptr/smart_ptr.htm
==============================================================================
--- trunk/libs/smart_ptr/smart_ptr.htm  (original)
+++ trunk/libs/smart_ptr/smart_ptr.htm  Tue Jun  2 01:35:23 2009
@@ -1,15 +1,12 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head>

                
                
-  <title>Smart Pointers 智能指针</title>
-  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-</head>
+
+ <title>Smart Pointers 智能指针</title><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"></head>

-
-       <body bgcolor="#ffffff" text="#000000">
+<body bgcolor="#ffffff" text="#000000">

                
<h1><a href="../../index.htm"><img src="../../boost.png" alt="boost.png (6897 bytes)" align="middle" border="0" height="86" width="277"></a>Smart Pointers 智能指针</h1>
@@ -31,7 +28,7 @@
 <h2><a name="Introduction">Introduction 简介</a></h2>

                
-<p>smart pointers(智能指针)是存储&ldquo;指向动态分配(在堆上)的对象的指 针&rdquo;的对象。他们的行为很像 +<p>smart pointers(智能指针)是存储“指向动态分配(在堆上)的对象的指针”的对 象。他们的行为很像
 C++
的内建指针,只是它们可以在适当的时候自动删除它们所指向的对象。智能指针在面 对异常时有非常显著的作用,它们可以确保动态分配对象的完全析构。它们还可
 以用于跟踪多主人共享的动态分配对象。</p>
@@ -40,7 +37,7 @@
<p>在概念上,智能指针可以看作拥有它所指向的对象,并因此在对象不再需要时负责 将它删除。</p>

                
-<p>智能指针库提供五个(原文是五个,我数着怎么是六个呢?晕&mdash;&mdash;译者 注)智能指针类模板:</p>
+<p>智能指针库提供了六个智能指针类模板:</p>

                
 <div align="left">
@@ -120,11 +117,18 @@
                
 <p>它们是在 Bjarne Stroustrup 的 "The C++ Programming Language"
 第三版,14.4,资源管理部分描述的 "resource acquisition is
-initialization"(&ldquo;获得资源就是初始化&rdquo;,《C++
-程序设计语言》中文版中译为&ldquo;资源申请即初始化&rdquo;,个人认为不太确切 &mdash;&mdash;译者注)惯用法的实例。</p>
+initialization"(“获得资源就是初始化”,《C++
+程序设计语言》中文版中译为“资源申请即初始化”,个人认为不太确切——译者注)惯 用法的实例。</p>

                
-<p>测试程序 <a href="test/smart_ptr_test.cpp">smart_ptr_test.cpp</a>,用来 检验正确的操作。</p> +<p>此外,智能指针库提供了高效的工厂函数来创建 <code>shared_ptr</code> 对 象:</p>
+<div align="left">
+<table border="1" cellpadding="4" cellspacing="0">
+<tbody>
+<tr>
+<td><a href="make_shared.html"><b>make_shared and allocate_shared</b></a></td> +<td><a href="../../boost/make_shared.hpp">&lt;boost/make_shared.hpp&gt;</a></td> +<td>高效创建 <code>shared_ptr</code> 对象。 </td></tr></tbody></table></div><p>测试程序 <a href="test/smart_ptr_test.cpp">smart_ptr_test.cpp</a>,用来检验正确的操作。 </p>

                
<p>网页 <a href="compatibility.htm">compatibility(兼容性)</a>结合 Boost 智能指针库的老版本记述了智能指针实现的早期版本以来的一些变化。</p>
@@ -153,7 +157,7 @@
                
<p><b>T</b> 的需求是要小心谨慎地构造最大化的安全,而且还要允许 handle-body(也可叫做 pimpl(pimpl 全称为 "pointer to implementation",可参考 Effective C++, 3rd Edition Item 25 29 -31&mdash;&mdash;译者注))和其它类似惯用法。在这些惯用法中,一个智能指针可 以出现在 <b>T</b> 是一个不完整类型的编译单元中。这样就从实现中分离出接口,并 对仅仅使用接口的编译单元中隐藏实现。在特定智能指针文档中记述的示例阐明了智能 指针在这些惯用法中的应用。</p> +31——译者注))和其它类似惯用法。在这些惯用法中,一个智能指针可以出现在 <b>T</b> 是一个不完整类型的编译单元中。这样就从实现中分离出接口,并对仅仅使 用接口的编译单元中隐藏实现。在特定智能指针文档中记述的示例阐明了智能指针在这 些惯用法中的应用。</p>

                
<p>注意,在析构的时候,<b>scoped_ptr</b> 要求 <b>T</b> 是一个完整类型,而 <b>shared_ptr</b> 并不要求。</p>
@@ -162,7 +166,7 @@
 <h2><a name="Exception_Safety">Exception Safety 异常安全</a></h2>

                
-<p>这些智能指针类中的几个函数被指定为在抛出异常时&ldquo;没有影响&rdquo;或 &ldquo;除了如此这般之外没有影响&rdquo;。 +<p>这些智能指针类中的几个函数被指定为在抛出异常时“没有影响”或“除了如此这般 之外没有影响”。 这就意味着当这些类中的某个对象抛出异常时,整个程序保持在那个引发异常的函数 被调用之前的状态。这等同于保证没有可发觉的副作用。另一些函数从不抛出异 常。那些抛出异常的函数能够抛出的异常(假设 <b>T</b> 符合<a href="#common_requirements">共通需求</a>)也仅限于 <b>std::bad_alloc</b>,而 且也仅限于那些在文档中明确记述可能抛出 <b>std::bad_alloc</b> 的那些函数。 </p>

@@ -202,7 +206,7 @@
                
<p>1998 年 10 月。Beman Dawes 提议复原 <b>safe_ptr</b> 和 <b>counted_ptr</b> 名字之下的原有语义,参加会议的有 Per Andersson, Matt Austern, Greg Colvin, Sean
-Corfield, Pete Becker, Nico Josuttis, Dietmar K&uuml;hl, Nathan Myers,
+Corfield, Pete Becker, Nico Josuttis, Dietmar Kühl, Nathan Myers,
Chichiang Wan 和 Judy Ward。经过讨论,四个新的类名称尘埃落定,并决定不需要 严格遵循 <b>std::auto_ptr</b> 的接口,并最终敲定了各个不同函数的标识和语义。 </p>

                
@@ -228,10 +232,10 @@
                
<p>每一种实现技术都有优势和劣势。我们测量了直接和间接方法的不同的运行时 间,发现至少在 Intel Pentium 芯片上只有极微小的差别。Kevlin Henney 提供了一篇他写的论文 "Counted Body Techniques"。Dietmar -K&uuml;hl 提出一个允许用户选择他们更喜欢的实现的优雅的模板偏特化技术,并进 行了实验。</p> +Kühl 提出一个允许用户选择他们更喜欢的实现的优雅的模板偏特化技术,并进行了实 验。</p>

                
-<p>但是 Greg Colvin 和 Jerry Schwarz 认为&ldquo;参数化会阻碍用户&rdquo;,而 最终我们选择仅仅提供直接的实现。</p> +<p>但是 Greg Colvin 和 Jerry Schwarz 认为“参数化会阻碍用户”,而最终我们选择 仅仅提供直接的实现。</p>

                
<p>1994 年夏天。Greg Colvin 向 C++ 标准委员会提议名为 <b>auto_ptr</b> 和 <b>counted_ptr</b> 的类,它们和我们现在所说的 <b>scoped_ptr</b> 和 <b>shared_ptr</b> 非常相似。<a href="#Col-94">[Col-94]</a> 在极少的几次全体 委员会没有接受库工作组的建议的案例之一中,<b>counted_ptr</b> 被否决了,并出 人意外地将所有权转让语义加入到 <b>auto_ptr</b> 中。</p>
@@ -258,5 +262,4 @@
 Adler. 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>.</small></p>
-</body>
-</html>
+</body></html>
\ No newline at end of file

Modified: trunk/libs/type_traits/doc/html/boost_typetraits/category/value_traits/properties.html
==============================================================================
--- trunk/libs/type_traits/doc/html/boost_typetraits/category/value_traits/properties.html (original) +++ trunk/libs/type_traits/doc/html/boost_typetraits/category/value_traits/properties.html Tue Jun 2 01:35:23 2009
@@ -1,6 +1,5 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head>



@@ -10,8 +9,8 @@



-  <title>General Type Properties</title>
- <link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
+
+ <title>General Type Properties</title><link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">



@@ -31,9 +30,7 @@



- <link rel="next" href="relate.html" title="Relationships Between Two Types">
-</head>
-
+ <link rel="next" href="relate.html" title="Relationships Between Two Types"></head>

<body alink="#0000ff" bgcolor="white" link="#0000ff" text="black" vlink="#840084">

@@ -101,7 +98,7 @@
<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../../reference/alignment_of.html" title="alignment_of">alignment_of</a><span class="special">;</span>

-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span> +<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span><br><span class="keyword">struct</span> <a class="link" title="has_new_operator" href="../../reference/has_new_operator.html">has_new_operator</a><span class="special">;<br><br></span><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../../reference/has_nothrow_assign.html" title="has_nothrow_assign">has_nothrow_assign</a><span class="special">;</span>

<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span>
@@ -187,7 +184,7 @@

       <td align="right">

- <div class="copyright-footer">Copyright &copy; 2000, 2006 Adobe Systems Inc, David Abrahams, + <div class="copyright-footer">Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant, Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten Ottosen, Robert
       Ramey and Jeremy Siek
@@ -216,5 +213,4 @@
 </div>


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

Modified: trunk/libs/type_traits/doc/html/boost_typetraits/category/value_traits/relate.html
==============================================================================
--- trunk/libs/type_traits/doc/html/boost_typetraits/category/value_traits/relate.html (original) +++ trunk/libs/type_traits/doc/html/boost_typetraits/category/value_traits/relate.html Tue Jun 2 01:35:23 2009
@@ -1,12 +1,11 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head>

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


-  <title>Relationships Between Two Types</title>
- <link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
+
+ <title>Relationships Between Two Types</title><link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">

   <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">

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

   <link rel="prev" href="properties.html" title="General Type Properties">

- <link rel="next" href="../transform.html" title="Type Traits that Transform One Type to Another">
-</head>
+ <link rel="next" href="../transform.html" title="Type Traits that Transform One Type to Another"></head>

<body alink="#0000ff" bgcolor="white" link="#0000ff" text="black" vlink="#840084">

@@ -64,8 +62,7 @@

<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Base</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Derived</span><span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../../reference/is_base_of.html" title="is_base_of">is_base_of</a><span class="special">;</span>
-
-<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">From</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">To</span><span class="special">&gt;</span> +<br><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Base</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Derived</span><span class="special">&gt;</span><br><span class="keyword">struct</span> <a class="link" title="is_virtual_base_of" href="../../reference/is_virtual_base_of.html">is_virtual_base_of</a><span class="special">;<br><br></span><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">From</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">To</span><span class="special">&gt;</span> <span class="keyword">struct</span> <a class="link" href="../../reference/is_convertible.html" title="is_convertible">is_convertible</a><span class="special">;</span>

<span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">U</span><span class="special">&gt;</span>
@@ -81,7 +78,7 @@
       <td align="left"></td>

       <td align="right">
- <div class="copyright-footer">Copyright &copy; 2000, 2006 Adobe Systems Inc, David Abrahams, + <div class="copyright-footer">Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant, Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten Ottosen, Robert
       Ramey and Jeremy Siek
@@ -102,5 +99,4 @@
<a accesskey="p" href="properties.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../value_traits.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../transform.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>

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

Modified: trunk/libs/type_traits/doc/html/boost_typetraits/reference.html
==============================================================================
--- trunk/libs/type_traits/doc/html/boost_typetraits/reference.html (original) +++ trunk/libs/type_traits/doc/html/boost_typetraits/reference.html Tue Jun 2 01:35:23 2009
@@ -1,12 +1,11 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head>

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


-  <title>Alphabetical Reference</title>
- <link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
+
+ <title>Alphabetical Reference</title><link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">

   <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">

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

<link rel="prev" href="examples/to_double.html" title="Convert Numeric Types and Enums to double">

-  <link rel="next" href="reference/add_const.html" title="add_const">
-</head>
+ <link rel="next" href="reference/add_const.html" title="add_const"></head>

<body alink="#0000ff" bgcolor="white" link="#0000ff" text="black" vlink="#840084">

@@ -83,7 +81,7 @@

<dt><span class="section"><a href="reference/function_traits.html"> function_traits</a></span></dt>

- <dt><span class="section"><a href="reference/has_nothrow_assign.html"> has_nothrow_assign</a></span></dt> + <dt><span class="section"><a href="reference/has_new_operator.html">has_new_operator</a></span> </dt><dt><span class="section"><a href="reference/has_nothrow_assign.html"> has_nothrow_assign</a></span></dt>

<dt><span class="section"><a href="reference/has_nothrow_constructor.html">
       has_nothrow_constructor</a></span></dt>
@@ -173,7 +171,7 @@

<dt><span class="section"><a href="reference/is_unsigned.html"> is_unsigned</a></span></dt>

- <dt><span class="section"><a href="reference/is_void.html"> is_void</a></span></dt> + <dt><span class="section"><a href="reference/is_virtual_base_of.html">is_virtual_base_of</a></span> </dt><dt><span class="section"><a href="reference/is_void.html"> is_void</a></span></dt>

<dt><span class="section"><a href="reference/is_volatile.html"> is_volatile</a></span></dt>

@@ -213,7 +211,7 @@
       <td align="left"></td>

       <td align="right">
- <div class="copyright-footer">Copyright &copy; 2000, 2006 Adobe Systems Inc, David Abrahams, + <div class="copyright-footer">Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant, Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten Ottosen, Robert
       Ramey and Jeremy Siek
@@ -234,5 +232,4 @@
<a accesskey="p" href="examples/to_double.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reference/add_const.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>

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

Modified: trunk/libs/type_traits/doc/html/boost_typetraits/reference/function_traits.html
==============================================================================
--- trunk/libs/type_traits/doc/html/boost_typetraits/reference/function_traits.html (original) +++ trunk/libs/type_traits/doc/html/boost_typetraits/reference/function_traits.html Tue Jun 2 01:35:23 2009
@@ -1,12 +1,11 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head>

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


-  <title>function_traits</title>
- <link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
+
+ <title>function_traits</title><link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">

   <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">

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

<link rel="prev" href="floating_point_promotion.html" title="floating_point_promotion">

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

<body alink="#0000ff" bgcolor="white" link="#0000ff" text="black" vlink="#840084">

@@ -43,7 +41,7 @@

 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="floating_point_promotion.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="has_nothrow_assign.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a> +<a accesskey="p" href="floating_point_promotion.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="has_new_operator.html"><img style="border: 0px solid ; width: 19px; height: 19px;" src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>

 <div class="section" lang="en">
@@ -414,7 +412,7 @@
       <td align="left"></td>

       <td align="right">
- <div class="copyright-footer">Copyright &copy; 2000, 2006 Adobe Systems Inc, David Abrahams, + <div class="copyright-footer">Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant, Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten Ottosen, Robert
       Ramey and Jeremy Siek
@@ -432,8 +430,7 @@

 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="floating_point_promotion.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="has_nothrow_assign.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a> +<a accesskey="p" href="floating_point_promotion.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="has_new_operator.html"><img style="border: 0px solid ; width: 19px; height: 19px;" src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>

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

Added: trunk/libs/type_traits/doc/html/boost_typetraits/reference/has_new_operator.html
==============================================================================
--- (empty file)
+++ trunk/libs/type_traits/doc/html/boost_typetraits/reference/has_new_operator.html Tue Jun 2 01:35:23 2009
@@ -0,0 +1,130 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<title>has_new_operator</title><link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../index.html" title="Chapter&nbsp;1.&nbsp;Boost.TypeTraits">
+<link rel="up" href="../reference.html" title="Alphabetical Reference">
+<link rel="prev" href="function_traits.html" title="function_traits">
+<link rel="next" href="has_nothrow_assign.html" title="has_nothrow_assign"></head> +<body alink="#0000ff" bgcolor="white" link="#0000ff" text="black" vlink="#840084">
+<table cellpadding="2" width="100%"><tbody><tr>
+<td valign="top"><img alt="Boost C++ Libraries" src="../../../../../../boost.png" height="86" width="277"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html";>People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html";>FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></tbody></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="function_traits.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="has_nothrow_assign.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_typetraits.reference.has_new_operator"></a><a class="link" href="has_new_operator.html" title="has_new_operator"> has_new_operator</a>
+</h3></div></div></div>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">T</span><span class="special">&gt;</span> +<span class="keyword">struct</span> <span class="identifier">has_new_operator</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
+</pre>
+<p>
+ <span style="font-weight: bold;">继承:</span><span class="bold"><strong></strong></span>如果 T 是一个带有重载的 new 操作符的类 型(可能带有cv-限定),则继承自 <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,否则继承自 <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>。
+      </p>
+<p>
+ <span class="bold"><strong>编译器兼容性:</strong></span>不能用于不 支持"替代失败并非错误"的编译器(这种情况下会定义 BOOST_NO_SFINAE),已知对于 Borland/Codegear 编译器不可用。
+      </p>
+<p>
+        <span class="bold"><strong>C++ 标准参考:</strong></span>12.5.
+      </p>
+<p>
+ <span class="bold"><strong>头文件:</strong></span><code class="computeroutput"><span class="preprocessor">#include</span> + <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_new_operator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> 或 <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+      </p>
+<p>
+        <span class="bold"><strong>示例:</strong></span>
+      </p>
+<p>
+        给定:
+      </p>
+<pre class="programlisting"><span class="keyword">class</span> <span class="identifier">A</span> <span class="special">{</span> <span class="keyword">void</span><span class="special">*</span> <span class="keyword">operator</span> <span class="keyword">new</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">);</span> <span class="special">};</span> +<span class="keyword">class</span> <span class="identifier">B</span> <span class="special">{</span> <span class="keyword">void</span><span class="special">*</span> <span class="keyword">operator</span> <span class="keyword">new</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">nothrow</span><span class="special">&amp;);</span> <span class="special">};</span> +<span class="keyword">class</span> <span class="identifier">C</span> <span class="special">{</span> <span class="keyword">void</span><span class="special">*</span> <span class="keyword">operator</span> <span class="keyword">new</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="keyword">void</span><span class="special">*);</span> <span class="special">};</span> +<span class="keyword">class</span> <span class="identifier">D</span> <span class="special">{</span> <span class="keyword">void</span><span class="special">*</span> <span class="keyword">operator</span> <span class="keyword">new</span><span class="special">[](</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">);</span> <span class="special">};</span> +<span class="keyword">class</span> <span class="identifier">E</span> <span class="special">{</span> <span class="keyword">void</span><span class="special">*</span> <span class="keyword">operator</span> <span class="keyword">new</span><span class="special">[](</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">nothrow</span><span class="special">&amp;);</span> <span class="special">};</span> +<span class="keyword">class</span> <span class="identifier">F</span> <span class="special">{</span> <span class="keyword">void</span><span class="special">*</span> <span class="keyword">operator</span> <span class="keyword">new</span><span class="special">[](</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">size_t</span><span class="special">,</span> <span class="keyword">void</span><span class="special">*);</span> <span class="special">};</span>
+</pre>
+<p>
+        则:
+      </p>
+<div class="blockquote"><blockquote class="blockquote">
+<p>
+          </p>
+<p>
+ <code class="computeroutput"><span class="identifier">has_new_operator</span><span class="special">&lt;</span><span class="identifier">A</span><span class="special">&gt;</span></code> 继承自 <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
+          </p>
+<p>
+        </p>
+</blockquote></div>
+<div class="blockquote"><blockquote class="blockquote">
+<p>
+          </p>
+<p>
+ <code class="computeroutput"><span class="identifier">has_new_operator</span><span class="special">&lt;</span><span class="identifier">B</span><span class="special">&gt;</span></code>&nbsp;继承自 <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
+          </p>
+<p>
+        </p>
+</blockquote></div>
+<div class="blockquote"><blockquote class="blockquote">
+<p>
+          </p>
+<p>
+ <code class="computeroutput"><span class="identifier">has_new_operator</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;</span></code>&nbsp;继承自 <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
+          </p>
+<p>
+        </p>
+</blockquote></div>
+<div class="blockquote"><blockquote class="blockquote">
+<p>
+          </p>
+<p>
+ <code class="computeroutput"><span class="identifier">has_new_operator</span><span class="special">&lt;</span><span class="identifier">D</span><span class="special">&gt;</span></code>&nbsp;继承自 <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
+          </p>
+<p>
+        </p>
+</blockquote></div>
+<div class="blockquote"><blockquote class="blockquote">
+<p>
+          </p>
+<p>
+ <code class="computeroutput"><span class="identifier">has_new_operator</span><span class="special">&lt;</span><span class="identifier">E</span><span class="special">&gt;</span></code>&nbsp;继承自 <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
+          </p>
+<p>
+        </p>
+</blockquote></div>
+<div class="blockquote"><blockquote class="blockquote">
+<p>
+          </p>
+<p>
+ <code class="computeroutput"><span class="identifier">has_new_operator</span><span class="special">&lt;</span><span class="identifier">F</span><span class="special">&gt;</span></code>&nbsp;继承自 <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
+          </p>
+<p>
+        </p>
+</blockquote></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"; width="100%"><tbody><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, + Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant, Jesse Jones, Mat + Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten Ottosen, Robert
+      Ramey and Jeremy Siek<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt"; target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+      </p>
+</div></td>
+</tr></tbody></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="function_traits.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="has_nothrow_assign.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body></html>
\ No newline at end of file

Modified: trunk/libs/type_traits/doc/html/boost_typetraits/reference/has_nothrow_assign.html
==============================================================================
--- trunk/libs/type_traits/doc/html/boost_typetraits/reference/has_nothrow_assign.html (original) +++ trunk/libs/type_traits/doc/html/boost_typetraits/reference/has_nothrow_assign.html Tue Jun 2 01:35:23 2009
@@ -1,12 +1,11 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head>

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


-  <title>has_nothrow_assign</title>
- <link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
+
+ <title>has_nothrow_assign</title><link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">

   <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">

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

   <link rel="prev" href="function_traits.html" title="function_traits">

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

<body alink="#0000ff" bgcolor="white" link="#0000ff" text="black" vlink="#840084">

@@ -43,7 +41,7 @@

 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="function_traits.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="has_nothrow_constructor.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a> +<a accesskey="p" href="has_new_operator.html"><img style="border: 0px solid ; width: 19px; height: 19px;" src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="has_nothrow_constructor.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>

 <div class="section" lang="en">
@@ -72,7 +70,7 @@

<p>没有来自编译器的某些(未加规定的)帮助,<code class="computeroutput"><span class="identifier">has_nothrow_assign</span></code> 绝不会报告一个 class 或 struct 有一个不抛异常的赋值操作符,如果 sub-optimal 可能,这总是安全的。当前 (2005 年 5 月)只有 Visual C++ 8 具有确保这个
-trait &ldquo;正常工作&rdquo;所必须的编译器支持。</p>
+trait “正常工作”所必须的编译器支持。</p>

<p><span class="bold"><strong>头文件:</strong></span><code class="computeroutput"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">has_nothrow_assign</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> 或 <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
@@ -87,7 +85,7 @@
       <td align="left"></td>

       <td align="right">
- <div class="copyright-footer">Copyright &copy; 2000, 2006 Adobe Systems Inc, David Abrahams, + <div class="copyright-footer">Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant, Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten Ottosen, Robert
       Ramey and Jeremy Siek
@@ -105,8 +103,7 @@

 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="function_traits.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="has_nothrow_constructor.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a> +<a accesskey="p" href="has_new_operator.html"><img style="border: 0px solid ; width: 19px; height: 19px;" src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="has_nothrow_constructor.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>

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

Modified: trunk/libs/type_traits/doc/html/boost_typetraits/reference/is_unsigned.html
==============================================================================
--- trunk/libs/type_traits/doc/html/boost_typetraits/reference/is_unsigned.html (original) +++ trunk/libs/type_traits/doc/html/boost_typetraits/reference/is_unsigned.html Tue Jun 2 01:35:23 2009
@@ -1,12 +1,11 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head>

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


-  <title>is_unsigned</title>
- <link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
+
+ <title>is_unsigned</title><link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">

   <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">

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

   <link rel="prev" href="is_union.html" title="is_union">

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

<body alink="#0000ff" bgcolor="white" link="#0000ff" text="black" vlink="#840084">

@@ -43,7 +41,7 @@

 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="is_union.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="is_void.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a> +<a accesskey="p" href="is_union.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="is_virtual_base_of.html"><img style="border: 0px solid ; width: 19px; height: 19px;" src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>

 <div class="section" lang="en">
@@ -172,7 +170,7 @@
       <td align="left"></td>

       <td align="right">
- <div class="copyright-footer">Copyright &copy; 2000, 2006 Adobe Systems Inc, David Abrahams, + <div class="copyright-footer">Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant, Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten Ottosen, Robert
       Ramey and Jeremy Siek
@@ -190,8 +188,7 @@

 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="is_union.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="is_void.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a> +<a accesskey="p" href="is_union.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="is_virtual_base_of.html"><img style="border: 0px solid ; width: 19px; height: 19px;" src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>

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

Added: trunk/libs/type_traits/doc/html/boost_typetraits/reference/is_virtual_base_of.html
==============================================================================
--- (empty file)
+++ trunk/libs/type_traits/doc/html/boost_typetraits/reference/is_virtual_base_of.html Tue Jun 2 01:35:23 2009
@@ -0,0 +1,122 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head>
+<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
+
+<title>is_virtual_base_of</title><link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.74.0">
+<link rel="home" href="../../index.html" title="Chapter&nbsp;1.&nbsp;Boost.TypeTraits">
+<link rel="up" href="../reference.html" title="Alphabetical Reference">
+<link rel="prev" href="is_unsigned.html" title="is_unsigned">
+<link rel="next" href="is_void.html" title="is_void"></head>
+<body alink="#0000ff" bgcolor="white" link="#0000ff" text="black" vlink="#840084">
+<table cellpadding="2" width="100%"><tbody><tr>
+<td valign="top"><img alt="Boost C++ Libraries" src="../../../../../../boost.png" height="86" width="277"></td>
+<td align="center"><a href="../../../../../../index.html">Home</a></td>
+<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td> +<td align="center"><a href="http://www.boost.org/users/people.html";>People</a></td> +<td align="center"><a href="http://www.boost.org/users/faq.html";>FAQ</a></td>
+<td align="center"><a href="../../../../../../more/index.htm">More</a></td>
+</tr></tbody></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_unsigned.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="is_void.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" lang="en">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="boost_typetraits.reference.is_virtual_base_of"></a><a class="link" href="is_virtual_base_of.html" title="is_virtual_base_of"> is_virtual_base_of</a>
+</h3></div></div></div>
+<pre class="programlisting"><span class="keyword">template</span> <span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Base</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Derived</span><span class="special">&gt;</span> +<span class="keyword">struct</span> <span class="identifier">is_virtual_base_of</span> <span class="special">:</span> <span class="keyword">public</span> <em class="replaceable"><code><a class="link" href="integral_constant.html" title="integral_constant">true_type</a>-or-<a class="link" href="integral_constant.html" title="integral_constant">false_type</a></code></em> <span class="special">{};</span>
+</pre>
+<p>
+ <span style="font-weight: bold;">继承:</span><span class="bold"><strong></strong></span>如果 Base 是类型 Derived 的虚拟基类,则 继承自 <a class="link" href="integral_constant.html" title="integral_constant">true_type</a>,否则继承自 <a class="link" href="integral_constant.html" title="integral_constant">false_type</a>.
+      </p>
+<p>类型 <code class="computeroutput"><span class="identifier">Base</span></code> 和 <code class="computeroutput"><span class="identifier">Derived</span></code> 必须不能是不完整类型。
+      </p>
+<p>
+        <span class="bold"><strong>C++ 标准参考:</strong></span>10.
+      </p>
+<p>
+ <span class="bold"><strong>头文件:</strong></span><code class="computeroutput"><span class="preprocessor">#include</span> + <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">/</span><span class="identifier">is_virtual_base_of</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code> 或 <code class="computeroutput"> <span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">type_traits</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
+      </p>
+<p>
+ <span class="bold"><strong>编译器兼容性:</strong></span>这个 trait 要求 <a class="link" href="is_base_of.html" title="is_base_of">is_base_of</a>
+        trait 可用。
+      </p>
+<p>
+        <span class="bold"><strong>示例:</strong></span>
+      </p>
+<div class="blockquote"><blockquote class="blockquote">
+<p>
+          </p>
+<p>
+ 给定:<code class="computeroutput"><span class="keyword">class</span> <span class="identifier">Base</span><span class="special">{};</span> <span class="keyword">class</span> <span class="identifier">Derived</span> <span class="special">:</span> + <span class="keyword">public</span> <span class="keyword">virtual</span> + <span class="identifier">Base</span><span class="special">{};</span></code>
+          </p>
+<p>
+        </p>
+</blockquote></div>
+<div class="blockquote"><blockquote class="blockquote">
+<p>
+          </p>
+<p>
+ <code class="computeroutput"><span class="identifier">is_virtual_base_of</span><span class="special">&lt;</span><span class="identifier">Base</span><span class="special">,</span> <span class="identifier">Derived</span><span class="special">&gt;</span></code> 继承自 <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
+          </p>
+<p>
+        </p>
+</blockquote></div>
+<div class="blockquote"><blockquote class="blockquote">
+<p>
+          </p>
+<p>
+ <code class="computeroutput"><span class="identifier">is_virtual_base_of</span><span class="special">&lt;</span><span class="identifier">Base</span><span class="special">,</span> <span class="identifier">Derived</span><span class="special">&gt;::</span><span class="identifier">type</span></code> 为 <code class="computeroutput"><a class="link" href="integral_constant.html" title="integral_constant">true_type</a></code>.
+          </p>
+<p>
+        </p>
+</blockquote></div>
+<div class="blockquote"><blockquote class="blockquote">
+<p>
+          </p>
+<p>
+ <code class="computeroutput"><span class="identifier">is_virtual_base_of</span><span class="special">&lt;</span><span class="identifier">Base</span><span class="special">,</span> <span class="identifier">Derived</span><span class="special">&gt;::</span><span class="identifier">value</span></code> 是 一个求值为 <span class="emphasis"><em>true</em></span> 的整型常量表达式。
+          </p>
+<p>
+        </p>
+</blockquote></div>
+<div class="blockquote"><blockquote class="blockquote">
+<p>
+          </p>
+<p>
+ <code class="computeroutput"><span class="identifier">is_virtual_base_of</span><span class="special">&lt;</span><span class="identifier">Base</span><span class="special">,</span> <span class="identifier">Derived</span><span class="special">&gt;::</span><span class="identifier">value</span></code>&nbsp;是一个求值为 <span class="emphasis"><em>true</em></span> 的整型常量表达式。
+          </p>
+<p>
+        </p>
+</blockquote></div>
+<div class="blockquote"><blockquote class="blockquote">
+<p>
+          </p>
+<p>
+ <code class="computeroutput"><span class="identifier">is_virtual_base_of</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span> <span class="identifier">U</span><span class="special">&gt;::</span><span class="identifier">value_type</span></code> 为 <code class="computeroutput"><span class="keyword">bool</span></code>.
+          </p>
+<p>
+        </p>
+</blockquote></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"; width="100%"><tbody><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, + Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant, Jesse Jones, Mat + Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten Ottosen, Robert
+      Ramey and Jeremy Siek<p>
+ Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt"; target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
+      </p>
+</div></td>
+</tr></tbody></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_unsigned.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="is_void.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body></html>
\ No newline at end of file

Modified: trunk/libs/type_traits/doc/html/boost_typetraits/reference/is_void.html
==============================================================================
--- trunk/libs/type_traits/doc/html/boost_typetraits/reference/is_void.html (original) +++ trunk/libs/type_traits/doc/html/boost_typetraits/reference/is_void.html Tue Jun 2 01:35:23 2009
@@ -1,12 +1,11 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html>
-<head>
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html><head>

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


-  <title>is_void</title>
- <link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
+
+ <title>is_void</title><link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">

   <meta name="generator" content="DocBook XSL Stylesheets V1.73.2">

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

   <link rel="prev" href="is_unsigned.html" title="is_unsigned">

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

<body alink="#0000ff" bgcolor="white" link="#0000ff" text="black" vlink="#840084">

@@ -43,7 +41,7 @@

 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="is_unsigned.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="is_volatile.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a> +<a accesskey="p" href="is_virtual_base_of.html"><img style="border: 0px solid ; width: 19px; height: 19px;" src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="is_volatile.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>

 <div class="section" lang="en">
@@ -117,7 +115,7 @@
       <td align="left"></td>

       <td align="right">
- <div class="copyright-footer">Copyright &copy; 2000, 2006 Adobe Systems Inc, David Abrahams, + <div class="copyright-footer">Copyright © 2000, 2006 Adobe Systems Inc, David Abrahams, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant, Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten Ottosen, Robert
       Ramey and Jeremy Siek
@@ -135,8 +133,7 @@

 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="is_unsigned.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="is_volatile.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a> +<a accesskey="p" href="is_virtual_base_of.html"><img style="border: 0px solid ; width: 19px; height: 19px;" src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="is_volatile.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>

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

Modified: trunk/libs/type_traits/doc/html/index.html
==============================================================================
--- trunk/libs/type_traits/doc/html/index.html  (original)
+++ trunk/libs/type_traits/doc/html/index.html  Tue Jun  2 01:35:23 2009
@@ -163,7 +163,7 @@

<dt><span class="section"><a href="boost_typetraits/reference/function_traits.html"> function_traits</a></span></dt>

- <dt><span class="section"><a href="boost_typetraits/reference/has_nothrow_assign.html"> has_nothrow_assign</a></span></dt> + <dt><span class="section"><a href="boost_typetraits/reference/has_new_operator.html">has_new_operator</a></span><span class="section"></span></dt><dt><span class="section"><a href="boost_typetraits/reference/has_nothrow_assign.html"> has_nothrow_assign</a></span></dt>

<dt><span class="section"><a href="boost_typetraits/reference/has_nothrow_constructor.html">
       has_nothrow_constructor</a></span></dt>
@@ -253,7 +253,7 @@

<dt><span class="section"><a href="boost_typetraits/reference/is_unsigned.html"> is_unsigned</a></span></dt>

- <dt><span class="section"><a href="boost_typetraits/reference/is_void.html"> is_void</a></span></dt> + <dt><span class="section"><a href="boost_typetraits/reference/is_virtual_base_of.html">is_virtual_base_of</a></span><span class="section"></span></dt><dt><span class="section"><a href="boost_typetraits/reference/is_void.html"> is_void</a></span></dt>

<dt><span class="section"><a href="boost_typetraits/reference/is_volatile.html"> is_volatile</a></span></dt>

Other related posts:

  • » [boost-doc-zh commit] r255 - 转换至1.39.0,第8批,完成以下库:math, math/common_factor, math/complex, math... - codesite-noreply