|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r79879 - trunk/libs/unordered/doc
From: dnljms_at_[hidden]
Date: 2012-08-05 14:26:02
Author: danieljames
Date: 2012-08-05 14:26:02 EDT (Sun, 05 Aug 2012)
New Revision: 79879
URL: http://svn.boost.org/trac/boost/changeset/79879
Log:
Unordered: Document more fine grained requirements.
Text files modified:
trunk/libs/unordered/doc/ref.php | 48 ++++++++++
trunk/libs/unordered/doc/ref.xml | 168 ++++++++++++++++++++++++++++++++++++++-
2 files changed, 207 insertions(+), 9 deletions(-)
Modified: trunk/libs/unordered/doc/ref.php
==============================================================================
--- trunk/libs/unordered/doc/ref.php (original)
+++ trunk/libs/unordered/doc/ref.php 2012-08-05 14:26:02 EDT (Sun, 05 Aug 2012)
@@ -67,14 +67,20 @@
<?php if ($map): ?>
<row>
<entry><emphasis>Key</emphasis></entry>
- <entry>Key must be Assignable and CopyConstructible.</entry></row>
+ <entry><code>Key</code> must be <code>Erasable</code> from the container
+ (i.e. <code>allocator_traits</code> can <code>destroy</code> it).
+ </entry></row>
<row>
<entry><emphasis>Mapped</emphasis></entry>
- <entry>Mapped must be CopyConstructible</entry></row>
+ <entry><code>Mapped</code> must be <code>Erasable</code> from the container
+ (i.e. <code>allocator_traits</code> can <code>destroy</code> it).
+ </entry></row>
<?php else: ?>
<row>
<entry><emphasis>Value</emphasis></entry>
- <entry>Value must be Assignable and CopyConstructible</entry></row>
+ <entry><code>Value</code> must be <code>Erasable</code> from the container
+ (i.e. <code>allocator_traits</code> can <code>destroy</code> it).
+ </entry></row>
<?php endif ?>
<row>
<entry><emphasis>Hash</emphasis></entry>
@@ -206,6 +212,11 @@
<description>
<para>Constructs an empty container with at least n buckets, using hf as the hash function, eq as the key equality predicate, a as the allocator and a maximum load factor of 1.0.</para>
</description>
+ <requires>
+ <para>If the defaults are used, <code>hasher</code>, <code>key_equal</code> and
+ <code>allocator_type</code> need to be <code>DefaultConstructible</code>.
+ </para>
+ </requires>
</constructor>
<constructor>
<template>
@@ -237,6 +248,11 @@
<description>
<para>Constructs an empty container with at least n buckets, using hf as the hash function, eq as the key equality predicate, a as the allocator and a maximum load factor of 1.0 and inserts the elements from [f, l) into it.</para>
</description>
+ <requires>
+ <para>If the defaults are used, <code>hasher</code>, <code>key_equal</code> and
+ <code>allocator_type</code> need to be <code>DefaultConstructible</code>.
+ </para>
+ </requires>
</constructor>
<constructor>
<parameter>
@@ -408,6 +424,11 @@
' if and only if there is no element in the container with an equivalent '.$key_name. '.';
?></para>
</description>
+ <requires>
+ <para><code>value_type</code> is <code>EmplaceConstructible</code> into
+ <code>X</code> from <code>args</code>.
+ </para>
+ </requires>
<returns>
<?php if ($equivalent_keys): ?>
<para>An iterator pointing to the inserted element.</para>
@@ -453,6 +474,11 @@
?></para>
<para><code>hint</code> is a suggestion to where the element should be inserted.</para>
</description>
+ <requires>
+ <para><code>value_type</code> is <code>EmplaceConstructible</code> into
+ <code>X</code> from <code>args</code>.
+ </para>
+ </requires>
<returns>
<?php if ($equivalent_keys): ?>
<para>An iterator pointing to the inserted element.</para>
@@ -490,6 +516,9 @@
' if and only if there is no element in the container with an equivalent '.$key_name. '.';
?></para>
</description>
+ <requires>
+ <para><code>value_type</code> is <code>CopyInsertable</code>.</para>
+ </requires>
<returns>
<?php if ($equivalent_keys): ?>
<para>An iterator pointing to the inserted element.</para>
@@ -517,6 +546,9 @@
' if and only if there is no element in the container with an equivalent '.$key_name. '.';
?></para>
</description>
+ <requires>
+ <para><code>value_type</code> is <code>MoveInsertable</code>.</para>
+ </requires>
<returns>
<?php if ($equivalent_keys): ?>
<para>An iterator pointing to the inserted element.</para>
@@ -549,6 +581,9 @@
<?php endif; ?>
<para>hint is a suggestion to where the element should be inserted.</para>
</description>
+ <requires>
+ <para><code>value_type</code> is <code>CopyInsertable</code>.</para>
+ </requires>
<returns>
<?php if ($equivalent_keys): ?>
<para>An iterator pointing to the inserted element.</para>
@@ -581,6 +616,9 @@
<?php endif; ?>
<para>hint is a suggestion to where the element should be inserted.</para>
</description>
+ <requires>
+ <para><code>value_type</code> is <code>MoveInsertable</code>.</para>
+ </requires>
<returns>
<?php if ($equivalent_keys): ?>
<para>An iterator pointing to the inserted element.</para>
@@ -612,6 +650,10 @@
<description>
<para>Inserts a range of elements into the container. Elements are inserted if and only if there is no element in the container with an equivalent <?php echo $key_name; ?>.</para>
</description>
+ <requires>
+ <para><code>value_type</code> is <code>EmplaceConstructible</code> into
+ <code>X</code> from <code>*first</code>.</para>
+ </requires>
<throws>
<para>When inserting a single element, if an exception is thrown by an operation other than a call to <code>hasher</code> the function has no effect.</para>
</throws>
Modified: trunk/libs/unordered/doc/ref.xml
==============================================================================
--- trunk/libs/unordered/doc/ref.xml (original)
+++ trunk/libs/unordered/doc/ref.xml 2012-08-05 14:26:02 EDT (Sun, 05 Aug 2012)
@@ -29,7 +29,9 @@
<tbody>
<row>
<entry><emphasis>Value</emphasis></entry>
- <entry>Value must be Assignable and CopyConstructible</entry></row>
+ <entry><code>Value</code> must be <code>Erasable</code> from the container
+ (i.e. <code>allocator_traits</code> can <code>destroy</code> it).
+ </entry></row>
<row>
<entry><emphasis>Hash</emphasis></entry>
<entry>A unary function object type that acts a hash function for a <code>Value</code>. It takes a single argument of type <code>Value</code> and returns a value of type std::size_t.</entry></row>
@@ -151,6 +153,11 @@
<description>
<para>Constructs an empty container with at least n buckets, using hf as the hash function, eq as the key equality predicate, a as the allocator and a maximum load factor of 1.0.</para>
</description>
+ <requires>
+ <para>If the defaults are used, <code>hasher</code>, <code>key_equal</code> and
+ <code>allocator_type</code> need to be <code>DefaultConstructible</code>.
+ </para>
+ </requires>
</constructor>
<constructor>
<template>
@@ -182,6 +189,11 @@
<description>
<para>Constructs an empty container with at least n buckets, using hf as the hash function, eq as the key equality predicate, a as the allocator and a maximum load factor of 1.0 and inserts the elements from [f, l) into it.</para>
</description>
+ <requires>
+ <para>If the defaults are used, <code>hasher</code>, <code>key_equal</code> and
+ <code>allocator_type</code> need to be <code>DefaultConstructible</code>.
+ </para>
+ </requires>
</constructor>
<constructor>
<parameter>
@@ -350,6 +362,11 @@
<description>
<para>Inserts an object, constructed with the arguments <code>args</code>, in the container if and only if there is no element in the container with an equivalent value.</para>
</description>
+ <requires>
+ <para><code>value_type</code> is <code>EmplaceConstructible</code> into
+ <code>X</code> from <code>args</code>.
+ </para>
+ </requires>
<returns>
<para>The bool component of the return type is true if an insert took place.</para>
<para>If an insert took place, then the iterator points to the newly inserted element. Otherwise, it points to the element with equivalent value.</para>
@@ -388,6 +405,11 @@
<para>Inserts an object, constructed with the arguments <code>args</code>, in the container if and only if there is no element in the container with an equivalent value.</para>
<para><code>hint</code> is a suggestion to where the element should be inserted.</para>
</description>
+ <requires>
+ <para><code>value_type</code> is <code>EmplaceConstructible</code> into
+ <code>X</code> from <code>args</code>.
+ </para>
+ </requires>
<returns>
<para>If an insert took place, then the iterator points to the newly inserted element. Otherwise, it points to the element with equivalent value.</para>
</returns>
@@ -418,6 +440,9 @@
<description>
<para>Inserts <code>obj</code> in the container if and only if there is no element in the container with an equivalent value.</para>
</description>
+ <requires>
+ <para><code>value_type</code> is <code>CopyInsertable</code>.</para>
+ </requires>
<returns>
<para>The bool component of the return type is true if an insert took place.</para>
<para>If an insert took place, then the iterator points to the newly inserted element. Otherwise, it points to the element with equivalent value.</para>
@@ -438,6 +463,9 @@
<description>
<para>Inserts <code>obj</code> in the container if and only if there is no element in the container with an equivalent value.</para>
</description>
+ <requires>
+ <para><code>value_type</code> is <code>MoveInsertable</code>.</para>
+ </requires>
<returns>
<para>The bool component of the return type is true if an insert took place.</para>
<para>If an insert took place, then the iterator points to the newly inserted element. Otherwise, it points to the element with equivalent value.</para>
@@ -462,6 +490,9 @@
<para>Inserts <code>obj</code> in the container if and only if there is no element in the container with an equivalent value.</para>
<para>hint is a suggestion to where the element should be inserted.</para>
</description>
+ <requires>
+ <para><code>value_type</code> is <code>CopyInsertable</code>.</para>
+ </requires>
<returns>
<para>If an insert took place, then the iterator points to the newly inserted element. Otherwise, it points to the element with equivalent value.</para>
</returns>
@@ -486,6 +517,9 @@
<para>Inserts <code>obj</code> in the container if and only if there is no element in the container with an equivalent value.</para>
<para>hint is a suggestion to where the element should be inserted.</para>
</description>
+ <requires>
+ <para><code>value_type</code> is <code>MoveInsertable</code>.</para>
+ </requires>
<returns>
<para>If an insert took place, then the iterator points to the newly inserted element. Otherwise, it points to the element with equivalent value.</para>
</returns>
@@ -513,6 +547,10 @@
<description>
<para>Inserts a range of elements into the container. Elements are inserted if and only if there is no element in the container with an equivalent value.</para>
</description>
+ <requires>
+ <para><code>value_type</code> is <code>EmplaceConstructible</code> into
+ <code>X</code> from <code>*first</code>.</para>
+ </requires>
<throws>
<para>When inserting a single element, if an exception is thrown by an operation other than a call to <code>hasher</code> the function has no effect.</para>
</throws>
@@ -1038,7 +1076,9 @@
<tbody>
<row>
<entry><emphasis>Value</emphasis></entry>
- <entry>Value must be Assignable and CopyConstructible</entry></row>
+ <entry><code>Value</code> must be <code>Erasable</code> from the container
+ (i.e. <code>allocator_traits</code> can <code>destroy</code> it).
+ </entry></row>
<row>
<entry><emphasis>Hash</emphasis></entry>
<entry>A unary function object type that acts a hash function for a <code>Value</code>. It takes a single argument of type <code>Value</code> and returns a value of type std::size_t.</entry></row>
@@ -1160,6 +1200,11 @@
<description>
<para>Constructs an empty container with at least n buckets, using hf as the hash function, eq as the key equality predicate, a as the allocator and a maximum load factor of 1.0.</para>
</description>
+ <requires>
+ <para>If the defaults are used, <code>hasher</code>, <code>key_equal</code> and
+ <code>allocator_type</code> need to be <code>DefaultConstructible</code>.
+ </para>
+ </requires>
</constructor>
<constructor>
<template>
@@ -1191,6 +1236,11 @@
<description>
<para>Constructs an empty container with at least n buckets, using hf as the hash function, eq as the key equality predicate, a as the allocator and a maximum load factor of 1.0 and inserts the elements from [f, l) into it.</para>
</description>
+ <requires>
+ <para>If the defaults are used, <code>hasher</code>, <code>key_equal</code> and
+ <code>allocator_type</code> need to be <code>DefaultConstructible</code>.
+ </para>
+ </requires>
</constructor>
<constructor>
<parameter>
@@ -1359,6 +1409,11 @@
<description>
<para>Inserts an object, constructed with the arguments <code>args</code>, in the container.</para>
</description>
+ <requires>
+ <para><code>value_type</code> is <code>EmplaceConstructible</code> into
+ <code>X</code> from <code>args</code>.
+ </para>
+ </requires>
<returns>
<para>An iterator pointing to the inserted element.</para>
</returns>
@@ -1396,6 +1451,11 @@
<para>Inserts an object, constructed with the arguments <code>args</code>, in the container.</para>
<para><code>hint</code> is a suggestion to where the element should be inserted.</para>
</description>
+ <requires>
+ <para><code>value_type</code> is <code>EmplaceConstructible</code> into
+ <code>X</code> from <code>args</code>.
+ </para>
+ </requires>
<returns>
<para>An iterator pointing to the inserted element.</para>
</returns>
@@ -1426,6 +1486,9 @@
<description>
<para>Inserts <code>obj</code> in the container.</para>
</description>
+ <requires>
+ <para><code>value_type</code> is <code>CopyInsertable</code>.</para>
+ </requires>
<returns>
<para>An iterator pointing to the inserted element.</para>
</returns>
@@ -1445,6 +1508,9 @@
<description>
<para>Inserts <code>obj</code> in the container.</para>
</description>
+ <requires>
+ <para><code>value_type</code> is <code>MoveInsertable</code>.</para>
+ </requires>
<returns>
<para>An iterator pointing to the inserted element.</para>
</returns>
@@ -1468,6 +1534,9 @@
<para>Inserts <code>obj</code> in the container.</para>
<para>hint is a suggestion to where the element should be inserted.</para>
</description>
+ <requires>
+ <para><code>value_type</code> is <code>CopyInsertable</code>.</para>
+ </requires>
<returns>
<para>An iterator pointing to the inserted element.</para>
</returns>
@@ -1492,6 +1561,9 @@
<para>Inserts <code>obj</code> in the container.</para>
<para>hint is a suggestion to where the element should be inserted.</para>
</description>
+ <requires>
+ <para><code>value_type</code> is <code>MoveInsertable</code>.</para>
+ </requires>
<returns>
<para>An iterator pointing to the inserted element.</para>
</returns>
@@ -1519,6 +1591,10 @@
<description>
<para>Inserts a range of elements into the container. Elements are inserted if and only if there is no element in the container with an equivalent value.</para>
</description>
+ <requires>
+ <para><code>value_type</code> is <code>EmplaceConstructible</code> into
+ <code>X</code> from <code>*first</code>.</para>
+ </requires>
<throws>
<para>When inserting a single element, if an exception is thrown by an operation other than a call to <code>hasher</code> the function has no effect.</para>
</throws>
@@ -2050,10 +2126,14 @@
<tbody>
<row>
<entry><emphasis>Key</emphasis></entry>
- <entry>Key must be Assignable and CopyConstructible.</entry></row>
+ <entry><code>Key</code> must be <code>Erasable</code> from the container
+ (i.e. <code>allocator_traits</code> can <code>destroy</code> it).
+ </entry></row>
<row>
<entry><emphasis>Mapped</emphasis></entry>
- <entry>Mapped must be CopyConstructible</entry></row>
+ <entry><code>Mapped</code> must be <code>Erasable</code> from the container
+ (i.e. <code>allocator_traits</code> can <code>destroy</code> it).
+ </entry></row>
<row>
<entry><emphasis>Hash</emphasis></entry>
<entry>A unary function object type that acts a hash function for a <code>Key</code>. It takes a single argument of type <code>Key</code> and returns a value of type std::size_t.</entry></row>
@@ -2178,6 +2258,11 @@
<description>
<para>Constructs an empty container with at least n buckets, using hf as the hash function, eq as the key equality predicate, a as the allocator and a maximum load factor of 1.0.</para>
</description>
+ <requires>
+ <para>If the defaults are used, <code>hasher</code>, <code>key_equal</code> and
+ <code>allocator_type</code> need to be <code>DefaultConstructible</code>.
+ </para>
+ </requires>
</constructor>
<constructor>
<template>
@@ -2209,6 +2294,11 @@
<description>
<para>Constructs an empty container with at least n buckets, using hf as the hash function, eq as the key equality predicate, a as the allocator and a maximum load factor of 1.0 and inserts the elements from [f, l) into it.</para>
</description>
+ <requires>
+ <para>If the defaults are used, <code>hasher</code>, <code>key_equal</code> and
+ <code>allocator_type</code> need to be <code>DefaultConstructible</code>.
+ </para>
+ </requires>
</constructor>
<constructor>
<parameter>
@@ -2377,6 +2467,11 @@
<description>
<para>Inserts an object, constructed with the arguments <code>args</code>, in the container if and only if there is no element in the container with an equivalent key.</para>
</description>
+ <requires>
+ <para><code>value_type</code> is <code>EmplaceConstructible</code> into
+ <code>X</code> from <code>args</code>.
+ </para>
+ </requires>
<returns>
<para>The bool component of the return type is true if an insert took place.</para>
<para>If an insert took place, then the iterator points to the newly inserted element. Otherwise, it points to the element with equivalent key.</para>
@@ -2415,6 +2510,11 @@
<para>Inserts an object, constructed with the arguments <code>args</code>, in the container if and only if there is no element in the container with an equivalent key.</para>
<para><code>hint</code> is a suggestion to where the element should be inserted.</para>
</description>
+ <requires>
+ <para><code>value_type</code> is <code>EmplaceConstructible</code> into
+ <code>X</code> from <code>args</code>.
+ </para>
+ </requires>
<returns>
<para>If an insert took place, then the iterator points to the newly inserted element. Otherwise, it points to the element with equivalent key.</para>
</returns>
@@ -2445,6 +2545,9 @@
<description>
<para>Inserts <code>obj</code> in the container if and only if there is no element in the container with an equivalent key.</para>
</description>
+ <requires>
+ <para><code>value_type</code> is <code>CopyInsertable</code>.</para>
+ </requires>
<returns>
<para>The bool component of the return type is true if an insert took place.</para>
<para>If an insert took place, then the iterator points to the newly inserted element. Otherwise, it points to the element with equivalent key.</para>
@@ -2465,6 +2568,9 @@
<description>
<para>Inserts <code>obj</code> in the container if and only if there is no element in the container with an equivalent key.</para>
</description>
+ <requires>
+ <para><code>value_type</code> is <code>MoveInsertable</code>.</para>
+ </requires>
<returns>
<para>The bool component of the return type is true if an insert took place.</para>
<para>If an insert took place, then the iterator points to the newly inserted element. Otherwise, it points to the element with equivalent key.</para>
@@ -2489,6 +2595,9 @@
<para>Inserts <code>obj</code> in the container if and only if there is no element in the container with an equivalent key.</para>
<para>hint is a suggestion to where the element should be inserted.</para>
</description>
+ <requires>
+ <para><code>value_type</code> is <code>CopyInsertable</code>.</para>
+ </requires>
<returns>
<para>If an insert took place, then the iterator points to the newly inserted element. Otherwise, it points to the element with equivalent key.</para>
</returns>
@@ -2513,6 +2622,9 @@
<para>Inserts <code>obj</code> in the container if and only if there is no element in the container with an equivalent key.</para>
<para>hint is a suggestion to where the element should be inserted.</para>
</description>
+ <requires>
+ <para><code>value_type</code> is <code>MoveInsertable</code>.</para>
+ </requires>
<returns>
<para>If an insert took place, then the iterator points to the newly inserted element. Otherwise, it points to the element with equivalent key.</para>
</returns>
@@ -2540,6 +2652,10 @@
<description>
<para>Inserts a range of elements into the container. Elements are inserted if and only if there is no element in the container with an equivalent key.</para>
</description>
+ <requires>
+ <para><code>value_type</code> is <code>EmplaceConstructible</code> into
+ <code>X</code> from <code>*first</code>.</para>
+ </requires>
<throws>
<para>When inserting a single element, if an exception is thrown by an operation other than a call to <code>hasher</code> the function has no effect.</para>
</throws>
@@ -3104,10 +3220,14 @@
<tbody>
<row>
<entry><emphasis>Key</emphasis></entry>
- <entry>Key must be Assignable and CopyConstructible.</entry></row>
+ <entry><code>Key</code> must be <code>Erasable</code> from the container
+ (i.e. <code>allocator_traits</code> can <code>destroy</code> it).
+ </entry></row>
<row>
<entry><emphasis>Mapped</emphasis></entry>
- <entry>Mapped must be CopyConstructible</entry></row>
+ <entry><code>Mapped</code> must be <code>Erasable</code> from the container
+ (i.e. <code>allocator_traits</code> can <code>destroy</code> it).
+ </entry></row>
<row>
<entry><emphasis>Hash</emphasis></entry>
<entry>A unary function object type that acts a hash function for a <code>Key</code>. It takes a single argument of type <code>Key</code> and returns a value of type std::size_t.</entry></row>
@@ -3232,6 +3352,11 @@
<description>
<para>Constructs an empty container with at least n buckets, using hf as the hash function, eq as the key equality predicate, a as the allocator and a maximum load factor of 1.0.</para>
</description>
+ <requires>
+ <para>If the defaults are used, <code>hasher</code>, <code>key_equal</code> and
+ <code>allocator_type</code> need to be <code>DefaultConstructible</code>.
+ </para>
+ </requires>
</constructor>
<constructor>
<template>
@@ -3263,6 +3388,11 @@
<description>
<para>Constructs an empty container with at least n buckets, using hf as the hash function, eq as the key equality predicate, a as the allocator and a maximum load factor of 1.0 and inserts the elements from [f, l) into it.</para>
</description>
+ <requires>
+ <para>If the defaults are used, <code>hasher</code>, <code>key_equal</code> and
+ <code>allocator_type</code> need to be <code>DefaultConstructible</code>.
+ </para>
+ </requires>
</constructor>
<constructor>
<parameter>
@@ -3431,6 +3561,11 @@
<description>
<para>Inserts an object, constructed with the arguments <code>args</code>, in the container.</para>
</description>
+ <requires>
+ <para><code>value_type</code> is <code>EmplaceConstructible</code> into
+ <code>X</code> from <code>args</code>.
+ </para>
+ </requires>
<returns>
<para>An iterator pointing to the inserted element.</para>
</returns>
@@ -3468,6 +3603,11 @@
<para>Inserts an object, constructed with the arguments <code>args</code>, in the container.</para>
<para><code>hint</code> is a suggestion to where the element should be inserted.</para>
</description>
+ <requires>
+ <para><code>value_type</code> is <code>EmplaceConstructible</code> into
+ <code>X</code> from <code>args</code>.
+ </para>
+ </requires>
<returns>
<para>An iterator pointing to the inserted element.</para>
</returns>
@@ -3498,6 +3638,9 @@
<description>
<para>Inserts <code>obj</code> in the container.</para>
</description>
+ <requires>
+ <para><code>value_type</code> is <code>CopyInsertable</code>.</para>
+ </requires>
<returns>
<para>An iterator pointing to the inserted element.</para>
</returns>
@@ -3517,6 +3660,9 @@
<description>
<para>Inserts <code>obj</code> in the container.</para>
</description>
+ <requires>
+ <para><code>value_type</code> is <code>MoveInsertable</code>.</para>
+ </requires>
<returns>
<para>An iterator pointing to the inserted element.</para>
</returns>
@@ -3540,6 +3686,9 @@
<para>Inserts <code>obj</code> in the container.</para>
<para>hint is a suggestion to where the element should be inserted.</para>
</description>
+ <requires>
+ <para><code>value_type</code> is <code>CopyInsertable</code>.</para>
+ </requires>
<returns>
<para>An iterator pointing to the inserted element.</para>
</returns>
@@ -3564,6 +3713,9 @@
<para>Inserts <code>obj</code> in the container.</para>
<para>hint is a suggestion to where the element should be inserted.</para>
</description>
+ <requires>
+ <para><code>value_type</code> is <code>MoveInsertable</code>.</para>
+ </requires>
<returns>
<para>An iterator pointing to the inserted element.</para>
</returns>
@@ -3591,6 +3743,10 @@
<description>
<para>Inserts a range of elements into the container. Elements are inserted if and only if there is no element in the container with an equivalent key.</para>
</description>
+ <requires>
+ <para><code>value_type</code> is <code>EmplaceConstructible</code> into
+ <code>X</code> from <code>*first</code>.</para>
+ </requires>
<throws>
<para>When inserting a single element, if an exception is thrown by an operation other than a call to <code>hasher</code> the function has no effect.</para>
</throws>
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk