Author: alai04 Date: Mon Mar 30 23:38:41 2009 New Revision: 229 Modified: trunk/libs/iostreams/doc/menu.html trunk/libs/math/doc/sf_and_dist/html/index.html trunk/libs/math/doc/sf_and_dist/html/math_toolkit/status/compilers.html trunk/libs/math/doc/sf_and_dist/html/math_toolkit/status/history1.html trunk/libs/multi_index/doc/compiler_specifics.html trunk/libs/multi_index/doc/reference/hash_indices.html trunk/libs/multi_index/doc/reference/key_extraction.html trunk/libs/multi_index/doc/reference/multi_index_container.html trunk/libs/multi_index/doc/reference/ord_indices.html trunk/libs/multi_index/doc/reference/rnd_indices.html trunk/libs/multi_index/doc/reference/seq_indices.html trunk/libs/multi_index/doc/release_notes.html trunk/libs/multi_index/doc/tutorial/basics.html trunk/libs/multi_index/doc/tutorial/indices.html trunk/libs/multi_index/doc/tutorial/techniques.html Log: 转换至1.38.0,第11次,包含以下库: in_place_factory integer interval io_state_savers iostreams iterators math math/common_factor math/complex math/octonion math/quaternion math/special_functions math/statistical distruibutions minmax mpl multi_array multi_index Modified: trunk/libs/iostreams/doc/menu.html ============================================================================== --- trunk/libs/iostreams/doc/menu.html (original) +++ trunk/libs/iostreams/doc/menu.html Mon Mar 30 23:38:41 2009 @@ -1,20 +1,15 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> -<html> -<head> - - <meta content="text/html; charset=UTF-8" http-equiv="content-type"> - +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> +<html><head> +<meta content="text/html; charset=UTF-8" http-equiv="content-type"> <!-- Copyright 2005 Jonathan TurkanisDistributed 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";>http://www.boost.org/LICENSE_1_0.txt</A>) --><!-- ------------------ Links to Stylesheets and Scripts ------------ -->
- <link rel="stylesheet" type="text/css" href="../../../boost.css"> - - <link rel="stylesheet" type="text/css" href="tree/tree.css"> - - <script language="JavaScript" src="tree/tree.js"></script>- <style> CODE { font-size:80% } </style><!-- ------------------ Create and Populate Tree Control ------------- -->
- <script language="JavaScript"> +<link rel="stylesheet" type="text/css" href="../../../boost.css"> +<link rel="stylesheet" type="text/css" href="tree/tree.css"> +<script language="JavaScript" src="tree/tree.js"></script>+<style> CODE { font-size:80% } </style><!-- ------------------ Create and Populate Tree Control ------------- -->
+<script language="JavaScript"> <!--var tree = new tree_control("content"); tree.add("简 介", "home.html").parent()
tree.add("指南", "tutorial/tutorial.html") @@ -271,61 +266,39 @@ tree.add("参考书目", "bibliography.html"); tree.add("感谢", "acknowledgments.html"); tree.add("发布说明", "release_notes.html"); -//tree.dump_html = true; -tree.indent = 9; +//tree.dump_html = true; tree.indent = 9; tree.draw(); // --> - </script> - <title>menu</title> - +</script><title>menu</title> </head> - <body> - <!-- ------------------ Boost Logo and Library Name ------------------ --><table clear="both" style="margin: 0pt; padding: 0pt;" cellpadding="0" cellspacing="0" width="170">
- - <tbody> - - <tr> - - <td>- <p class="clipped"><a href="../../../index.htm" target="_top"> <img style="position: relative; left: 10px;" src="theme/boost_small.png" border="0"></a></p>
- - </td> - - </tr> - - </tbody> +<tbody> +<tr> +<td>+<p class="clipped"><a href="../../../index.htm" target="_top"> <img style="position: relative; left: 10px;" src="theme/boost_small.png" border="0"></a></p>
+</td> +</tr> +</tbody> </table> -<table clear="both" style="padding: 0pt; margin-top: 0pt; margin-left: 1em; margin-bottom: 0.5em;" width="170">
- - <tbody> - - <tr> -- <td align="left" width="170"> <a style="text-decoration: none;" href="index.html" target="_top">
- <h1 class="lib-name" style="margin: 0pt;">Boost.Iostreams</h1> - - </a> </td> - - </tr> - - </tbody> +<tbody> +<tr>+<td align="left" width="170"> <a style="text-decoration: none;" href="index.html" target="_top">
+<h1 class="lib-name" style="margin: 0pt;">Boost.Iostreams</h1> +</a> </td> +</tr> +</tbody> </table> - <hr align="center" width="90%"> <table style="margin: 0pt; padding: 0pt;" width="170"> - - <tbody> - - <tr> -- <td><!-- ------------------ Markup for Browsers with Scripting Disabled -- -->
- <noscript> <table><tr><td +<tbody> +<tr>+<td><!-- ------------------ Markup for Browsers with Scripting Disabled -- -->
+<noscript> <table><tr><td align="left"><table width=150><tr><td><h1 class=tree-caption>目录</h1></td></tr></table> </td></tr><tr><td><div @@ -513,16 +486,18 @@ class="tree-label">11</span> <A class="tree-text" onfocus="blur_tree()" href="acknowledgments.html" target="content"><span -class="tree-text">Acknowledgments</span></A></div></div></div></td></tr></table> - </noscript> - +class="tree-text">Acknowledgments</span></A></div></div> +<div class='tree-item'><div +style='margin-left:0;text-indent:-0'><span +class='tree-label'>12</span> <a class='tree-text' +onfocus='blur_tree()' href='release_notes.html' +target='content'><span class='tree-text'>Release +Notes</span></a></div></div> +</div></td></tr></table> +</noscript> <!-- ------------------ Tree Control --------------------------------- --> - <span id="tree_control"></span> </td> - - </tr> - - </tbody> +<span id="tree_control"></span> </td> +</tr> +</tbody> </table> - -</body> -</html> +</body></html> \ No newline at end of file Modified: trunk/libs/math/doc/sf_and_dist/html/index.html ============================================================================== --- trunk/libs/math/doc/sf_and_dist/html/index.html (original) +++ trunk/libs/math/doc/sf_and_dist/html/index.html Mon Mar 30 23:38:41 2009 @@ -1,21 +1,20 @@ -<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>Math Toolkit</title>-<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
++<title>Math Toolkit</title><link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css"> <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
<link rel="start" href="index.html" title="Math Toolkit"> -<link rel="next" href="math_toolkit/main_overview.html" title="Overview"> -</head>-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td> +<link rel="next" href="math_toolkit/main_overview.html" title="Overview"></head> +<body alink="#0000ff" bgcolor="white" link="#0000ff" text="black" vlink="#840084">
+<table cellpadding="2" width="100%"><tbody><tr>+<td valign="top"><img alt="Boost C++ Libraries" src="../../../../../boost.png" height="86" width="277"></td>
<td align="center"><a href="../../../../../index.html">Home</a></td><td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> <td align="center"><a href="http://www.boost.org/users/people.html";>People</a></td> <td align="center"><a href="http://www.boost.org/users/faq.html";>FAQ</a></td>
<td align="center"><a href="../../../../../more/index.htm">More</a></td> -</tr></table> +</tr></tbody></table> <hr><div class="spirit-nav"><a accesskey="n" href="math_toolkit/main_overview.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a></div>
<div class="article" lang="en"> @@ -361,11 +360,10 @@这份指南也有可供打印的<a href="http://svn.boost.org/svn/boost/sandbox/pdf/math/release/math.pdf"; target="_top">PDF</a>格式。
</p> </div>-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"; width="100%"><tr> -<td align="left"><p><small>Last revised: July 18, 2008 at 10:10:45 GMT</small></p></td> +<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"; width="100%"><tbody><tr> +<td align="left"><p><small>Last revised: December 29, 2008 at 16:50:38 GMT</small></p></td>
<td align="right"><div class="copyright-footer"></div></td> -</tr></table> +</tr></tbody></table> <hr><div class="spirit-nav"><a accesskey="n" href="math_toolkit/main_overview.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a></div>
-</body> -</html> +</body></html> \ No newline at end of fileModified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/status/compilers.html
==============================================================================--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/status/compilers.html (original) +++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/status/compilers.html Mon Mar 30 23:38:41 2009
@@ -1,26 +1,25 @@ -<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>Compilers</title>-<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
++<title>Compilers</title><link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css"> <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
<link rel="start" href="../../index.html" title="Math Toolkit"> <link rel="up" href="../main_overview.html" title="Overview"> <link rel="prev" href="error_handling.html" title="Error Handling">-<link rel="next" href="pol_overview.html" title="Configuration and Policies">
-</head>-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td> +<link rel="next" href="pol_overview.html" title="Configuration and Policies"></head> +<body alink="#0000ff" bgcolor="white" link="#0000ff" text="black" vlink="#840084">
+<table cellpadding="2" width="100%"><tbody><tr>+<td valign="top"><img alt="Boost C++ Libraries" src="../../../../../../../boost.png" height="86" width="277"></td>
<td align="center"><a href="../../../../../../../index.html">Home</a></td><td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> <td align="center"><a href="http://www.boost.org/users/people.html";>People</a></td> <td align="center"><a href="http://www.boost.org/users/faq.html";>FAQ</a></td> <td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table> +</tr></tbody></table> <hr> <div class="spirit-nav">-<a accesskey="p" href="error_handling.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../main_overview.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="pol_overview.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a> +<a accesskey="p" href="../status.html"><img style="border: 0px solid ; width: 19px; height: 19px;" src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../status.html"><img style="border: 0px solid ; width: 19px; height: 19px;" 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="issues.html"><img style="border: 0px solid ; width: 19px; height: 19px;" src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div> <div class="section" lang="en"> <div class="titlepage"><div><div> @@ -38,12 +37,7 @@ <a name="id506161"></a> <p class="title"><b>表?支持的/测试的 编译器</b></p><div class="table-contents"><table class="table" summary="Supported/Tested Compilers">
-<colgroup> -<col> -<col> -<col> -<col> -</colgroup> +<colgroup><col><col><col><col></colgroup> <thead><tr> <th> <p> @@ -165,7 +159,9 @@ <p> 与这个编译器我们只有部分的兼容性:</p> <p>- Long double 支持被禁止,因为本地的(native)long double C标准库 函数实际上仅向前到(forward to)double版本。当使用long double重载版本时,这可 能产生不可预测的结果:例如,将函数sqrtl 应用于有限值,但结果会是无限值。</p> +Long double 支持被禁止,因为本地的(native)long double C标准库函数实际上仅向 前到(forward +to)double版本。当使用long double重载版本时,这可能产生不可预测的结果:例 如,将函数sqrtl
+应用于有限值,但结果会是无限值。</p> <p> 一些函数仍然不能够能够编译,当前没有已知的 workarounds 。</p> @@ -229,7 +225,10 @@ <p> 所有的测试都通过。</p> <p>- Long double 支持被禁止,因为调用标准库long double数学函数会 导致segfault。这种问题是Linux发行版本和glibc版本特定的并且是Intel错误报告 #409291。 完整地更新到 Intel 9.1 (版本 l_cc_c_9.1.046) 就不会有这种问题。如 果在这个编译器上你需要long double支持,那么将下面的代码注释 掉:BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS 在头文件 <a href="../../../../../../../boost/math/tools/config.hpp" target="_top">boost/math/tools/config.hpp</a>中的第55行。</p>
+Long double 支持被禁止,因为调用标准库long+double数学函数会导致segfault。这种问题是Linux发行版本和glibc版本特定的并且 是Intel错误报告 #409291。 +完整地更新到 Intel 9.1 (版本 l_cc_c_9.1.046) 就不会有这种问题。如果在这个编 译器上你需要long +double支持,那么将下面的代码注释 掉:BOOST_MATH_NO_LONG_DOUBLE_MATH_FUNCTIONS 在头文件 <a href="../../../../../../../boost/math/tools/config.hpp" target="_top">boost/math/tools/config.hpp</a>中的第55行。</p>
<p>在这个编译器中,我们在-Wall的编译设置下使得库的头文件不会产生 warning。然而,测试数据产生了许多测试数据的数值溢出相关的warning:这些 warning是无害的。</p> </td>
</tr> @@ -429,10 +428,7 @@ <a name="id506951"></a> <p class="title"><b>不支持的编译器</b></p><div class="table-contents"><table class="table" summary="Unsupported Compilers">
-<colgroup> -<col> -<col> -</colgroup> +<colgroup><col><col></colgroup> <thead><tr> <th> <p> @@ -489,7 +485,7 @@ <p> </p> </div>-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"; width="100%"><tr> +<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"; width="100%"><tbody><tr>
<td align="left"></td><td align="right"><div class="copyright-footer">Copyright ?2006 , 2007, 2008 John Maddock, Paul A. Bristow, Hubert
Holin, Xiaogang Zhang and Bruno Lalande<p> @@ -497,10 +493,9 @@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></table> +</tr></tbody></table> <hr> <div class="spirit-nav">-<a accesskey="p" href="error_handling.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../main_overview.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="pol_overview.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a> +<a accesskey="p" href="history1.html"><img style="border: 0px solid ; width: 19px; height: 19px;" src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../status.html"><img style="border: 0px solid ; width: 19px; height: 19px;" 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="issues.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 fileModified: trunk/libs/math/doc/sf_and_dist/html/math_toolkit/status/history1.html
==============================================================================--- trunk/libs/math/doc/sf_and_dist/html/math_toolkit/status/history1.html (original) +++ trunk/libs/math/doc/sf_and_dist/html/math_toolkit/status/history1.html Mon Mar 30 23:38:41 2009
@@ -1,26 +1,25 @@ -<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>History and What's New</title>-<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
++<title>History and What's New</title><link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css"> <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot_2006-12-17_0120">
<link rel="start" href="../../index.html" title="Math Toolkit"> <link rel="up" href="../main_overview.html" title="Overview"> <link rel="prev" href="perf_over.html" title="Performance"> -<link rel="next" href="tr1.html" title="C99 and TR1 C Functions"> -</head>-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<link rel="next" href="tr1.html" title="C99 and TR1 C Functions"></head>+<body alink="#0000ff" bgcolor="white" link="#0000ff" text="black" vlink="#840084">
+<table cellpadding="2" width="100%"><tbody><tr>+<td valign="top"><img alt="Boost C++ Libraries" src="../../../../../../../boost.png" height="86" width="277"></td>
<td align="center"><a href="../../../../../../../index.html">Home</a></td><td align="center"><a href="../../../../../../../libs/libraries.htm">Libraries</a></td> <td align="center"><a href="http://www.boost.org/users/people.html";>People</a></td> <td align="center"><a href="http://www.boost.org/users/faq.html";>FAQ</a></td> <td align="center"><a href="../../../../../../../more/index.htm">More</a></td>
-</tr></table> +</tr></tbody></table> <hr> <div class="spirit-nav">-<a accesskey="p" href="perf_over.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../main_overview.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="tr1.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a> +<a accesskey="p" href="../status.html"><img style="border: 0px solid ; width: 19px; height: 19px;" src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../status.html"><img style="border: 0px solid ; width: 19px; height: 19px;" 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="compilers.html"><img style="border: 0px solid ; width: 19px; height: 19px;" src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
</div> <div class="section" lang="en"> <div class="titlepage"><div><div> @@ -30,14 +29,19 @@ </h3> </div></div></div> <p> - <a name="math_toolkit.main_overview.history1.boost_1_37_0"></a>+ </p><h5><a name="id893847"></a><a class="link" href="history1.html#math_toolkit.status.history1.boost_1_38_0">Boost-1.38.0</a>
+</h5> + +<div class="itemizedlist"> +<ul type="disc"><li>添加 Johan Råde 的优化浮点分类子程序。+</li><li>修正了代码,可以在 GCC 的 -pedantic 模式下编译(缺陷报告 <a href="https://svn.boost.org/trac/boost/ticket/1451"; target="_top">#1451</a>)。 +</li></ul></div><p><a name="math_toolkit.main_overview.history1.boost_1_37_0"></a>
</p> <h5> <a name="id507644"></a><a href="history1.html#math_toolkit.main_overview.history1.boost_1_37_0">Boost-1.37.0</a>
</h5> -<p> - </p> + <div class="itemizedlist"><ul type="disc"> <li> 改进反双曲函数的精度和测试。</li> @@ -49,8 +53,7 @@ <a name="id507676"></a><a href="history1.html#math_toolkit.main_overview.history1.boost_1_36_0">Boost-1.36.0</a>
</h5> -<p> - </p> + <div class="itemizedlist"><ul type="disc"> <li> 添加 非中心χ方形分布( Noncentral Chi Squared Distribution). @@ -89,8 +92,7 @@<a href="history1.html#math_toolkit.main_overview.history1.boost_1_35_0__post_review_first_official_release">Boost-1.35.0:
Post Review First Official Release</a> </h5> -<p> - </p> + <div class="itemizedlist"><ul type="disc"> <li> 添加策略框架来更好地控制函数的行为。</li> @@ -114,8 +116,7 @@<a href="history1.html#math_toolkit.main_overview.history1.milestone_4__second_review_candidate__1st_march_2007_">里 程碑
4:第二次复审候选 (1st March 2007)</a> </h5> -<p> - </p> + <div class="itemizedlist"><ul type="disc"> <li>将 Xiaogang Zhang 的Bessel 函数代码移植到这个库中,并将其与这个 库中的其它代码相整合起来。</li>
@@ -131,8 +132,7 @@<a href="history1.html#math_toolkit.main_overview.history1.milestone_3__first_review_candidate__31st_dec_2006_">里 程碑
3: 第一次复审候选 (31st Dec 2006)</a> </h5> -<p> - </p> + <div class="itemizedlist"><ul type="disc"> <li> 实现主要的概率分布和密度函数。</li> @@ -156,8 +156,7 @@<a href="history1.html#math_toolkit.main_overview.history1.milestone_2__released_september_10th_2006">里 程碑
2: September 10th 2006发行</a> </h5> -<p> - </p> + <div class="itemizedlist"><ul type="disc"> <li> 实现统计分布的预览发行( preview release )。</li> @@ -185,8 +184,7 @@<a href="history1.html#math_toolkit.main_overview.history1.milestone_1__released_march_31st_2006">里 程碑
1: March 31st 2006发行</a> </h5> -<p> - </p> + <div class="itemizedlist"><ul type="disc"> <li> 实现 gamma/beta/erf 函数以及不完全gamma/beta/erf 函数。</li> @@ -200,29 +198,26 @@ 提供足够的文档来使得用户可以很好地使用这个库。</li> </ul> </div> -<p> - </p> + <p> SVN 修正(Revisions):</p> -<p> - </p> + <p> Sandbox 和 trunk 在修正: 448300时最后同步。</p> <p> </p> </div>-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"; width="100%"><tr> +<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"; width="100%"><tbody><tr>
<td align="left"></td><td align="right"><div class="copyright-footer">Copyright ?2006 , 2007, 2008 John Maddock, Paul A. Bristow, Hubert
- Holin, Xiaogang Zhang and Bruno Lalande<p> + Holin, Xiaogang Zhang, Bruno Lalande and Johan Råde<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></table> +</tr></tbody></table> <hr> <div class="spirit-nav">-<a accesskey="p" href="perf_over.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../main_overview.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="tr1.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a> +<a accesskey="p" href="../status.html"><img style="border: 0px solid ; width: 19px; height: 19px;" src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../status.html"><img style="border: 0px solid ; width: 19px; height: 19px;" 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="compilers.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 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 Mon Mar 30 23:38:41 2009
@@ -1,4 +1,4 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0.1 Transitional//EN"> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0.1 Transitional//EN"> <html><head> @@ -194,15 +194,7 @@ <li> - <a href="#msvc_80">Microsoft Visual C++ 8.0 及后续版本</a></li> - - -- <li><a href="#msvc_80_x86_amd64">Microsoft Visual C++ 8.0 x64 交叉编译器 </a></li>
- - - - <li><a href="#sun_11">Sun Studio 10 for Solaris 及后续版本</a></li>+ <a href="#msvc_80">Microsoft Visual C++ 8.0 及后续版本</a></li><li><a href="#sun_11">Sun Studio 10 for Solaris 及后续版本</a></li>
@@ -301,58 +293,21 @@ - <li>GCC 3.2 20020927 (prerelease) under Cygwin 1.5.7,</li> - - - - <li>GCC 3.2.3 under Linux,</li> - - - - <li>GCC 3.3.5 (qnx-nto) under QNX 6.3.0 and QNX 6.3.2, - </li> - - - <li>GCC 3.3.6 under Linux,</li> - - - - <li>GCC 3.4.2 (mingw-special) under Win32, - (mingw-special) + STLport 5.0.1 under Win32,</li> - - - - <li>GCC 3.4.3 under Solaris,</li> - - - - <li>GCC 3.4.4 under Linux and Tru64 (<a href="#gcc_tru64">见后</a>),</li> - - - - <li>GCC 3.4.5 under Linux and Linux x86-64, (mingw-special) under Win32, - (mingw-special) + STLport 5.0.1 under Win32, - (mingw-special) + STLport 5.1.0 under Win32,</li> - - - - <li>GCC 4.0.1 (Apple build 5250) under Mac OS,</li> - - - - <li>GCC 4.0.3 under Linux and Tru64 (<a href="#gcc_tru64">见后</a>),</li> - - - - <li>GCC 4.1.0 under Linux and Linux x86-64,</li> - - - - <li>GCC 4.1.1 (OpenPKG-2-STABLE) under Solaris.</li> - - - -</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, +</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> Boost.MultiIndex 不能工作于版本3.1及之前的GCC。 @@ -492,12 +447,12 @@ 没有其它问题。最后测试的编译器版本是 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。</p><h2><a name="cw_83">Metrowerks CodeWarrior 8.3</a></h2> +<p>没有发现问题。最后测试的编译器版本是 10.1 至 11.0。</p><h2><a name="cw_83">Metrowerks CodeWarrior 8.3</a></h2>
-<p>以给定类型进行实例化的预定义键提取器不提供派生类型的对象。例如:+<p><b>说明:</b> 最近的测试为 Boost 1.36。以下信息可能不再准确。 </p><p>以给 定类型进行实例化的预定义键提取器不提供派生类型的对象。例如:
</p> @@ -878,29 +833,8 @@-<p>Boost.MultiIndex 可以在此配置下工作。与 MSVC++ 6.0 + Dinkumware标准库遇 到的限制一样。STLport 4.6.2
-和 5.0.1 也已确认工作正常。 -</p> - - - - -<blockquote> - - - <hr></blockquote> - - - - -<p>与STLport的动态版本工作时,不能使用 Boost.MultiIndex-的序列化功能,会产生链接错误。这时要使用STLport的静态版本。该缺陷已在 STLport 5.0中修复。
-</p> - - - - -<h2><a name="msvc_70">Microsoft Visual C++ 7.0</a></h2>+<p><b>注:</b>最近的测试在 Boost 1.36 中。这个信息可能不再准确。 </p><p>Boost.MultiIndex 可以在此配置下工作。与 MSVC++ 6.0 + Dinkumware标准库 遇到的限制一样。STLport 4.6.2 +和 5.0.1 也已确认工作正常。</p><h2><a name="msvc_70">Microsoft Visual C++ 7.0</a></h2>
@@ -1114,18 +1048,7 @@-<p>没有发现问题。最后测试的是编译器版本8.0和9.0。</p><h2><a name="msvc_80_x86_amd64">Microsoft Visual C++ 8.0 x64 交叉编译器 及后续版本 </a></h2>
- - - - -<p>没有发现问题。最后测试的是编译器版本9.0。 -</p> - - - - -<h2><a name="sun_11">Sun Studio 10 for Solaris 及后续版本</a></h2>+<p>没有发现问题,包括32位和64位模式。最后测试的是编译器版本8.0和9.0。 </p><h2><a name="sun_11">Sun Studio 10 for Solaris 及后续版本</a></h2>
@@ -1752,15 +1675,5 @@ -<br> - - - - -<p>Revised October 6th 2008</p> - - - - -<p>© Copyright 2003-2008 Joaquín M López Muñoz. Distributed under the Boost+<br><p>Revised December 19th 2008</p><p>© Copyright 2003-2008 Joaquín M López Muñoz. Distributed under the Boost Software License, Version 1.0. (See accompanying file <a href="../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt";>http://www.boost.org/LICENSE_1_0.txt</a>)</p></body></html>
Modified: trunk/libs/multi_index/doc/reference/hash_indices.html ============================================================================== --- trunk/libs/multi_index/doc/reference/hash_indices.html (original)+++ trunk/libs/multi_index/doc/reference/hash_indices.html Mon Mar 30 23:38:41 2009
@@ -53,7 +53,6 @@ <link rel="next" href="seq_indices.html"></head> - <body> @@ -452,7 +451,7 @@<span class="identifier">iterator</span> <span class="identifier">begin</span><span class="special">();</span> <span class="identifier">const_iterator</span> <span class="identifier">begin</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> <span class="identifier">iterator</span> <span class="identifier">end</span><span class="special">();</span> - <span class="identifier">const_iterator</span> <span class="identifier">end</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> + <span class="identifier">const_iterator</span> <span class="identifier">end</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span><br> <span class="identifier">const_iterator</span> <span class="identifier">cbegin</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span><br> <span class="identifier">const_iterator</span> <span class="identifier">cend</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span><br> <br> <span class="identifier">iterator</span> <span class="identifier">iterator_to</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">value_type</span><span class="special">&</span> <span class="identifier">x</span><span class="special">);</span><br> <span class="identifier">const_iterator</span> <span class="identifier">iterator_to</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">value_type</span><span class="special">&</span> <span class="identifier">x</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span><span class="special"></span>
<span class="comment">// 修饰器:</span> @@ -781,7 +780,7 @@ -<h4><a name="iterators">Iterators</a></h4> +<h4><a name="iterators">迭代器</a></h4> <code>iterator iterator_to(const value_type& x);<br> const_iterator iterator_to(const value_type& @@ -1807,8 +1806,8 @@ <br> -<p>Revised July 2nd 2007</p> +<p>Revised June 25th 2008</p> -<p>© Copyright 2003-2007 Joaquín M López Muñoz. Distributed under the Boost +<p>© Copyright 2003-2008 Joaquín M López Muñoz. Distributed under the BoostSoftware 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/multi_index/doc/reference/key_extraction.html ============================================================================== --- trunk/libs/multi_index/doc/reference/key_extraction.html (original)+++ trunk/libs/multi_index/doc/reference/key_extraction.html Mon Mar 30 23:38:41 2009
@@ -1,6 +1,5 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0.1 Transitional//EN"> -<html> -<head> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0.1 Transitional//EN"> +<html><head> @@ -25,8 +24,8 @@ - <title>Boost.MultiIndex Documentation - Key extraction reference</title> - <link rel="stylesheet" href="../style.css" type="text/css"> ++ <title>Boost.MultiIndex Documentation - Key extraction reference</title><link rel="stylesheet" href="../style.css" type="text/css">
@@ -66,9 +65,7 @@ - <link rel="next" href="../compiler_specifics.html"> -</head> - + <link rel="next" href="../compiler_specifics.html"></head> <body> @@ -622,7 +619,7 @@ <p> -Boost.MultiIndex 提供了五种多用途的键提取器: +Boost.MultiIndex 提供了六种多用途的键提取器: </p> @@ -652,7 +649,7 @@ - <li><a href="#mem_fun"><code>mem_fun</code></a> 和</li>+ <li><a href="#mem_fun"><code>mem_fun</code></a>,</li><li><a href="#global_fun"><code>global_fun</code></a> 和</li>
@@ -764,9 +761,7 @@<pre><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">multi_index</span><span class="special">/</span><span class="identifier">identity</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> <span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">multi_index</span><span class="special">/</span><span class="identifier">member</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> -<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">multi_index</span><span class="special">/</span><span class="identifier">mem_fun</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> -<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">multi_index</span><span class="special">/</span><span class="identifier">composite_key</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span>
- </pre>+<span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">multi_index</span><span class="special">/</span><span class="identifier">mem_fun</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">><br></span><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">multi_index</span><span class="special">/</span><span class="identifier">global_fun</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">><br></span><span class="preprocessor">#include</span> <span class="special"><</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">multi_index</span><span class="special">/</span><span class="identifier">composite_key</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">></span> </pre>
@@ -4599,11 +4594,7 @@ -<br> -<p>Revised August 2nd 2007</p> --<p>© Copyright 2003-2007 Joaquín M López Muñoz. Distributed under the Boost +<br><p>Revised June 25th 2008</p><p>© Copyright 2003-2008 Joaquín M López Muñoz. Distributed under the Boost Software License, Version 1.0. (See accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt";>http://www.boost.org/LICENSE_1_0.txt</a>)
</p> -</body> -</html> +</body></html> \ No newline at end of file Modified: trunk/libs/multi_index/doc/reference/multi_index_container.html ==============================================================================--- trunk/libs/multi_index/doc/reference/multi_index_container.html (original) +++ trunk/libs/multi_index/doc/reference/multi_index_container.html Mon Mar 30 23:38:41 2009
@@ -53,7 +53,6 @@ <link rel="next" href="indices.html"></head> - <body> @@ -271,126 +270,7 @@- <pre><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span>
--<span class="keyword">namespace</span> <span class="identifier">multi_index</span><span class="special">{</span>
--<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Value</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">></span> -<span class="keyword">class</span> <span class="identifier">multi_index_container</span><span class="special">;</span>
- -<span class="comment">// multi_index_container 相关的全局类模板:</span> --<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">MultiIndexContainer</span><span class="special">,</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">></span> <span class="keyword">struct</span> <span class="identifier">nth_index</span><span class="special">;</span> -<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">MultiIndexContainer</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">></span> <span class="keyword">struct</span> <span class="identifier">index</span><span class="special">;</span> -<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">MultiIndexContainer</span><span class="special">,</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">></span> <span class="keyword">struct</span> <span class="identifier">nth_index_iterator</span><span class="special">;</span> -<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">MultiIndexContainer</span><span class="special">,</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">></span> <span class="keyword">struct</span> <span class="identifier">nth_index_const_iterator</span><span class="special">;</span> -<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">MultiIndexContainer</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">></span> <span class="keyword">struct</span> <span class="identifier">index_iterator</span><span class="special">;</span> -<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">MultiIndexContainer</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">></span> <span class="keyword">struct</span> <span class="identifier">index_const_iterator</span><span class="special">;</span>
--<span class="comment">// multi_index_container 全局函数用于索引取 出:</span>
- -<span class="keyword">template</span><span class="special"><</span>- <span class="keyword">int</span> <span class="identifier">N</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Value</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Allocator</span>
-<span class="special">></span>-<span class="keyword">typename</span> <span class="identifier">nth_index</span><span class="special"><</span> - <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>,</span><span class="identifier">N</span> -<span class="special">>::</span><span class="identifier">type</span><span class="special">&</span> -<span class="identifier">get</span><span class="special">(</span><span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">m</span><span class="special">);</span>
- -<span class="keyword">template</span><span class="special"><</span>- <span class="keyword">int</span> <span class="identifier">N</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Value</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Allocator</span>
-<span class="special">></span>-<span class="keyword">const</span> <span class="keyword">typename</span> <span class="identifier">nth_index</span><span class="special"><</span> - <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>,</span><span class="identifier">N</span> -<span class="special">>::</span><span class="identifier">type</span><span class="special">&</span> -<span class="identifier">get</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">m</span><span class="special">);</span>
- -<span class="keyword">template</span><span class="special"><</span>- <span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Value</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Allocator</span>
-<span class="special">></span>-<span class="keyword">typename</span> <span class="identifier">index</span><span class="special"><</span> - <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>,</span><span class="identifier">Tag</span> -<span class="special">>::</span><span class="identifier">type</span><span class="special">&</span> -<span class="identifier">get</span><span class="special">(</span><span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">m</span><span class="special">);</span>
- -<span class="keyword">template</span><span class="special"><</span>- <span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Value</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Allocator</span>
-<span class="special">></span>-<span class="keyword">const</span> <span class="keyword">typename</span> <span class="identifier">index</span><span class="special"><</span> - <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>,</span><span class="identifier">Tag</span> -<span class="special">>::</span><span class="identifier">type</span><span class="special">&</span> -<span class="identifier">get</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">m</span><span class="special">);</span>
--<span class="comment">// multi_index_container 全局函数用于迭代器投 影:</span>
- -<span class="keyword">template</span><span class="special"><</span>- <span class="keyword">int</span> <span class="identifier">N</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IteratorType</span><span class="special">,</span> - <span class="keyword">typename</span> <span class="identifier">Value</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Allocator</span>
-<span class="special">></span>-<span class="keyword">typename</span> <span class="identifier">nth_index_iterator</span><span class="special"><</span> - <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>,</span><span class="identifier">N</span>
-<span class="special">>::</span><span class="identifier">type</span> -<span class="identifier">project</span><span class="special">(</span>- <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">m</span><span class="special">,</span> - <span class="identifier">IteratorType</span> <span class="identifier">it</span><span class="special">);</span>
- -<span class="keyword">template</span><span class="special"><</span>- <span class="keyword">int</span> <span class="identifier">N</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IteratorType</span><span class="special">,</span> - <span class="keyword">typename</span> <span class="identifier">Value</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Allocator</span>
-<span class="special">></span>-<span class="keyword">typename</span> <span class="identifier">nth_index_const_iterator</span><span class="special"><</span> - <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>,</span><span class="identifier">N</span>
-<span class="special">>::</span><span class="identifier">type</span> -<span class="identifier">project</span><span class="special">(</span>- <span class="keyword">const</span> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">m</span><span class="special">,</span> - <span class="identifier">IteratorType</span> <span class="identifier">it</span><span class="special">);</span>
- -<span class="keyword">template</span><span class="special"><</span>- <span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IteratorType</span><span class="special">,</span> - <span class="keyword">typename</span> <span class="identifier">Value</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Allocator</span>
-<span class="special">></span>-<span class="keyword">typename</span> <span class="identifier">index_iterator</span><span class="special"><</span> - <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>,</span><span class="identifier">Tag</span>
-<span class="special">>::</span><span class="identifier">type</span> -<span class="identifier">project</span><span class="special">(</span>- <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">m</span><span class="special">,</span> - <span class="identifier">IteratorType</span> <span class="identifier">it</span><span class="special">);</span>
- -<span class="keyword">template</span><span class="special"><</span>- <span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IteratorType</span><span class="special">,</span> - <span class="keyword">typename</span> <span class="identifier">Value</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Allocator</span>
-<span class="special">></span>-<span class="keyword">typename</span> <span class="identifier">index_const_iterator</span><span class="special"><</span> - <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>,</span><span class="identifier">Tag</span>
-<span class="special">>::</span><span class="identifier">type</span> -<span class="identifier">project</span><span class="special">(</span>- <span class="keyword">const</span> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">m</span><span class="special">,</span> - <span class="identifier">IteratorType</span> <span class="identifier">it</span><span class="special">);</span>
- -<span class="comment">// 比较:</span> --<span class="comment">// <b>OP</b> is any of ==,<,!=,>,>=,<=</span>
- -<span class="keyword">template</span><span class="special"><</span>- <span class="keyword">typename</span> <span class="identifier">Value1</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IndexSpecifierList1</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Allocator1</span><span class="special">,</span> - <span class="keyword">typename</span> <span class="identifier">Value2</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IndexSpecifierList2</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Allocator2</span>
-<span class="special">></span>-<span class="keyword">bool</span> <span class="keyword">operator</span> <b><i>OP</i></b><span class="special">(</span> - <span class="keyword">const</span> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value1</span><span class="special">,</span><span class="identifier">IndexSpecifierList1</span><span class="special">,</span><span class="identifier">Allocator1</span><span class="special">>&</span> <span class="identifier">x</span><span class="special">,</span> - <span class="keyword">const</span> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value2</span><span class="special">,</span><span class="identifier">IndexSpecifierList2</span><span class="special">,</span><span class="identifier">Allocator2</span><span class="special">>&</span> <span class="identifier">y</span><span class="special">);</span>
- -<span class="comment">// 特殊算法:</span> --<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Value</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">></span> -<span class="keyword">void</span> <span class="identifier">swap</span><span class="special">(</span> - <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">x</span><span class="special">,</span> - <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">y</span><span class="special">);</span>
--<span class="special">}</span> <span class="comment">// namespace boost::multi_index</span> <br><br><span class="keyword">using</span> <span class="identifier">multi_index</span><span class="special">::</span><span class="identifier">multi_index_container</span><span class="special">;</span> -<span class="keyword">using</span> <span class="identifier">multi_index</span><span class="special">::</span><span class="identifier">get</span><span class="special">;</span> -<span class="keyword">using</span> <span class="identifier">multi_index</span><span class="special">::</span><span class="identifier">project</span><span class="special">;</span>
--<span class="special">}</span> <span class="comment">// namespace boost</span> + <pre><span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">{</span><br><br><span class="keyword">namespace</span> <span class="identifier">multi_index</span><span class="special">{</span><br><br><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Value</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">></span><br><span class="keyword">class</span> <span class="identifier">multi_index_container</span><span class="special">;</span><br><br><span class="comment">// multi_index_container associated global class templates:</span><br><br><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">MultiIndexContainer</span><span class="special">,</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">></span> <span class="keyword">struct</span> <span class="identifier">nth_index</span><span class="special">;</span><br><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">MultiIndexContainer</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">></span> <span class="keyword">struct</span> <span class="identifier">index</span><span class="special">;</span><br><br><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">MultiIndexContainer</span><span class="special">,</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">></span><br><span class="keyword">struct</span> <span class="identifier">nth_index_iterator</span><span class="special">;</span> <span class="comment"><b>// deprecated</b></span><br><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">MultiIndexContainer</span><span class="special">,</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">></span><br><span class="keyword">struct</span> <span class="identifier">nth_index_const_iterator</span><span class="special">;</span> <span class="comment"><b>// deprecated</b></span><br><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">MultiIndexContainer</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">></span><br><span class="keyword">struct</span> <span class="identifier">index_iterator</span><span class="special">;</span> <span class="comment"><b>// deprecated</b></span><br><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">MultiIndexContainer</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">></span><br><span class="keyword">struct</span> <span class="identifier">index_const_iterator</span><span class="special">;</span> <span class="comment"><b>// deprecated</b></span><br><br><span class="comment">// multi_index_container global functions for index retrieval:</span><br><br><span class="keyword">template</span><span class="special"><</span><br> <span class="keyword">int</span> <span class="identifier">N</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Value</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Allocator</span><br><span class="special">></span><br><span class="keyword">typename</span> <span class="identifier">nth_index</span><span class="special"><</span><br> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>,</span><span class="identifier">N</span><br><span class="special">>::</span><span class="identifier">type</span><span class="special">&</span><br><span class="identifier">get</span><span class="special">(</span><span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">m</span><span class="special">);</span><br><br><span class="keyword">template</span><span class="special"><</span><br> <span class="keyword">int</span> <span class="identifier">N</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Value</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Allocator</span><br><span class="special">></span><br><span class="keyword">const</span> <span class="keyword">typename</span> <span class="identifier">nth_index</span><span class="special"><</span><br> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>,</span><span class="identifier">N</span><br><span class="special">>::</span><span class="identifier">type</span><span class="special">&</span><br><span class="identifier">get</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">m</span><span class="special">);</span><br><br><span class="keyword">template</span><span class="special"><</span><br> <span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Value</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Allocator</span><br><span class="special">></span><br><span class="keyword">typename</span> <span class="identifier">index</span><span class="special"><</span><br> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>,</span><span class="identifier">Tag</span><br><span class="special">>::</span><span class="identifier">type</span><span class="special">&</span><br><span class="identifier">get</span><span class="special">(</span><span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">m</span><span class="special">);</span><br><br><span class="keyword">template</span><span class="special"><</span><br> <span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Value</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Allocator</span><br><span class="special">></span><br><span class="keyword">const</span> <span class="keyword">typename</span> <span class="identifier">index</span><span class="special"><</span><br> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>,</span><span class="identifier">Tag</span><br><span class="special">>::</span><span class="identifier">type</span><span class="special">&</span><br><span class="identifier">get</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">m</span><span class="special">);</span><br><br><span class="comment">// multi_index_container global functions for projection of iterators:</span><br><br><span class="keyword">template</span><span class="special"><</span><br> <span class="keyword">int</span> <span class="identifier">N</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IteratorType</span><span class="special">,</span><br> <span class="keyword">typename</span> <span class="identifier">Value</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Allocator</span><br><span class="special">></span><br><span class="keyword">typename</span> <span class="identifier">nth_index</span><span class="special"><</span><br> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>,</span><span class="identifier">N</span><br><span class="special">>::</span><span class="identifier">type</span><span class="special">::</span><span class="identifier">iterator</span><br><span class="identifier">project</span><span class="special">(</span><br> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">m</span><span class="special">,</span><br> <span class="identifier">IteratorType</span> <span class="identifier">it</span><span class="special">);</span><br><br><span class="keyword">template</span><span class="special"><</span><br> <span class="keyword">int</span> <span class="identifier">N</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IteratorType</span><span class="special">,</span><br> <span class="keyword">typename</span> <span class="identifier">Value</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Allocator</span><br><span class="special">></span><br><span class="keyword">typename</span> <span class="identifier">nth_index</span><span class="special"><</span><br> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>,</span><span class="identifier">N</span><br><span class="special">>::</span><span class="identifier">type</span><span class="special">::</span><span class="identifier">const_iterator</span><br><span class="identifier">project</span><span class="special">(</span><br> <span class="keyword">const</span> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">m</span><span class="special">,</span><br> <span class="identifier">IteratorType</span> <span class="identifier">it</span><span class="special">);</span><br><br><span class="keyword">template</span><span class="special"><</span><br> <span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IteratorType</span><span class="special">,</span><br> <span class="keyword">typename</span> <span class="identifier">Value</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Allocator</span><br><span class="special">></span><br><span class="keyword">typename</span> <span class="identifier">index</span><span class="special"><</span><br> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>,</span><span class="identifier">Tag</span><br><span class="special">>::</span><span class="identifier">type</span><span class="special">::</span><span class="identifier">iterator</span><br><span class="identifier">project</span><span class="special">(</span><br> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">m</span><span class="special">,</span><br> <span class="identifier">IteratorType</span> <span class="identifier">it</span><span class="special">);</span><br><br><span class="keyword">template</span><span class="special"><</span><br> <span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IteratorType</span><span class="special">,</span><br> <span class="keyword">typename</span> <span class="identifier">Value</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Allocator</span><br><span class="special">></span><br><span class="keyword">typename</span> <span class="identifier">index</span><span class="special"><</span><br> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>,</span><span class="identifier">Tag</span><br><span class="special">>::</span><span class="identifier">type</span><span class="special">::</span><span class="identifier">const_iterator</span><br><span class="identifier">project</span><span class="special">(</span><br> <span class="keyword">const</span> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">m</span><span class="special">,</span><br> <span class="identifier">IteratorType</span> <span class="identifier">it</span><span class="special">);</span><br><br><span class="comment">// comparison:</span><br><br><span class="comment">// <b>OP</b> is any of ==,<,!=,>,>=,<=</span><br><br><span class="keyword">template</span><span class="special"><</span><br> <span class="keyword">typename</span> <span class="identifier">Value1</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IndexSpecifierList1</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Allocator1</span><span class="special">,</span><br> <span class="keyword">typename</span> <span class="identifier">Value2</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IndexSpecifierList2</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Allocator2</span><br><span class="special">></span><br><span class="keyword">bool</span> <span class="keyword">operator</span> <b><i>OP</i></b><span class="special">(</span><br> <span class="keyword">const</span> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value1</span><span class="special">,</span><span class="identifier">IndexSpecifierList1</span><span class="special">,</span><span class="identifier">Allocator1</span><span class="special">>&</span> <span class="identifier">x</span><span class="special">,</span><br> <span class="keyword">const</span> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value2</span><span class="special">,</span><span class="identifier">IndexSpecifierList2</span><span class="special">,</span><span class="identifier">Allocator2</span><span class="special">>&</span> <span class="identifier">y</span><span class="special">);</span><br><br><span class="comment">// specialized algorithms:</span><br><br><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Value</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">></span><br><span class="keyword">void</span> <span class="identifier">swap</span><span class="special">(</span><br> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">x</span><span class="special">,</span><br> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">y</span><span class="special">);</span><br><br><span class="special">}</span> <span class="comment">// namespace boost::multi_index</span> <br><br><span class="keyword">using</span> <span class="identifier">multi_index</span><span class="special">::</span><span class="identifier">multi_index_container</span><span class="special">;</span><br><span class="keyword">using</span> <span class="identifier">multi_index</span><span class="special">::</span><span class="identifier">get</span><span class="special">;</span><br><span class="keyword">using</span> <span class="identifier">multi_index</span><span class="special">::</span><span class="identifier">project</span><span class="special">;</span><br><br><span class="special">}</span> <span class="comment">// namespace boost</span><span class="comment"></span>
</pre> @@ -436,236 +316,7 @@- <pre><span class="keyword">template</span><span class="special"><</span> - <span class="keyword">typename</span> <span class="identifier">Value</span><span class="special">,</span> - <span class="keyword">typename</span> <span class="identifier">IndexSpecifierList</span><span class="special">=</span><span class="identifier">indexed_by</span><span class="special"><</span><span class="identifier">ordered_unique</span><span class="special"><</span><span class="identifier">identity</span><span class="special"><</span><span class="identifier">Value</span><span class="special">></span> <span class="special">></span> <span class="special">>,</span> - <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">=</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">allocator</span><span class="special"><</span><span class="identifier">Value</span><span class="special">></span> <span class="special">></span> -<span class="keyword">class</span> <span class="identifier">multi_index_container</span>
-<span class="special">{</span> -<span class="keyword">public</span><span class="special">:</span> - - <span class="comment">// 类型:</span> -- <span class="keyword">typedef</span> <b>implementation defined</b> <span class="identifier">ctor_args_list</span><span class="special">;</span> - <span class="keyword">typedef</span> <b>implementation defined</b> <span class="identifier">index_specifier_type_list</span><span class="special">;</span> - <span class="keyword">typedef</span> <b>implementation defined</b> <span class="identifier">index_type_list</span><span class="special">;</span> - <span class="keyword">typedef</span> <b>implementation defined</b> <span class="identifier">iterator_type_list</span><span class="special">;</span> - <span class="keyword">typedef</span> <b>implementation defined</b> <span class="identifier">const_iterator_type_list</span><span class="special">;</span> - <span class="keyword">typedef</span> <span class="identifier">Allocator</span> <span class="identifier">allocator_type</span><span class="special">;</span>
- - <span class="comment">// 嵌套类模板:</span> -- <span class="keyword">template</span><span class="special"><</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">></span> - <span class="keyword">struct</span> <span class="identifier">nth_index</span> <span class="special">{</span><span class="keyword">typedef</span> <b>implementation defined</b> <span class="identifier">type</span><span class="special">;};</span> - <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">></span> - <span class="keyword">struct</span> <span class="identifier">index</span> <span class="special">{</span><span class="keyword">typedef</span> <b>implementation defined</b> <span class="identifier">type</span><span class="special">;};</span> - <span class="keyword">template</span><span class="special"><</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">></span> - <span class="keyword">struct</span> <span class="identifier">nth_index_iterator</span> <span class="special">{</span><span class="keyword">typedef</span> <b>implementation defined</b> <span class="identifier">type</span><span class="special">;};</span> - <span class="keyword">template</span><span class="special"><</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">></span> - <span class="keyword">struct</span> <span class="identifier">nth_index_const_iterator</span> <span class="special">{</span><span class="keyword">typedef</span> <b>implementation defined</b> <span class="identifier">type</span><span class="special">;};</span> - <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">></span> - <span class="keyword">struct</span> <span class="identifier">index_iterator</span> <span class="special">{</span><span class="keyword">typedef</span> <b>implementation defined</b> <span class="identifier">type</span><span class="special">;};</span> - <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">></span> - <span class="keyword">struct</span> <span class="identifier">index_const_iterator</span> <span class="special">{</span><span class="keyword">typedef</span> <b>implementation defined</b> <span class="identifier">type</span><span class="special">;};</span>
- - <span class="comment">// 构造/复制/析构:</span> -- <span class="keyword">explicit</span> <span class="identifier">multi_index_container</span><span class="special">(<br> </span><span class="keyword">const</span> <span class="identifier">ctor_args_list</span><span class="special">&</span> <span class="identifier">args_list</span><span class="special">=</span><span class="identifier">ctor_args_list</span><span class="special">(),<br> </span><span class="keyword">const</span> <span class="identifier">allocator_type</span><span class="special">&</span> <span class="identifier">al</span><span class="special">=</span><span class="identifier">allocator_type</span><span class="special">());</span><br> <span class="keyword">explicit</span> <span class="identifier">multi_index_container</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">allocator_type</span><span class="special">&</span> <span class="identifier">al</span><span class="special">);</span> - <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">InputIterator</span><span class="special">></span> - <span class="identifier">multi_index_container</span><span class="special">(</span> - <span class="identifier">InputIterator</span> <span class="identifier">first</span><span class="special">,</span><span class="identifier">InputIterator</span> <span class="identifier">last</span><span class="special">,</span> - <span class="keyword">const</span> <span class="identifier">ctor_args_list</span><span class="special">&</span> <span class="identifier">args_list</span><span class="special">=</span><span class="identifier">ctor_args_list</span><span class="special">(),<br> </span><span class="keyword">const</span> <span class="identifier">allocator_type</span><span class="special">&</span> <span class="identifier">al</span><span class="special">=</span><span class="identifier">allocator_type</span><span class="special">());</span> - <span class="identifier">multi_index_container</span><span class="special">(</span> - <span class="keyword">const</span> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">x</span><span class="special">);</span>
-- <span class="special">~</span><span class="identifier">multi_index_container</span><span class="special">();</span>
-- <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>&</span> <span class="keyword">operator</span><span class="special">=(</span> - <span class="keyword">const</span> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">x</span><span class="special">);</span>
-- <span class="identifier">allocator_type</span> <span class="identifier">get_allocator</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
- - <span class="comment">// 索引取出</span> -- <span class="keyword">template</span><span class="special"><</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">></span> <span class="keyword">typename</span> <span class="identifier">nth_index</span><span class="special"><</span><span class="identifier">N</span><span class="special">>::</span><span class="identifier">type</span><span class="special">&</span> <span class="identifier">get</span><span class="special">();</span> - <span class="keyword">template</span><span class="special"><</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">></span> <span class="keyword">const</span> <span class="keyword">typename</span> <span class="identifier">nth_index</span><span class="special"><</span><span class="identifier">N</span><span class="special">>::</span><span class="identifier">type</span><span class="special">&</span> <span class="identifier">get</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">></span> <span class="keyword">typename</span> <span class="identifier">index</span><span class="special"><</span><span class="identifier">Tag</span><span class="special">>::</span><span class="identifier">type</span><span class="special">&</span> <span class="identifier">get</span><span class="special">()</span> - <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">></span> <span class="keyword">const</span> <span class="keyword">typename</span> <span class="identifier">index</span><span class="special"><</span><span class="identifier">Tag</span><span class="special">>::</span><span class="identifier">type</span><span class="special">&</span> <span class="identifier">get</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
- - <span class="comment">// 迭代器投影</span> -- <span class="keyword">template</span><span class="special"><</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IteratorType</span><span class="special">></span> - <span class="keyword">typename</span> <span class="identifier">nth_index_iterator</span><span class="special"><</span><span class="identifier">N</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">project</span><span class="special">(</span><span class="identifier">IteratorType</span> <span class="identifier">it</span><span class="special">);</span> - <span class="keyword">template</span><span class="special"><</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IteratorType</span><span class="special">></span> - <span class="keyword">typename</span> <span class="identifier">nth_index_const_iterator</span><span class="special"><</span><span class="identifier">N</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">project</span><span class="special">(</span><span class="identifier">IteratorType</span> <span class="identifier">it</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span> - <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IteratorType</span><span class="special">></span> - <span class="keyword">typename</span> <span class="identifier">index_iterator</span><span class="special"><</span><span class="identifier">Tag</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">project</span><span class="special">(</span><span class="identifier">IteratorType</span> <span class="identifier">it</span><span class="special">);</span> - <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IteratorType</span><span class="special">></span> - <span class="keyword">typename</span> <span class="identifier">index_const_iterator</span><span class="special"><</span><span class="identifier">Tag</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">project</span><span class="special">(</span><span class="identifier">IteratorType</span> <span class="identifier">it</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
-<span class="special">};</span> - -<span class="comment">// multi_index_container 相关的全局类模板:</span> --<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">MultiIndexContainer</span><span class="special">,</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">></span> <span class="keyword">struct</span> <span class="identifier">nth_index</span>
-<span class="special">{</span>- <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">MultiIndexContainer</span><span class="special">::</span><span class="identifier">nth_index</span><span class="special"><</span><span class="identifier">N</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</span>
-<span class="special">};</span> --<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">MultiIndexContainer</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">></span> <span class="keyword">struct</span> <span class="identifier">index</span>
-<span class="special">{</span>- <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">MultiIndexContainer</span><span class="special">::</span><span class="identifier">index</span><span class="special"><</span><span class="identifier">Tag</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</span>
-<span class="special">};</span> --<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">MultiIndexContainer</span><span class="special">,</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">></span> <span class="keyword">struct</span> <span class="identifier">nth_index_iterator</span>
-<span class="special">{</span>- <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">MultiIndexContainer</span><span class="special">::</span><span class="identifier">nth_index_iterator</span><span class="special"><</span><span class="identifier">N</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</span>
-<span class="special">};</span> --<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">MultiIndexContainer</span><span class="special">,</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">></span> <span class="keyword">struct</span> <span class="identifier">nth_index_const_iterator</span>
-<span class="special">{</span>- <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">MultiIndexContainer</span><span class="special">::</span><span class="identifier">nth_index_const_iterator</span><span class="special"><</span><span class="identifier">N</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</span>
-<span class="special">};</span> --<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">MultiIndexContainer</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">></span> <span class="keyword">struct</span> <span class="identifier">index_iterator</span>
-<span class="special">{</span>- <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">MultiIndexContainer</span><span class="special">::</span><span class="identifier">index_iterator</span><span class="special"><</span><span class="identifier">Tag</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</span>
-<span class="special">};</span> --<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">MultiIndexContainer</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">></span> <span class="keyword">struct</span> <span class="identifier">index_const_iterator</span>
-<span class="special">{</span>- <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">MultiIndexContainer</span><span class="special">::</span><span class="identifier">index_const_iterator</span><span class="special"><</span><span class="identifier">Tag</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</span>
-<span class="special">};</span> --<span class="comment">// multi_index_container 全局函数,用于索引取 出:</span>
- -<span class="keyword">template</span><span class="special"><</span>- <span class="keyword">int</span> <span class="identifier">N</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Value</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Allocator</span>
-<span class="special">></span>-<span class="keyword">typename</span> <span class="identifier">nth_index</span><span class="special"><</span> - <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>,</span><span class="identifier">N</span> -<span class="special">>::</span><span class="identifier">type</span><span class="special">&</span> -<span class="identifier">get</span><span class="special">(</span><span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">m</span><span class="special">)</span>
-<span class="special">{</span>- <span class="keyword">return</span> <span class="identifier">m</span><span class="special">.</span><span class="identifier">get</span><span class="special"><</span><span class="identifier">N</span><span class="special">>();</span>
-<span class="special">}</span> - -<span class="keyword">template</span><span class="special"><</span>- <span class="keyword">int</span> <span class="identifier">N</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Value</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Allocator</span>
-<span class="special">></span>-<span class="keyword">const</span> <span class="keyword">typename</span> <span class="identifier">nth_index</span><span class="special"><</span> - <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>,</span><span class="identifier">N</span> -<span class="special">>::</span><span class="identifier">type</span><span class="special">&</span> -<span class="identifier">get</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">m</span><span class="special">)</span>
-<span class="special">{</span>- <span class="keyword">return</span> <span class="identifier">m</span><span class="special">.</span><span class="identifier">get</span><span class="special"><</span><span class="identifier">N</span><span class="special">>();</span>
-<span class="special">}</span> - -<span class="keyword">template</span><span class="special"><</span>- <span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Value</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Allocator</span>
-<span class="special">></span>-<span class="keyword">typename</span> <span class="identifier">index</span><span class="special"><</span> - <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>,</span><span class="identifier">Tag</span> -<span class="special">>::</span><span class="identifier">type</span><span class="special">&</span> -<span class="identifier">get</span><span class="special">(</span><span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">m</span><span class="special">)</span>
-<span class="special">{</span>- <span class="keyword">return</span> <span class="identifier">m</span><span class="special">.</span><span class="identifier">get</span><span class="special"><</span><span class="identifier">Tag</span><span class="special">>();</span>
-<span class="special">}</span> - -<span class="keyword">template</span><span class="special"><</span>- <span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Value</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Allocator</span>
-<span class="special">></span>-<span class="keyword">const</span> <span class="keyword">typename</span> <span class="identifier">index</span><span class="special"><</span> - <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>,</span><span class="identifier">Tag</span> -<span class="special">>::</span><span class="identifier">type</span><span class="special">&</span> -<span class="identifier">get</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">m</span><span class="special">)</span>
-<span class="special">{</span>- <span class="keyword">return</span> <span class="identifier">m</span><span class="special">.</span><span class="identifier">get</span><span class="special"><</span><span class="identifier">Tag</span><span class="special">>();</span>
-<span class="special">}</span> --<span class="comment">// multi_index_container 全局函数,用于迭代器投 影:</span>
- -<span class="keyword">template</span><span class="special"><</span>- <span class="keyword">int</span> <span class="identifier">N</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IteratorType</span><span class="special">,</span> - <span class="keyword">typename</span> <span class="identifier">Value</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Allocator</span>
-<span class="special">></span>-<span class="keyword">typename</span> <span class="identifier">nth_index_iterator</span><span class="special"><</span> - <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>,</span><span class="identifier">N</span>
-<span class="special">>::</span><span class="identifier">type</span> -<span class="identifier">project</span><span class="special">(</span>- <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">m</span><span class="special">,</span> - <span class="identifier">IteratorType</span> <span class="identifier">it</span><span class="special">)</span>
-<span class="special">{</span>- <span class="keyword">return</span> <span class="identifier">m</span><span class="special">.</span><span class="identifier">project</span><span class="special"><</span><span class="identifier">N</span><span class="special">>(</span><span class="identifier">it</span><span class="special">);</span>
-<span class="special">}</span> - -<span class="keyword">template</span><span class="special"><</span>- <span class="keyword">int</span> <span class="identifier">N</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IteratorType</span><span class="special">,</span> - <span class="keyword">typename</span> <span class="identifier">Value</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Allocator</span>
-<span class="special">></span>-<span class="keyword">typename</span> <span class="identifier">nth_index_const_iterator</span><span class="special"><</span> - <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>,</span><span class="identifier">N</span>
-<span class="special">>::</span><span class="identifier">type</span> -<span class="identifier">project</span><span class="special">(</span>- <span class="keyword">const</span> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">m</span><span class="special">,</span> - <span class="identifier">IteratorType</span> <span class="identifier">it</span><span class="special">)</span>
-<span class="special">{</span>- <span class="keyword">return</span> <span class="identifier">m</span><span class="special">.</span><span class="identifier">project</span><span class="special"><</span><span class="identifier">N</span><span class="special">>(</span><span class="identifier">it</span><span class="special">);</span>
-<span class="special">}</span> - -<span class="keyword">template</span><span class="special"><</span>- <span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IteratorType</span><span class="special">,</span> - <span class="keyword">typename</span> <span class="identifier">Value</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Allocator</span>
-<span class="special">></span>-<span class="keyword">typename</span> <span class="identifier">index_iterator</span><span class="special"><</span> - <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>,</span><span class="identifier">Tag</span>
-<span class="special">>::</span><span class="identifier">type</span> -<span class="identifier">project</span><span class="special">(</span>- <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">m</span><span class="special">,</span> - <span class="identifier">IteratorType</span> <span class="identifier">it</span><span class="special">)</span>
-<span class="special">{</span>- <span class="keyword">return</span> <span class="identifier">m</span><span class="special">.</span><span class="identifier">project</span><span class="special"><</span><span class="identifier">Tag</span><span class="special">>(</span><span class="identifier">it</span><span class="special">);</span>
-<span class="special">}</span> - -<span class="keyword">template</span><span class="special"><</span>- <span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IteratorType</span><span class="special">,</span> - <span class="keyword">typename</span> <span class="identifier">Value</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Allocator</span>
-<span class="special">></span>-<span class="keyword">typename</span> <span class="identifier">index_const_iterator</span><span class="special"><</span> - <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>,</span><span class="identifier">Tag</span>
-<span class="special">>::</span><span class="identifier">type</span> -<span class="identifier">project</span><span class="special">(</span>- <span class="keyword">const</span> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">m</span><span class="special">,</span> - <span class="identifier">IteratorType</span> <span class="identifier">it</span><span class="special">)</span>
-<span class="special">{</span>- <span class="keyword">return</span> <span class="identifier">m</span><span class="special">.</span><span class="identifier">project</span><span class="special"><</span><span class="identifier">Tag</span><span class="special">>(</span><span class="identifier">it</span><span class="special">);</span>
-<span class="special">}</span> - -<span class="comment">// 比较:</span> --<span class="comment">// <b>OP</b> is any of ==,<,!=,>,>=,<=</span>
- -<span class="keyword">template</span><span class="special"><</span>- <span class="keyword">typename</span> <span class="identifier">Value1</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IndexSpecifierList1</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Allocator1</span><span class="special">,</span> - <span class="keyword">typename</span> <span class="identifier">Value2</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IndexSpecifierList2</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Allocator2</span>
-<span class="special">></span>-<span class="keyword">bool</span> <span class="keyword">operator</span> <b><i>OP</i></b><span class="special">(</span> - <span class="keyword">const</span> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value1</span><span class="special">,</span><span class="identifier">IndexSpecifierList1</span><span class="special">,</span><span class="identifier">Allocator1</span><span class="special">>&</span> <span class="identifier">x</span><span class="special">,</span> - <span class="keyword">const</span> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value2</span><span class="special">,</span><span class="identifier">IndexSpecifierList2</span><span class="special">,</span><span class="identifier">Allocator2</span><span class="special">>&</span> <span class="identifier">y</span><span class="special">)</span>
- <span class="special">{</span>- <span class="keyword">return</span> <span class="identifier">get</span><span class="special"><</span><span class="number">0</span><span class="special">>(</span><span class="identifier">x</span><span class="special">)</span> <b><i>OP</i></b> <span class="identifier">get</span><span class="special"><</span><span class="number">0</span><span class="special">>(</span><span class="identifier">y</span><span class="special">);</span>
- <span class="special">}</span> - -<span class="comment">// 特殊算法:</span> --<span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Value</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">></span> -<span class="keyword">void</span> <span class="identifier">swap</span><span class="special">(</span> - <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">x</span><span class="special">,</span> - <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">y</span><span class="special">)</span>
- <span class="special">{</span>- <span class="identifier">x</span><span class="special">.</span><span class="identifier">swap</span><span class="special">(</span><span class="identifier">y</span><span class="special">);</span>
- <span class="special">}</span> --<span class="special">}</span> <span class="comment">// namespace boost::multi_index</span> <br><br><span class="special">}</span> <span class="comment">// namespace boost</span> + <pre><span class="keyword">template</span><span class="special"><</span><br> <span class="keyword">typename</span> <span class="identifier">Value</span><span class="special">,</span><br> <span class="keyword">typename</span> <span class="identifier">IndexSpecifierList</span><span class="special">=</span><span class="identifier">indexed_by</span><span class="special"><</span><span class="identifier">ordered_unique</span><span class="special"><</span><span class="identifier">identity</span><span class="special"><</span><span class="identifier">Value</span><span class="special">></span> <span class="special">></span> <span class="special">>,</span><br> <span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">=</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">allocator</span><span class="special"><</span><span class="identifier">Value</span><span class="special">></span> <span class="special">></span><br><span class="keyword">class</span> <span class="identifier">multi_index_container</span><br><span class="special">{</span><br><span class="keyword">public</span><span class="special">:</span><br><br> <span class="comment">// types:</span><br><br> <span class="keyword">typedef</span> <b>implementation defined</b> <span class="identifier">ctor_args_list</span><span class="special">;</span><br> <span class="keyword">typedef</span> <b>implementation defined</b> <span class="identifier">index_specifier_type_list</span><span class="special">;</span><br> <span class="keyword">typedef</span> <b>implementation defined</b> <span class="identifier">index_type_list</span><span class="special">;</span><br> <span class="keyword">typedef</span> <b>implementation defined</b> <span class="identifier">iterator_type_list</span><span class="special">;</span><br> <span class="keyword">typedef</span> <b>implementation defined</b> <span class="identifier">const_iterator_type_list</span><span class="special">;</span><br> <span class="keyword">typedef</span> <span class="identifier">Allocator</span> <span class="identifier">allocator_type</span><span class="special">;</span><br><br> <span class="comment">// nested class templates:</span><br><br> <span class="keyword">template</span><span class="special"><</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">></span><br> <span class="keyword">struct</span> <span class="identifier">nth_index</span> <span class="special">{</span><span class="keyword">typedef</span> <b>implementation defined</b> <span class="identifier">type</span><span class="special">;};</span><br> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">></span><br> <span class="keyword">struct</span> <span class="identifier">index</span> <span class="special">{</span><span class="keyword">typedef</span> <b>implementation defined</b> <span class="identifier">type</span><span class="special">;};</span><br> <span class="keyword">template</span><span class="special"><</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">></span><br><br> <span class="keyword">template</span><span class="special"><</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">></span><br> <span class="keyword">struct</span> <span class="identifier">nth_index_iterator</span> <span class="comment"><b>// deprecated</b></span><br> <span class="special">{</span><span class="keyword">typedef</span> <b><span class="identifier">implementation</span> <span class="identifier">defined</span></b> <span class="identifier">type</span><span class="special">;};</span><br> <span class="keyword">template</span><span class="special"><</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">></span><br> <span class="keyword">struct</span> <span class="identifier">nth_index_const_iterator</span> <span class="comment"><b>// deprecated</b></span><br> <span class="special">{</span><span class="keyword">typedef</span> <b><span class="identifier">implementation</span> <span class="identifier">defined</span></b> <span class="identifier">type</span><span class="special">;};</span><br> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">></span><br> <span class="keyword">struct</span> <span class="identifier">index_iterator</span> <span class="comment"><b>// deprecated</b></span><br> <span class="special">{</span><span class="keyword">typedef</span> <b><span class="identifier">implementation</span> <span class="identifier">defined</span></b> <span class="identifier">type</span><span class="special">;};</span><br> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">></span><br> <span class="keyword">struct</span> <span class="identifier">index_const_iterator</span> <span class="comment"><b>// deprecated</b></span><br> <span class="special">{</span><span class="keyword">typedef</span> <b><span class="identifier">implementation</span> <span class="identifier">defined</span></b> <span class="identifier">type</span><span class="special">;};</span><br> <br> <span class="comment">// construct/copy/destroy:</span><br><br> <span class="keyword">explicit</span> <span class="identifier">multi_index_container</span><span class="special">(<br> </span><span class="keyword">const</span> <span class="identifier">ctor_args_list</span><span class="special">&</span> <span class="identifier">args_list</span><span class="special">=</span><span class="identifier">ctor_args_list</span><span class="special">(),<br> </span><span class="keyword">const</span> <span class="identifier">allocator_type</span><span class="special">&</span> <span class="identifier">al</span><span class="special">=</span><span class="identifier">allocator_type</span><span class="special">());</span><br> <span class="keyword">explicit</span> <span class="identifier">multi_index_container</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">allocator_type</span><span class="special">&</span> <span class="identifier">al</span><span class="special">);</span><br> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">InputIterator</span><span class="special">></span><br> <span class="identifier">multi_index_container</span><span class="special">(</span><br> <span class="identifier">InputIterator</span> <span class="identifier">first</span><span class="special">,</span><span class="identifier">InputIterator</span> <span class="identifier">last</span><span class="special">,</span><br> <span class="keyword">const</span> <span class="identifier">ctor_args_list</span><span class="special">&</span> <span class="identifier">args_list</span><span class="special">=</span><span class="identifier">ctor_args_list</span><span class="special">(),<br> </span><span class="keyword">const</span> <span class="identifier">allocator_type</span><span class="special">&</span> <span class="identifier">al</span><span class="special">=</span><span class="identifier">allocator_type</span><span class="special">());</span><br> <span class="identifier">multi_index_container</span><span class="special">(</span><br> <span class="keyword">const</span> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">x</span><span class="special">);</span><br><br> <span class="special">~</span><span class="identifier">multi_index_container</span><span class="special">();</span><br><br> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>&</span> <span class="keyword">operator</span><span class="special">=(</span><br> <span class="keyword">const</span> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">x</span><span class="special">);</span><br><br> <span class="identifier">allocator_type</span> <span class="identifier">get_allocator</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span><br><br> <span class="comment">// retrieval of indices</span><br><br> <span class="keyword">template</span><span class="special"><</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">></span> <span class="keyword">typename</span> <span class="identifier">nth_index</span><span class="special"><</span><span class="identifier">N</span><span class="special">>::</span><span class="identifier">type</span><span class="special">&</span> <span class="identifier">get</span><span class="special">();</span><br> <span class="keyword">template</span><span class="special"><</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">></span> <span class="keyword">const</span> <span class="keyword">typename</span> <span class="identifier">nth_index</span><span class="special"><</span><span class="identifier">N</span><span class="special">>::</span><span class="identifier">type</span><span class="special">&</span> <span class="identifier">get</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span><br> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">></span> <span class="keyword">typename</span> <span class="identifier">index</span><span class="special"><</span><span class="identifier">Tag</span><span class="special">>::</span><span class="identifier">type</span><span class="special">&</span> <span class="identifier">get</span><span class="special">()</span><br> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">></span> <span class="keyword">const</span> <span class="keyword">typename</span> <span class="identifier">index</span><span class="special"><</span><span class="identifier">Tag</span><span class="special">>::</span><span class="identifier">type</span><span class="special">&</span> <span class="identifier">get</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span><br><br> <span class="comment">// projection of iterators</span><br><br> <span class="keyword">template</span><span class="special"><</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IteratorType</span><span class="special">></span><br> <span class="keyword">typename</span> <span class="identifier">nth_index</span><span class="special"><</span><span class="identifier">N</span><span class="special">>::</span><span class="identifier">type</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">project</span><span class="special">(</span><span class="identifier">IteratorType</span> <span class="identifier">it</span><span class="special">);</span><br> <span class="keyword">template</span><span class="special"><</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IteratorType</span><span class="special">></span><br> <span class="keyword">typename</span> <span class="identifier">nth_index</span><span class="special"><</span><span class="identifier">N</span><span class="special">>::</span><span class="identifier">type</span><span class="special">::</span><span class="identifier">const_iterator</span> <span class="identifier">project</span><span class="special">(</span><span class="identifier">IteratorType</span> <span class="identifier">it</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span><br> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IteratorType</span><span class="special">></span><br> <span class="keyword">typename</span> <span class="identifier">index</span><span class="special"><</span><span class="identifier">Tag</span><span class="special">>::</span><span class="identifier">type</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">project</span><span class="special">(</span><span class="identifier">IteratorType</span> <span class="identifier">it</span><span class="special">);</span><br> <span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IteratorType</span><span class="special">></span><br> <span class="keyword">typename</span> <span class="identifier">index</span><span class="special"><</span><span class="identifier">Tag</span><span class="special">>::</span><span class="identifier">type</span><span class="special">::</span><span class="identifier">const_iterator</span> <span class="identifier">project</span><span class="special">(</span><span class="identifier">IteratorType</span> <span class="identifier">it</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span><br><span class="special">};</span><br><br><span class="comment">// multi_index_container associated global class templates:</span><br><br><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">MultiIndexContainer</span><span class="special">,</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">></span> <span class="keyword">struct</span> <span class="identifier">nth_index</span><br><span class="special">{</span><br> <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">MultiIndexContainer</span><span class="special">::</span><span class="identifier">nth_index</span><span class="special"><</span><span class="identifier">N</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</span><br><span class="special">};</span><br><br><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">MultiIndexContainer</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">></span> <span class="keyword">struct</span> <span class="identifier">index</span><br><span class="special">{</span><br> <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">MultiIndexContainer</span><span class="special">::</span><span class="identifier">index</span><span class="special"><</span><span class="identifier">Tag</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</span><br><span class="special">};</span><br><br><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">MultiIndexContainer</span><span class="special">,</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">></span><br><span class="keyword">struct</span> <span class="identifier">nth_index_iterator</span> <span class="comment"><b>// deprecated</b></span><br><span class="special">{</span><br> <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">MultiIndexContainer</span><span class="special">::</span><span class="identifier">nth_index_iterator</span><span class="special"><</span><span class="identifier">N</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</span><br><span class="special">};</span><br><br><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">MultiIndexContainer</span><span class="special">,</span><span class="keyword">int</span> <span class="identifier">N</span><span class="special">></span><br><span class="keyword">struct</span> <span class="identifier">nth_index_const_iterator</span> <span class="comment"><b>// deprecated</b></span><br><span class="special">{</span><br> <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">MultiIndexContainer</span><span class="special">::</span><span class="identifier">nth_index_const_iterator</span><span class="special"><</span><span class="identifier">N</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</span><br><span class="special">};</span><br><br><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">MultiIndexContainer</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">></span><br><span class="keyword">struct</span> <span class="identifier">index_iterator</span> <span class="comment"><b>// deprecated</b></span><br><span class="special">{</span><br> <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">MultiIndexContainer</span><span class="special">::</span><span class="identifier">index_iterator</span><span class="special"><</span><span class="identifier">Tag</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</span><br><span class="special">};</span><br><br><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">MultiIndexContainer</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">></span><br><span class="keyword">struct</span> <span class="identifier">index_const_iterator</span> <span class="comment"><b>// deprecated</b></span><br><span class="special">{</span><br> <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">MultiIndexContainer</span><span class="special">::</span><span class="identifier">index_const_iterator</span><span class="special"><</span><span class="identifier">Tag</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">type</span><span class="special">;</span><br><span class="special">};</span><br><br><span class="comment">// multi_index_container global functions for index retrieval:</span><br><br><span class="keyword">template</span><span class="special"><</span><br> <span class="keyword">int</span> <span class="identifier">N</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Value</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Allocator</span><br><span class="special">></span><br><span class="keyword">typename</span> <span class="identifier">nth_index</span><span class="special"><</span><br> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>,</span><span class="identifier">N</span><br><span class="special">>::</span><span class="identifier">type</span><span class="special">&</span><br><span class="identifier">get</span><span class="special">(</span><span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">m</span><span class="special">)</span><br><span class="special">{</span><br> <span class="keyword">return</span> <span class="identifier">m</span><span class="special">.</span><span class="identifier">get</span><span class="special"><</span><span class="identifier">N</span><span class="special">>();</span><br><span class="special">}</span><br><br><span class="keyword">template</span><span class="special"><</span><br> <span class="keyword">int</span> <span class="identifier">N</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Value</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Allocator</span><br><span class="special">></span><br><span class="keyword">const</span> <span class="keyword">typename</span> <span class="identifier">nth_index</span><span class="special"><</span><br> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>,</span><span class="identifier">N</span><br><span class="special">>::</span><span class="identifier">type</span><span class="special">&</span><br><span class="identifier">get</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">m</span><span class="special">)</span><br><span class="special">{</span><br> <span class="keyword">return</span> <span class="identifier">m</span><span class="special">.</span><span class="identifier">get</span><span class="special"><</span><span class="identifier">N</span><span class="special">>();</span><br><span class="special">}</span><br><br><span class="keyword">template</span><span class="special"><</span><br> <span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Value</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Allocator</span><br><span class="special">></span><br><span class="keyword">typename</span> <span class="identifier">index</span><span class="special"><</span><br> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>,</span><span class="identifier">Tag</span><br><span class="special">>::</span><span class="identifier">type</span><span class="special">&</span><br><span class="identifier">get</span><span class="special">(</span><span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">m</span><span class="special">)</span><br><span class="special">{</span><br> <span class="keyword">return</span> <span class="identifier">m</span><span class="special">.</span><span class="identifier">get</span><span class="special"><</span><span class="identifier">Tag</span><span class="special">>();</span><br><span class="special">}</span><br><br><span class="keyword">template</span><span class="special"><</span><br> <span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Value</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Allocator</span><br><span class="special">></span><br><span class="keyword">const</span> <span class="keyword">typename</span> <span class="identifier">index</span><span class="special"><</span><br> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>,</span><span class="identifier">Tag</span><br><span class="special">>::</span><span class="identifier">type</span><span class="special">&</span><br><span class="identifier">get</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">m</span><span class="special">)</span><br><span class="special">{</span><br> <span class="keyword">return</span> <span class="identifier">m</span><span class="special">.</span><span class="identifier">get</span><span class="special"><</span><span class="identifier">Tag</span><span class="special">>();</span><br><span class="special">}</span><br><br><span class="comment">// multi_index_container global functions for projection of iterators:</span><br><br><span class="keyword">template</span><span class="special"><</span><br> <span class="keyword">int</span> <span class="identifier">N</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IteratorType</span><span class="special">,</span><br> <span class="keyword">typename</span> <span class="identifier">Value</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Allocator</span><br><span class="special">></span><br><span class="keyword">typename</span> <span class="identifier">nth_index</span><span class="special"><</span><br> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>,</span><span class="identifier">N</span><br><span class="special">>::</span><span class="identifier">type</span><span class="special">::</span><span class="identifier">iterator</span><br><span class="identifier">project</span><span class="special">(</span><br> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">m</span><span class="special">,</span><br> <span class="identifier">IteratorType</span> <span class="identifier">it</span><span class="special">)</span><br><span class="special">{</span><br> <span class="keyword">return</span> <span class="identifier">m</span><span class="special">.</span><span class="keyword">template</span> <span class="identifier">project</span><span class="special"><</span><span class="identifier">N</span><span class="special">>(</span><span class="identifier">it</span><span class="special">);</span><br><span class="special">}</span><br><br><span class="keyword">template</span><span class="special"><</span><br> <span class="keyword">int</span> <span class="identifier">N</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IteratorType</span><span class="special">,</span><br> <span class="keyword">typename</span> <span class="identifier">Value</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Allocator</span><br><span class="special">></span><br><span class="keyword">typename</span> <span class="identifier">nth_index</span><span class="special"><</span><br> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>,</span><span class="identifier">N</span><br><span class="special">>::</span><span class="identifier">type</span><span class="special">::</span><span class="identifier">const_iterator</span><br><span class="identifier">project</span><span class="special">(</span><br> <span class="keyword">const</span> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">m</span><span class="special">,</span><br> <span class="identifier">IteratorType</span> <span class="identifier">it</span><span class="special">)</span><br><span class="special">{</span><br> <span class="keyword">return</span> <span class="identifier">m</span><span class="special">.</span><span class="keyword">template</span> <span class="identifier">project</span><span class="special"><</span><span class="identifier">N</span><span class="special">>(</span><span class="identifier">it</span><span class="special">);</span><br><span class="special">}</span><br><br><span class="keyword">template</span><span class="special"><</span><br> <span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IteratorType</span><span class="special">,</span><br> <span class="keyword">typename</span> <span class="identifier">Value</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Allocator</span><br><span class="special">></span><br><span class="keyword">typename</span> <span class="identifier">index</span><span class="special"><</span><br> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>,</span><span class="identifier">Tag</span><br><span class="special">>::</span><span class="identifier">type</span><span class="special">::</span><span class="identifier">iterator</span><br><span class="identifier">project</span><span class="special">(</span><br> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">m</span><span class="special">,</span><br> <span class="identifier">IteratorType</span> <span class="identifier">it</span><span class="special">)</span><br><span class="special">{</span><br> <span class="keyword">return</span> <span class="identifier">m</span><span class="special">.</span><span class="keyword">template</span> <span class="identifier">project</span><span class="special"><</span><span class="identifier">Tag</span><span class="special">>(</span><span class="identifier">it</span><span class="special">);</span><br><span class="special">}</span><br><br><span class="keyword">template</span><span class="special"><</span><br> <span class="keyword">typename</span> <span class="identifier">Tag</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IteratorType</span><span class="special">,</span><br> <span class="keyword">typename</span> <span class="identifier">Value</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Allocator</span><br><span class="special">></span><br><span class="keyword">typename</span> <span class="identifier">index</span><span class="special"><</span><br> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>,</span><span class="identifier">Tag</span><br><span class="special">>::</span><span class="identifier">type</span><span class="special">::</span><span class="identifier">const_iterator</span><br><span class="identifier">project</span><span class="special">(</span><br> <span class="keyword">const</span> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">m</span><span class="special">,</span><br> <span class="identifier">IteratorType</span> <span class="identifier">it</span><span class="special">)</span><br><span class="special">{</span><br> <span class="keyword">return</span> <span class="identifier">m</span><span class="special">.</span><span class="keyword">template</span> <span class="identifier">project</span><span class="special"><</span><span class="identifier">Tag</span><span class="special">>(</span><span class="identifier">it</span><span class="special">);</span><br><span class="special">}</span><br><br><span class="comment">// comparison:</span><br><br><span class="comment">// <b>OP</b> is any of ==,<,!=,>,>=,<=</span><br><br><span class="keyword">template</span><span class="special"><</span><br> <span class="keyword">typename</span> <span class="identifier">Value1</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IndexSpecifierList1</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Allocator1</span><span class="special">,</span><br> <span class="keyword">typename</span> <span class="identifier">Value2</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IndexSpecifierList2</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Allocator2</span><br><span class="special">></span><br><span class="keyword">bool</span> <span class="keyword">operator</span> <b><i>OP</i></b><span class="special">(</span><br> <span class="keyword">const</span> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value1</span><span class="special">,</span><span class="identifier">IndexSpecifierList1</span><span class="special">,</span><span class="identifier">Allocator1</span><span class="special">>&</span> <span class="identifier">x</span><span class="special">,</span><br> <span class="keyword">const</span> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value2</span><span class="special">,</span><span class="identifier">IndexSpecifierList2</span><span class="special">,</span><span class="identifier">Allocator2</span><span class="special">>&</span> <span class="identifier">y</span><span class="special">)</span><br> <span class="special">{</span><br> <span class="keyword">return</span> <span class="identifier">get</span><span class="special"><</span><span class="number">0</span><span class="special">>(</span><span class="identifier">x</span><span class="special">)</span> <b><i>OP</i></b> <span class="identifier">get</span><span class="special"><</span><span class="number">0</span><span class="special">>(</span><span class="identifier">y</span><span class="special">);</span><br> <span class="special">}</span><br><br><span class="comment">// specialized algorithms:</span><br><br><span class="keyword">template</span><span class="special"><</span><span class="keyword">typename</span> <span class="identifier">Value</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="keyword">typename</span> <span class="identifier">Allocator</span><span class="special">></span><br><span class="keyword">void</span> <span class="identifier">swap</span><span class="special">(</span><br> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">x</span><span class="special">,</span><br> <span class="identifier">multi_index_container</span><span class="special"><</span><span class="identifier">Value</span><span class="special">,</span><span class="identifier">IndexSpecifierList</span><span class="special">,</span><span class="identifier">Allocator</span><span class="special">>&</span> <span class="identifier">y</span><span class="special">)</span><br> <span class="special">{</span><br> <span class="identifier">x</span><span class="special">.</span><span class="identifier">swap</span><span class="special">(</span><span class="identifier">y</span><span class="special">);</span><br> <span class="special">}</span><br><br><span class="special">}</span> <span class="comment">// namespace boost::multi_index</span> <br><br><span class="special">}</span> <span class="comment">// namespace boost</span><span class="comment"></span>
</pre> @@ -837,7 +488,7 @@ <code>template<typename Tag> struct index</code> <blockquote>- <code>index<Tag>::type</code> 返回标志为 Tag 的索引的类型,Tag 为相 关的 <a href="indices.html#tags">tag type</a>. <span style="font-weight: bold;">要求</span><b>:</b> <code>multi_index_container</code> 有以 <code>Tag</code> + <code>index<Tag>::type</code> 返回标志为 Tag 的索引的类型,Tag 为相 关的 <a href="indices.html#tags">tag type</a>. <br><span style="font-weight: bold;">要求 </span><b>:</b> <code>multi_index_container</code> 有以 <code>Tag</code>
为标志的索引。 </blockquote> @@ -849,7 +500,7 @@ <blockquote> <code>nth_index_iterator<N>::type</code> 等同于 - <code>nth_index<N>::type::iterator</code>.<br>+ <code>nth_index<N>::type::iterator</code>.<br><b>备 注:</b> <code>nth_index_iterator</code> 不再被使用。
@@ -864,7 +515,8 @@ <blockquote> <code>nth_index_const_iterator<N>::type</code> 等同于 - <code>nth_index<N>::type::const_iterator</code>.<br>+ <code>nth_index<N>::type::const_iterator</code>.<br><b>备注:</b> <code>nth_index_const_iterator</code> 不再被使用。
+ @@ -879,7 +531,7 @@ <blockquote> <code>index_iterator<Tag>::type</code> 等同于 - <code>index<Tag>::type::iterator</code>.<br>+ <code>index<Tag>::type::iterator</code>.<br><b>备 注:</b> <code>index_iterator</code> 不再被使用。
@@ -894,7 +546,7 @@ <blockquote> <code>index_const_iterator<Tag>::type</code> 等同于 - <code>index<Tag>::type::const_iterator</code>.<br>+ <code>index<Tag>::type::const_iterator</code>.<br><b>备 注:</b> <code>index_const_iterator</code> 不再被使用。
@@ -1437,9 +1089,9 @@ <br> -<p>Revised July 17th 2007</p> +<p>Revised November 6th 2008</p> -<p>© Copyright 2003-2007 Joaquín M López Muñoz. Distributed under the Boost +<p>© Copyright 2003-2008 Joaquín M López Muñoz. Distributed under the BoostSoftware 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/multi_index/doc/reference/ord_indices.html ============================================================================== --- trunk/libs/multi_index/doc/reference/ord_indices.html (original)+++ trunk/libs/multi_index/doc/reference/ord_indices.html Mon Mar 30 23:38:41 2009
@@ -1,6 +1,5 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0.1 Transitional//EN"> -<html> -<head> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0.1 Transitional//EN"> +<html><head> @@ -45,8 +44,8 @@ - <title>Boost.MultiIndex Documentation - Ordered indices reference</title> - <link rel="stylesheet" href="../style.css" type="text/css"> ++ <title>Boost.MultiIndex Documentation - Ordered indices reference</title><link rel="stylesheet" href="../style.css" type="text/css">
@@ -118,9 +117,7 @@ - <link rel="next" href="hash_indices.html"> -</head> - + <link rel="next" href="hash_indices.html"></head> <body> @@ -784,9 +781,7 @@<span class="identifier">reverse_iterator</span> <span class="identifier">rbegin</span><span class="special">();</span> <span class="identifier">const_reverse_iterator</span> <span class="identifier">rbegin</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> <span class="identifier">reverse_iterator</span> <span class="identifier">rend</span><span class="special">();</span> - <span class="identifier">const_reverse_iterator</span> <span class="identifier">rend</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
- - <span class="comment">// 容量:</span>+ <span class="identifier">const_reverse_iterator</span> <span class="identifier">rend</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span><br> <span class="identifier">const_iterator</span> <span class="identifier">cbegin</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span><br> <span class="identifier">const_iterator</span> <span class="identifier">cend</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span><br> <span class="identifier">const_reverse_iterator</span> <span class="identifier">crbegin</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span><br> <span class="identifier">const_reverse_iterator</span> <span class="identifier">crend</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> <br> <br> <span class="identifier">iterator</span> <span class="identifier">iterator_to</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">value_type</span><span class="special">&</span> <span class="identifier">x</span><span class="special">);</span><br> <span class="identifier">const_iterator</span> <span class="identifier">iterator_to</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">value_type</span><span class="special">&</span> <span class="identifier">x</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span><br><br> <span class="comment">// 容量:</span>
<span class="keyword">bool</span> <span class="identifier">empty</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> <span class="identifier">size_type</span> <span class="identifier">size</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
@@ -3297,14 +3292,8 @@ -<br> - -<p>Revised July 2nd 2007</p> - --<p>© Copyright 2003-2007 Joaquín M López Muñoz. Distributed under the Boost +<br><p>Revised June 25th 2008</p><p>© Copyright 2003-2008 Joaquín M López Muñoz. Distributed under the Boost Software License, Version 1.0. (See accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt";>http://www.boost.org/LICENSE_1_0.txt</a>)
</p> -</body> -</html> +</body></html> \ No newline at end of file Modified: trunk/libs/multi_index/doc/reference/rnd_indices.html ============================================================================== --- trunk/libs/multi_index/doc/reference/rnd_indices.html (original)+++ trunk/libs/multi_index/doc/reference/rnd_indices.html Mon Mar 30 23:38:41 2009
@@ -1,6 +1,5 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0.1 Transitional//EN"> -<html> -<head> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0.1 Transitional//EN"> +<html><head> @@ -20,8 +19,8 @@- <title>Boost.MultiIndex Documentation - Random access indices reference</title>
- <link rel="stylesheet" href="../style.css" type="text/css"> ++ <title>Boost.MultiIndex Documentation - Random access indices reference</title><link rel="stylesheet" href="../style.css" type="text/css">
@@ -53,9 +52,7 @@ - <link rel="next" href="key_extraction.html"> -</head> - + <link rel="next" href="key_extraction.html"></head> <body> @@ -458,9 +455,7 @@<span class="identifier">reverse_iterator</span> <span class="identifier">rbegin</span><span class="special">();</span> <span class="identifier">const_reverse_iterator</span> <span class="identifier">rbegin</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> <span class="identifier">reverse_iterator</span> <span class="identifier">rend</span><span class="special">();</span> - <span class="identifier">const_reverse_iterator</span> <span class="identifier">rend</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
- - <span class="comment">// 容量:</span>+ <span class="identifier">const_reverse_iterator</span> <span class="identifier">rend</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span><br> <span class="identifier">const_iterator</span> <span class="identifier">cbegin</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span><br> <span class="identifier">const_iterator</span> <span class="identifier">cend</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span><br> <span class="identifier">const_reverse_iterator</span> <span class="identifier">crbegin</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span><br> <span class="identifier">const_reverse_iterator</span> <span class="identifier">crend</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span><br><br> <span class="identifier">iterator</span> <span class="identifier">iterator_to</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">value_type</span><span class="special">&</span> <span class="identifier">x</span><span class="special">);</span><br> <span class="identifier">const_iterator</span> <span class="identifier">iterator_to</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">value_type</span><span class="special">&</span> <span class="identifier">x</span><span class="special">)</span><span class="keyword">const</span><span class="special">;<br><br></span> <span class="comment">// 容量:</span>
<span class="keyword">bool</span> <span class="identifier">empty</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> <span class="identifier">size_type</span> <span class="identifier">size</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span>
@@ -1944,10 +1939,9 @@ <br> -<p>Revised July 2nd 2007</p> +<p>Revised June 25th 2008</p>-<p>© Copyright 2003-2007 Joaquín M López Muñoz. Distributed under the Boost
+<p>© Copyright 2003-2008 Joaquín M López Muñoz. Distributed under the BoostSoftware License, Version 1.0. (See accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt";>http://www.boost.org/LICENSE_1_0.txt</a>)
</p> -</body> -</html> +</body></html> \ No newline at end of file Modified: trunk/libs/multi_index/doc/reference/seq_indices.html ============================================================================== --- trunk/libs/multi_index/doc/reference/seq_indices.html (original)+++ trunk/libs/multi_index/doc/reference/seq_indices.html Mon Mar 30 23:38:41 2009
@@ -1,6 +1,5 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0.1 Transitional//EN"> -<html> -<head> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0.1 Transitional//EN"> +<html><head> @@ -25,8 +24,8 @@- <title>Boost.MultiIndex Documentation - Sequenced indices reference</title>
- <link rel="stylesheet" href="../style.css" type="text/css"> ++ <title>Boost.MultiIndex Documentation - Sequenced indices reference</title><link rel="stylesheet" href="../style.css" type="text/css">
@@ -66,9 +65,7 @@ - <link rel="next" href="rnd_indices.html"> -</head> - + <link rel="next" href="rnd_indices.html"></head> <body> @@ -526,7 +523,7 @@<span class="identifier">reverse_iterator</span> <span class="identifier">rbegin</span><span class="special">();</span> <span class="identifier">const_reverse_iterator</span> <span class="identifier">rbegin</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> <span class="identifier">reverse_iterator</span> <span class="identifier">rend</span><span class="special">();</span> - <span class="identifier">const_reverse_iterator</span> <span class="identifier">rend</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> + <span class="identifier">const_reverse_iterator</span> <span class="identifier">rend</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span> <span class="identifier"><br> const_iterator</span> <span class="identifier">cbegin</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span><br> <span class="identifier">const_iterator</span> <span class="identifier">cend</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span><br> <span class="identifier">const_reverse_iterator</span> <span class="identifier">crbegin</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span><br> <span class="identifier">const_reverse_iterator</span> <span class="identifier">crend</span><span class="special">()</span><span class="keyword">const</span><span class="special">;</span><br><br> <span class="identifier">iterator</span> <span class="identifier">iterator_to</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">value_type</span><span class="special">&</span> <span class="identifier">x</span><span class="special">);</span><br> <span class="identifier">const_iterator</span> <span class="identifier">iterator_to</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">value_type</span><span class="special">&</span> <span class="identifier">x</span><span class="special">)</span><span class="keyword">const</span><span class="special">;</span>
<span class="comment">// 容量:</span> @@ -2050,10 +2047,9 @@ <br> -<p>Revised July 2nd 2007</p> +<p>Revised June 25th 2008</p>-<p>© Copyright 2003-2007 Joaquín M López Muñoz. Distributed under the Boost
+<p>© Copyright 2003-2008 Joaquín M López Muñoz. Distributed under the BoostSoftware License, Version 1.0. (See accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt";>http://www.boost.org/LICENSE_1_0.txt</a>)
</p> -</body> -</html> +</body></html> \ No newline at end of file Modified: trunk/libs/multi_index/doc/release_notes.html ============================================================================== --- trunk/libs/multi_index/doc/release_notes.html (original) +++ trunk/libs/multi_index/doc/release_notes.html Mon Mar 30 23:38:41 2009 @@ -22,13 +22,39 @@ <hr> <h2>Contents目录</h2> <ul>-<li><a href="#boost_1_37">Boost 1.37 发布</a></li><li><a href="#boost_1_36">Boost 1.36 发布</a></li> +<li><a href="#boost_1_38">Boost 1.38 发布</a></li><li><a href="#boost_1_37">Boost 1.37 发布</a></li><li><a href="#boost_1_36">Boost 1.36 发布</a></li>
<li><a href="#boost_1_35">Boost 1.35 发布</a></li> <li><a href="#boost_1_34">Boost 1.34 发布</a></li> <li><a href="#boost_1_33_1">Boost 1.33.1 发布</a></li> <li><a href="#boost_1_33">Boost 1.33 发布</a></li> </ul> -<h2><a name="boost_1_37">Boost 1.37 发布</a></h2> +<h2><a name="boost_1_38">Boost 1.38 发布</a></h2> +<ul><li>以下结构不再使用: +<ul><li><code>nth_index_iterator<MultiIndexContainer,N>::type</code>, +</li><li><code>multi_index_container<...>::nth_index_iterator<N>::type</code>, + +</li><li><code>nth_index_const_iterator<MultiIndexContainer,N>::type</code>, +</li><li><code>multi_index_container<...>::nth_index_const_iterator<N>::type</code>, + +</li><li><code>index_iterator<MultiIndexContainer,Tag>::type</code>, +</li><li><code>multi_index_container<...>::index_iterator<Tag>::type</code>, + +</li><li><code>index_const_iterator<MultiIndexContainer,Tag>::type</code>, +</li><li><code>multi_index_container<...>::index_const_iterator<Tag>::type</code>. +</li></ul>分别使用以下结构来代替: +<ul><li><code>nth_index<MultiIndexContainer,N>::type::iterator</code>, +</li><li><code>multi_index_container<...>::nth_index<N>::type::iterator</code>, + +</li><li><code>nth_index<MultiIndexContainer,N>::type::const_iterator</code>, +</li><li><code>multi_index_container<...>::nth_index<N>::type::const_iterator</code>, + +</li><li><code>index<MultiIndexContainer,Tag>::type::iterator</code>, +</li><li><code>multi_index_container<...>::index<Tag>::type::iterator</code>, + +</li><li><code>index<MultiIndexContainer,Tag>::type::const_iterator</code>, +</li><li><code>multi_index_container<...>::index<Tag>::type::const_iterator</code>. +</li></ul>+</li><li>维护性修复。 </li></ul><h2><a name="boost_1_37">Boost 1.37 发布 </a></h2> <ul><li>维护性修复。 </li></ul><h2><a name="boost_1_36">Boost 1.36 发布 </a></h2>
<ul><a name="stable_update"><li>在本库以前的版本中,散列索引的 </li></a><a href="tutorial/indices.html#hash_updating">update
@@ -132,6 +158,6 @@ </a></div> <br style="" clear="all"> <br> -<p>Revised August 29th 2008</p> +<p>Revised November 10th 2008</p> <p>© Copyright 2003-2008 Joaquín M López Muñoz. Distributed under the BoostSoftware 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/multi_index/doc/tutorial/basics.html ============================================================================== --- trunk/libs/multi_index/doc/tutorial/basics.html (original) +++ trunk/libs/multi_index/doc/tutorial/basics.html Mon Mar 30 23:38:41 2009 @@ -1,6 +1,5 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0.1 Transitional//EN"> -<html> -<head> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0.1 Transitional//EN"> +<html><head> @@ -20,8 +19,8 @@ - <title>Boost.MultiIndex Documentation - Tutorial - Basics</title> - <link rel="stylesheet" href="../style.css" type="text/css"> ++ <title>Boost.MultiIndex Documentation - Tutorial - Basics</title><link rel="stylesheet" href="../style.css" type="text/css">
@@ -53,9 +52,7 @@ - <link rel="next" href="indices.html"> -</head> - + <link rel="next" href="indices.html"></head> <body> @@ -946,8 +943,7 @@<pre><span class="identifier">employee_set</span><span class="special">::</span><span class="identifier">nth_index</span><span class="special"><</span><span class="number">1</span><span class="special">>::</span><span class="identifier">type</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">it</span><span class="special">=</span> - <span class="identifier">es</span><span class="special">.</span><span class="identifier">get</span><span class="special"><</span><span class="number">1</span><span class="special">>().</span><span class="identifier">find</span><span class="special">(</span><span class="string">"Judy Smith"</span><span class="special">);</span>
- </pre>+ <span class="identifier">es</span><span class="special">.</span><span class="identifier">get</span><span class="special"><</span><span class="number">1</span><span class="special">>().</span><span class="identifier">find</span><span class="special">(</span><span class="string">"Judy Smith"</span><span class="special">);</span> </pre>
@@ -970,65 +966,11 @@<pre><span class="keyword">typedef</span> <span class="identifier">employee_set</span><span class="special">::</span><span class="identifier">nth_index</span><span class="special"><</span><span class="number">1</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">employee_set_by_name</span><span class="special">;</span> <span class="identifier">employee_set_by_name</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">it</span><span class="special">=</span> - <span class="identifier">es</span><span class="special">.</span><span class="identifier">get</span><span class="special"><</span><span class="number">1</span><span class="special">>().</span><span class="identifier">find</span><span class="special">(</span><span class="string">"Judy Smith"</span><span class="special">);</span>
- </pre> - - - -</blockquote> - - - - --<p>另外,<code>multi_index_container</code> 为索引的迭代器提供了一个简短的 定义
-</p> - - -+ <span class="identifier">es</span><span class="special">.</span><span class="identifier">get</span><span class="special"><</span><span class="number">1</span><span class="special">>().</span><span class="identifier">find</span><span class="special">(</span><span class="string">"Judy Smith"</span><span class="special">);</span> </pre>
-<blockquote> - - -- <pre><span class="identifier">employee_set</span><span class="special">::</span><span class="identifier">nth_index_iterator</span><span class="special"><</span><span class="number">1</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">it</span><span class="special">=</span> - <span class="identifier">es</span><span class="special">.</span><span class="identifier">get</span><span class="special"><</span><span class="number">1</span><span class="special">>().</span><span class="identifier">find</span><span class="special">(</span><span class="string">"Judy Smith"</span><span class="special">);</span>
- </pre> - - - -</blockquote> - - - - -<p>以上表达式的另一个写法是使用 -<a href="#tagging">tags</a>: -</p> - - - - - -<blockquote> - - -- <pre><span class="identifier">employee_set</span><span class="special">::</span><span class="identifier">index_iterator</span><span class="special"><</span><span class="identifier">name</span><span class="special">>::</span><span class="identifier">type</span> <span class="identifier">it</span><span class="special">=</span> - <span class="identifier">es</span><span class="special">.</span><span class="identifier">get</span><span class="special"><</span><span class="identifier">name</span><span class="special">>().</span><span class="identifier">find</span><span class="special">(</span><span class="string">"Judy Smith"</span><span class="special">);</span> <span class="comment">// 也可以用get<1> </span>
- </pre> - - - -</blockquote> - - - - - -<h2> +</blockquote><h2> <a name="index_types">Index types索引的类型</a> </h2> @@ -1330,7 +1272,7 @@<p>有序索引说明的最后一部分是关联的<span style="font-style: italic;">比较谓 词</span><i>comparison -predicate</i>,其负责对键值进行“小于”比较。这些比较谓词与STL容 器<code>std::set</code>如所使用的没有什么不同。缺省地(即没有指定比较谓词 ),类型为 +predicate</i>,其负责对键值进行“小于”比较。这些比较谓词与STL容器 <code>std::set</code>如所使用的没有什么不同。缺省地(即没有指定比较谓词),类 型为
<code>key_type</code> 的键使用 <code>std::less<key_type></code>进行比较。如果需要指定其它比较方法,则要在索引声明中作为一个额外的参数进行 指定:
</p> @@ -1474,7 +1416,7 @@<p>这时,我们不仅要以ID替代<code>employee</code>对象来传递,还要传入一个比 较谓词。通常,有序索引的查找操作都被重载以接受 <a href="../reference/ord_indices.html#set_operations"><i>compatible sorting -criteria兼容排序标准</i></a>。这里的“兼容”性的定义有点复杂,在 “参考”一节有详细说明,大约上讲,比较谓词<code>C1</code>兼容于 <code>C2</code>,是指对于<code>C2</code>是有序的任意序列,对于 <code>C1</code>也同样有序。下面示例了比较谓词的一个有趣的用法: +criteria兼容排序标准</i></a>。这里的“兼容”性的定义有点复杂,在“参考”一节有 详细说明,大约上讲,比较谓词<code>C1</code>兼容于<code>C2</code>,是指对于 <code>C2</code>是有序的任意序列,对于<code>C1</code>也同样有序。下面示例了比 较谓词的一个有趣的用法:
</p> @@ -1618,7 +1560,7 @@ <p> <code>range</code>-仅需接受指定查找区间的下界与上界的谓词。关于传给<code>range</code>的合法谓 词的详细解释,请查阅“参考”一节。</p> +仅需接受指定查找区间的下界与上界的谓词。关于传给<code>range</code>的合法谓 词的详细解释,请查阅“参考”一节。</p>
@@ -2223,12 +2165,11 @@ <br> -<p>Revised July 17th 2007</p> +<p>Revised November 7th 2008</p>-<p>© Copyright 2003-2007 Joaquín M López Muñoz. Distributed under the Boost
+<p>© Copyright 2003-2008 Joaquín M López Muñoz. Distributed under the BoostSoftware License, Version 1.0. (See accompanying file <a href="../../../../LICENSE_1_0.txt">LICENSE_1_0.txt</a> or copy at <a href="http://www.boost.org/LICENSE_1_0.txt";>http://www.boost.org/LICENSE_1_0.txt</a>)
</p> -</body> -</html> +</body></html> \ No newline at end of file Modified: trunk/libs/multi_index/doc/tutorial/indices.html ============================================================================== --- trunk/libs/multi_index/doc/tutorial/indices.html (original)+++ trunk/libs/multi_index/doc/tutorial/indices.html Mon Mar 30 23:38:41 2009
@@ -1,6 +1,5 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0.1 Transitional//EN"> -<html> -<head> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0.1 Transitional//EN"> +<html><head> @@ -15,8 +14,8 @@ - <title>Boost.MultiIndex Documentation - Tutorial - Index types</title> - <link rel="stylesheet" href="../style.css" type="text/css"> ++ <title>Boost.MultiIndex Documentation - Tutorial - Index types</title><link rel="stylesheet" href="../style.css" type="text/css">
@@ -40,9 +39,7 @@ - <link rel="next" href="key_extraction.html"> -</head> - + <link rel="next" href="key_extraction.html"></head> <body> @@ -190,7 +187,7 @@ <p>Boost.MultiIndex 提供了六种不同的索引类型,分类与下表所示。<a href="basics.html#ord_indices">Ordered有序索引</a> 和 -<a href="basics.html#seq_indices">sequenced序列索引</a> 是最常使用的,在 “基础”一节中已经解释过了;其它索引类型可看作是提供了更多优点、功 能或性能的变体。 +<a href="basics.html#seq_indices">sequenced序列索引</a> 是最常使用的,在“基 础”一节中已经解释过了;其它索引类型可看作是提供了更多优点、功能或性能的变 体。
</p> @@ -483,7 +480,7 @@ <code>upper_bound</code>,由于散列索引中不存在键值的排序。</p>-<p>与有序索引一样,这些成员函数以键值而不是整个对象作为查找参数。你应该还记 得,有序索引的查找操作可以接受<i>兼容键值</i>,又称为“子键”。对 于散列索引,同样也有 +<p>与有序索引一样,这些成员函数以键值而不是整个对象作为查找参数。你应该还记 得,有序索引的查找操作可以接受<i>兼容键值</i>,又称为“子键”。对于散列索 引,同样也有 <a href="../reference/hash_indices.html#lookup">compatible key兼容键值</a> 的概念,但它的用途要小得多:基本上,兼容键值就是一个完全等价于 <code>key_type</code>对象的一个对象,只是内部表示有所不同而已:
</p> @@ -988,12 +985,12 @@ -<p>Revised February 6th 2006</p> +<p>Revised October 15th 2007</p> -<p>© Copyright 2003-2006 Joaquín M López Muñoz. +<p>© Copyright 2003-2007 Joaquín M López Muñoz. Distributed under the Boost SoftwareLicense, 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";>
@@ -1003,5 +1000,4 @@ -</body> -</html> +</body></html> \ No newline at end of file Modified: trunk/libs/multi_index/doc/tutorial/techniques.html ============================================================================== --- trunk/libs/multi_index/doc/tutorial/techniques.html (original)+++ trunk/libs/multi_index/doc/tutorial/techniques.html Mon Mar 30 23:38:41 2009
@@ -1,12 +1,11 @@ -<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0.1 Transitional//EN"> -<html> -<head> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0.1 Transitional//EN"> +<html><head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> - <title>Boost.MultiIndex Documentation - Tutorial - Techniques</title> - <link rel="stylesheet" href="../style.css" type="text/css"> ++ <title>Boost.MultiIndex Documentation - Tutorial - Techniques</title><link rel="stylesheet" href="../style.css" type="text/css">
<link rel="start" href="../index.html"> @@ -14,10 +13,7 @@ <link rel="up" href="index.html"> - <link rel="next" href="../reference/index.html"> -</head> - - + <link rel="next" href="../reference/index.html"></head> <body> @@ -234,7 +230,7 @@ </p>-<p>这些以<code>multi_index_container</code>实现的关联式容器在空间和时间复杂 度上都与标准的对照物相当。有关更为详细的讨论,请查阅<a href="../performance.html">“性能”</a>一节。 +<p>这些以<code>multi_index_container</code>实现的关联式容器在空间和时间复杂 度上都与标准的对照物相当。有关更为详细的讨论,请查阅<a href="../performance.html">“性能”</a>一节。
</p> @@ -432,10 +428,10 @@ <br> -<p>Revised February 6th 2006</p> +<p>Revised November 7th 2008</p> -<p>© Copyright 2003-2006 Joaquín M López Muñoz. +<p>© Copyright 2003-2008 Joaquín M López Muñoz. Distributed under the Boost SoftwareLicense, 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";>
@@ -443,5 +439,4 @@ </p> -</body> -</html> +</body></html> \ No newline at end of file