mirror of
https://github.com/boostorg/boostbook.git
synced 2025-05-09 15:03:57 +00:00
Run tests with and without consistent ids
This commit is contained in:
parent
02619b765d
commit
c7208c85f7
@ -55,29 +55,37 @@ def main(argv):
|
||||
for filename in files:
|
||||
(base, ext) = os.path.splitext(filename)
|
||||
if (ext == '.xml'):
|
||||
src_path = os.path.join(root, filename)
|
||||
gold_path = os.path.join(root, base + '.gold')
|
||||
try:
|
||||
doc_text = run_boostbook(parser, boostbook_xsl, src_path)
|
||||
except:
|
||||
# TODO: Need better error reporting here:
|
||||
print "Error running boostbook for " + src_path
|
||||
success = False
|
||||
continue
|
||||
|
||||
if (generate_gold):
|
||||
file = open(gold_path, 'w')
|
||||
for consistent_ids in [False, True]:
|
||||
if not consistent_ids:
|
||||
gold_ext = ".gold"
|
||||
else:
|
||||
gold_ext = ".gold2"
|
||||
src_path = os.path.join(root, filename)
|
||||
gold_path = os.path.join(root, base + gold_ext)
|
||||
try:
|
||||
file.write(doc_text)
|
||||
finally: file.close()
|
||||
else:
|
||||
file = open(gold_path, 'r')
|
||||
try:
|
||||
gold_text = file.read()
|
||||
finally:
|
||||
file.close()
|
||||
if not compare_xml(src_path, doc_text, gold_text):
|
||||
if consistent_ids:
|
||||
doc_text = run_boostbook_consistent_ids(parser, boostbook_xsl, src_path)
|
||||
else:
|
||||
doc_text = run_boostbook(parser, boostbook_xsl, src_path)
|
||||
except:
|
||||
# TODO: Need better error reporting here:
|
||||
print "Error running boostbook for " + src_path
|
||||
success = False
|
||||
continue
|
||||
|
||||
if (generate_gold):
|
||||
file = open(gold_path, 'w')
|
||||
try:
|
||||
file.write(doc_text)
|
||||
finally: file.close()
|
||||
else:
|
||||
file = open(gold_path, 'r')
|
||||
try:
|
||||
gold_text = file.read()
|
||||
finally:
|
||||
file.close()
|
||||
if not compare_xml(src_path, doc_text, gold_text):
|
||||
success = False
|
||||
if not success:
|
||||
sys.exit(1)
|
||||
|
||||
@ -87,6 +95,12 @@ def run_boostbook(parser, boostbook_xsl, file):
|
||||
normalize_boostbook_ids(doc)
|
||||
return etree.tostring(doc)
|
||||
|
||||
def run_boostbook_consistent_ids(parser, boostbook_xsl, file):
|
||||
doc = boostbook_xsl(etree.parse(file, parser), **{
|
||||
'generate.consistent.ids': '1'
|
||||
})
|
||||
return etree.tostring(doc)
|
||||
|
||||
def normalize_boostbook_ids(doc):
|
||||
ids = {}
|
||||
id_bases = defaultdict(int)
|
||||
@ -97,7 +111,7 @@ def normalize_boostbook_ids(doc):
|
||||
if(id in ids):
|
||||
print 'Duplicate id: ' + id
|
||||
|
||||
match = re.match("(.+_id|id)([mp]?\d+)((?:-bb)?)", id)
|
||||
match = re.match("(.+_id|id)([-mp]?[\d_]+)((?:-bb)?)", id)
|
||||
if(match):
|
||||
# Truncate id name, as it sometimes has different lengths...
|
||||
match2 = re.match("(.*?)([^.]*?)(_?id)", match.group(1))
|
||||
|
4
test/more/tests/book/boostbook.gold2
Normal file
4
test/more/tests/book/boostbook.gold2
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
||||
<book xmlns:xi="http://www.w3.org/2001/XInclude" id="test" lang="en">
|
||||
<title>Test 'boostbook' root.</title>
|
||||
</book>
|
4
test/more/tests/book/chapter.gold2
Normal file
4
test/more/tests/book/chapter.gold2
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
||||
<chapter id="test" last-revision="$Date: 2010-10-30 15:29:27 +0100 (Sat, 30 Oct 2010) $" lang="en">
|
||||
<title>Test 'boostbook' root.</title>
|
||||
</chapter>
|
4
test/more/tests/book/library-autoid.gold2
Normal file
4
test/more/tests/book/library-autoid.gold2
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
||||
<chapter lang="en" id="id-1-bb">
|
||||
<title>Test 'boostbook' root.</title>
|
||||
</chapter>
|
4
test/more/tests/book/library.gold2
Normal file
4
test/more/tests/book/library.gold2
Normal file
@ -0,0 +1,4 @@
|
||||
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
||||
<chapter xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" id="test" rev:last-revision="$Date: 2010-10-30 15:29:27 +0100 (Sat, 30 Oct 2010) $">
|
||||
<title>Test 'boostbook' root.</title>
|
||||
</chapter>
|
311
test/more/tests/libs/array.gold2
Normal file
311
test/more/tests/libs/array.gold2
Normal file
@ -0,0 +1,311 @@
|
||||
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
||||
<chapter xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" id="array" rev:last-revision="$Date$">
|
||||
<chapterinfo><author>
|
||||
<firstname>Nicolai</firstname>
|
||||
<surname>Josuttis</surname>
|
||||
</author><copyright>
|
||||
<year>2001</year>
|
||||
<year>2002</year>
|
||||
<year>2003</year>
|
||||
<year>2004</year>
|
||||
<holder>Nicolai M. Josuttis</holder>
|
||||
</copyright><legalnotice>
|
||||
<para>Distributed under the Boost Software License, Version 1.0.
|
||||
(See accompanying file <filename>LICENSE_1_0.txt</filename> or copy at
|
||||
<ulink url="http://www.boost.org/LICENSE_1_0.txt">http://www.boost.org/LICENSE_1_0.txt</ulink>)
|
||||
</para>
|
||||
</legalnotice></chapterinfo>
|
||||
|
||||
<title>Boost.Array</title>
|
||||
|
||||
<section id="array.intro">
|
||||
<title>Introduction</title>
|
||||
|
||||
|
||||
|
||||
|
||||
<para>The C++ Standard Template Library STL as part of the C++
|
||||
Standard Library provides a framework for processing algorithms on
|
||||
different kind of containers. However, ordinary arrays don't
|
||||
provide the interface of STL containers (although, they provide
|
||||
the iterator interface of STL containers).</para>
|
||||
|
||||
<para>As replacement for ordinary arrays, the STL provides class
|
||||
<computeroutput xmlns:xi="http://www.w3.org/2001/XInclude">std::vector</computeroutput>. However,
|
||||
<computeroutput xmlns:xi="http://www.w3.org/2001/XInclude">std::vector<></computeroutput> provides
|
||||
the semantics of dynamic arrays. Thus, it manages data to be able
|
||||
to change the number of elements. This results in some overhead in
|
||||
case only arrays with static size are needed.</para>
|
||||
|
||||
<para>In his book, <emphasis>Generic Programming and the
|
||||
STL</emphasis>, Matthew H. Austern introduces a useful wrapper
|
||||
class for ordinary arrays with static size, called
|
||||
<computeroutput xmlns:xi="http://www.w3.org/2001/XInclude">block</computeroutput>. It is safer and has no worse performance than
|
||||
ordinary arrays. In <emphasis>The C++ Programming
|
||||
Language</emphasis>, 3rd edition, Bjarne Stroustrup introduces a
|
||||
similar class, called <computeroutput xmlns:xi="http://www.w3.org/2001/XInclude">c_array</computeroutput>, which I (<ulink url="http://www.josuttis.com">Nicolai Josuttis</ulink>) present
|
||||
slightly modified in my book <emphasis>The C++ Standard Library -
|
||||
A Tutorial and Reference</emphasis>, called
|
||||
<computeroutput xmlns:xi="http://www.w3.org/2001/XInclude">carray</computeroutput>. This is the essence of these approaches
|
||||
spiced with many feedback from <ulink url="http://www.boost.org">boost</ulink>.</para>
|
||||
|
||||
<para>After considering different names, we decided to name this
|
||||
class simply <computeroutput xmlns:xi="http://www.w3.org/2001/XInclude"><link linkend="boost.array">array</link></computeroutput>.</para>
|
||||
|
||||
<para>Note that this class is suggested to be part of the next
|
||||
Technical Report, which will extend the C++ Standard (see
|
||||
<ulink url="http://std.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1548.htm">http://std.dkuug.dk/jtc1/sc22/wg21/docs/papers/2003/n1548.htm</ulink>).</para>
|
||||
|
||||
<para>Class <computeroutput xmlns:xi="http://www.w3.org/2001/XInclude"><link linkend="boost.array">array</link></computeroutput> fulfills most
|
||||
but not all of the requirements of "reversible containers" (see
|
||||
Section 23.1, [lib.container.requirements] of the C++
|
||||
Standard). The reasons array is not an reversible STL container is
|
||||
because:
|
||||
<itemizedlist spacing="compact">
|
||||
<listitem><simpara>No constructors are provided.</simpara></listitem>
|
||||
<listitem><simpara>Elements may have an undetermined initial value (see <xref linkend="array.rationale"/>).</simpara></listitem>
|
||||
<listitem><simpara><computeroutput xmlns:xi="http://www.w3.org/2001/XInclude"><link linkend="boost.array.swap">swap</link></computeroutput>() has no constant complexity.</simpara></listitem>
|
||||
<listitem><simpara><computeroutput xmlns:xi="http://www.w3.org/2001/XInclude"><link linkend="id-1.4.1.1.1.16.1-bb">size</link></computeroutput>() is always constant, based on the second template argument of the type.</simpara></listitem>
|
||||
<listitem><simpara>The container provides no allocator support.</simpara></listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
|
||||
<para>It doesn't fulfill the requirements of a "sequence" (see Section 23.1.1, [lib.sequence.reqmts] of the C++ Standard), except that:
|
||||
<itemizedlist spacing="compact">
|
||||
<listitem><simpara><computeroutput xmlns:xi="http://www.w3.org/2001/XInclude"><link linkend="id-1.4.1.1.1.17.3-bb">front</link></computeroutput>() and <computeroutput xmlns:xi="http://www.w3.org/2001/XInclude"><link linkend="id-1.4.1.1.1.17.4-bb">back</link></computeroutput>() are provided.</simpara></listitem>
|
||||
<listitem><simpara><computeroutput xmlns:xi="http://www.w3.org/2001/XInclude"><link linkend="id-1.4.1.1.1.17.1-bb">operator[]</link></computeroutput> and <computeroutput xmlns:xi="http://www.w3.org/2001/XInclude"><link linkend="id-1.4.1.1.1.17.2-bb">at</link></computeroutput>() are provided.</simpara></listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
</section>
|
||||
|
||||
<section id="array.reference"><title>Reference</title>
|
||||
<section id="header.boost.array_hpp"><title>Header <<ulink url="../../boost/array.hpp">boost/array.hpp</ulink>></title><synopsis xmlns:xi="http://www.w3.org/2001/XInclude"><phrase role="keyword">namespace</phrase> <phrase role="identifier">boost</phrase> <phrase role="special">{</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> T<phrase role="special">,</phrase> <phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> N<phrase role="special">></phrase> <phrase role="keyword">class</phrase> <link linkend="boost.array">array</link><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> T<phrase role="special">,</phrase> <phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> N<phrase role="special">></phrase> <phrase role="keyword">void</phrase> <link linkend="boost.array.swap"><phrase role="identifier">swap</phrase></link><phrase role="special">(</phrase><link linkend="boost.array">array</link><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">N</phrase><phrase role="special">></phrase><phrase role="special">&</phrase><phrase role="special">,</phrase> <link linkend="boost.array">array</link><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">N</phrase><phrase role="special">></phrase><phrase role="special">&</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> T<phrase role="special">,</phrase> <phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> N<phrase role="special">></phrase>
|
||||
<phrase role="keyword">bool</phrase> <link linkend="boost.array.operator=="><phrase role="keyword">operator</phrase><phrase role="special">==</phrase></link><phrase role="special">(</phrase><phrase role="keyword">const</phrase> <link linkend="boost.array">array</link><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">N</phrase><phrase role="special">></phrase><phrase role="special">&</phrase><phrase role="special">,</phrase> <phrase role="keyword">const</phrase> <link linkend="boost.array">array</link><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">N</phrase><phrase role="special">></phrase><phrase role="special">&</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> T<phrase role="special">,</phrase> <phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> N<phrase role="special">></phrase>
|
||||
<phrase role="keyword">bool</phrase> <link linkend="boost.array.operator!="><phrase role="keyword">operator</phrase><phrase role="special">!=</phrase></link><phrase role="special">(</phrase><phrase role="keyword">const</phrase> <link linkend="boost.array">array</link><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">N</phrase><phrase role="special">></phrase><phrase role="special">&</phrase><phrase role="special">,</phrase> <phrase role="keyword">const</phrase> <link linkend="boost.array">array</link><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">N</phrase><phrase role="special">></phrase><phrase role="special">&</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> T<phrase role="special">,</phrase> <phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> N<phrase role="special">></phrase>
|
||||
<phrase role="keyword">bool</phrase> <link linkend="boost.array.operator_id-1.4.1.1.1.21.3"><phrase role="keyword">operator</phrase><phrase role="special"><</phrase></link><phrase role="special">(</phrase><phrase role="keyword">const</phrase> <link linkend="boost.array">array</link><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">N</phrase><phrase role="special">></phrase><phrase role="special">&</phrase><phrase role="special">,</phrase> <phrase role="keyword">const</phrase> <link linkend="boost.array">array</link><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">N</phrase><phrase role="special">></phrase><phrase role="special">&</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> T<phrase role="special">,</phrase> <phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> N<phrase role="special">></phrase>
|
||||
<phrase role="keyword">bool</phrase> <link linkend="boost.array.operator_id-1.4.1.1.1.21.4"><phrase role="keyword">operator</phrase><phrase role="special">></phrase></link><phrase role="special">(</phrase><phrase role="keyword">const</phrase> <link linkend="boost.array">array</link><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">N</phrase><phrase role="special">></phrase><phrase role="special">&</phrase><phrase role="special">,</phrase> <phrase role="keyword">const</phrase> <link linkend="boost.array">array</link><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">N</phrase><phrase role="special">></phrase><phrase role="special">&</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> T<phrase role="special">,</phrase> <phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> N<phrase role="special">></phrase>
|
||||
<phrase role="keyword">bool</phrase> <link linkend="boost.array.operator_id-1.4.1.1.1.21.5"><phrase role="keyword">operator</phrase><phrase role="special"><=</phrase></link><phrase role="special">(</phrase><phrase role="keyword">const</phrase> <link linkend="boost.array">array</link><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">N</phrase><phrase role="special">></phrase><phrase role="special">&</phrase><phrase role="special">,</phrase> <phrase role="keyword">const</phrase> <link linkend="boost.array">array</link><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">N</phrase><phrase role="special">></phrase><phrase role="special">&</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> T<phrase role="special">,</phrase> <phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> N<phrase role="special">></phrase>
|
||||
<phrase role="keyword">bool</phrase> <link linkend="boost.array.operator_id-1.4.1.1.1.21.6"><phrase role="keyword">operator</phrase><phrase role="special">>=</phrase></link><phrase role="special">(</phrase><phrase role="keyword">const</phrase> <link linkend="boost.array">array</link><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">N</phrase><phrase role="special">></phrase><phrase role="special">&</phrase><phrase role="special">,</phrase> <phrase role="keyword">const</phrase> <link linkend="boost.array">array</link><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">N</phrase><phrase role="special">></phrase><phrase role="special">&</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="special">}</phrase></synopsis>
|
||||
<refentry xmlns:xi="http://www.w3.org/2001/XInclude" id="boost.array"><refmeta><refentrytitle>Class template array</refentrytitle><manvolnum>3</manvolnum></refmeta><refnamediv><refname>boost::array</refname><refpurpose>STL compliant container wrapper for arrays of constant size</refpurpose></refnamediv><refsynopsisdiv><synopsis><phrase role="comment">// In header: <<link linkend="header.boost.array_hpp">boost/array.hpp</link>>
|
||||
|
||||
</phrase><phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> T<phrase role="special">,</phrase> <phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> N<phrase role="special">></phrase>
|
||||
<phrase role="keyword">class</phrase> <link linkend="boost.array">array</link> <phrase role="special">{</phrase>
|
||||
<phrase role="keyword">public</phrase><phrase role="special">:</phrase>
|
||||
<phrase role="comment">// types</phrase>
|
||||
<phrase role="keyword">typedef</phrase> <phrase role="identifier">T</phrase> <anchor id="boost.array.value_type"/><phrase role="identifier">value_type</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">typedef</phrase> <phrase role="identifier">T</phrase><phrase role="special">*</phrase> <anchor id="boost.array.iterator"/><phrase role="identifier">iterator</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">typedef</phrase> <phrase role="keyword">const</phrase> <phrase role="identifier">T</phrase><phrase role="special">*</phrase> <anchor id="boost.array.const_iterator"/><phrase role="identifier">const_iterator</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">typedef</phrase> std::reverse_iterator<phrase role="special"><</phrase><phrase role="identifier">iterator</phrase><phrase role="special">></phrase> <anchor id="boost.array.reverse_iterator"/><phrase role="identifier">reverse_iterator</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">typedef</phrase> std::reverse_iterator<phrase role="special"><</phrase><phrase role="identifier">const_iterator</phrase><phrase role="special">></phrase> <anchor id="boost.array.const_reverse_iterator"/><phrase role="identifier">const_reverse_iterator</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">typedef</phrase> <phrase role="identifier">T</phrase><phrase role="special">&</phrase> <anchor id="boost.array.reference"/><phrase role="identifier">reference</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">typedef</phrase> <phrase role="keyword">const</phrase> <phrase role="identifier">T</phrase><phrase role="special">&</phrase> <anchor id="boost.array.const_reference"/><phrase role="identifier">const_reference</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">typedef</phrase> <phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="boost.array.size_type"/><phrase role="identifier">size_type</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">typedef</phrase> <phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">ptrdiff_t</phrase> <anchor id="boost.array.difference_type"/><phrase role="identifier">difference_type</phrase><phrase role="special">;</phrase>
|
||||
|
||||
<phrase role="comment">// static constants</phrase>
|
||||
<phrase role="keyword">static</phrase> <phrase role="keyword">const</phrase> <phrase role="identifier">size_type</phrase> <phrase role="identifier">static_size</phrase> = <phrase role="identifier">N</phrase><phrase role="special">;</phrase>
|
||||
|
||||
<phrase role="comment">// <link linkend="boost.arrayconstruct-copy-destruct">construct/copy/destruct</link></phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> U<phrase role="special">></phrase> array& <link linkend="id-1.4.1.1.1.13-bb"><phrase role="keyword">operator</phrase><phrase role="special">=</phrase></link><phrase role="special">(</phrase><phrase role="keyword">const</phrase> <link linkend="boost.array">array</link><phrase role="special"><</phrase><phrase role="identifier">U</phrase><phrase role="special">,</phrase> <phrase role="identifier">N</phrase><phrase role="special">></phrase><phrase role="special">&</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
|
||||
<phrase role="comment">// <link linkend="id-1.4.1.1.1.14-bb">iterator support</link></phrase>
|
||||
<phrase role="identifier">iterator</phrase> <link linkend="id-1.4.1.1.1.14.1.1-bb"><phrase role="identifier">begin</phrase></link><phrase role="special">(</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">const_iterator</phrase> <link linkend="id-1.4.1.1.1.14.1.2-bb"><phrase role="identifier">begin</phrase></link><phrase role="special">(</phrase><phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">iterator</phrase> <link linkend="id-1.4.1.1.1.14.2.1-bb"><phrase role="identifier">end</phrase></link><phrase role="special">(</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">const_iterator</phrase> <link linkend="id-1.4.1.1.1.14.2.2-bb"><phrase role="identifier">end</phrase></link><phrase role="special">(</phrase><phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase>
|
||||
|
||||
<phrase role="comment">// <link linkend="id-1.4.1.1.1.15-bb">reverse iterator support</link></phrase>
|
||||
<phrase role="identifier">reverse_iterator</phrase> <link linkend="id-1.4.1.1.1.15.1.1-bb"><phrase role="identifier">rbegin</phrase></link><phrase role="special">(</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">const_reverse_iterator</phrase> <link linkend="id-1.4.1.1.1.15.1.2-bb"><phrase role="identifier">rbegin</phrase></link><phrase role="special">(</phrase><phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">reverse_iterator</phrase> <link linkend="id-1.4.1.1.1.15.2.1-bb"><phrase role="identifier">rend</phrase></link><phrase role="special">(</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">const_reverse_iterator</phrase> <link linkend="id-1.4.1.1.1.15.2.2-bb"><phrase role="identifier">rend</phrase></link><phrase role="special">(</phrase><phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase>
|
||||
|
||||
<phrase role="comment">// <link linkend="id-1.4.1.1.1.16-bb">capacity</link></phrase>
|
||||
<phrase role="identifier">size_type</phrase> <link linkend="id-1.4.1.1.1.16.1-bb"><phrase role="identifier">size</phrase></link><phrase role="special">(</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">bool</phrase> <link linkend="id-1.4.1.1.1.16.2-bb"><phrase role="identifier">empty</phrase></link><phrase role="special">(</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">size_type</phrase> <link linkend="id-1.4.1.1.1.16.3-bb"><phrase role="identifier">max_size</phrase></link><phrase role="special">(</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
|
||||
<phrase role="comment">// <link linkend="id-1.4.1.1.1.17-bb">element access</link></phrase>
|
||||
<phrase role="identifier">reference</phrase> <link linkend="id-1.4.1.1.1.17.1.1-bb"><phrase role="keyword">operator</phrase><phrase role="special">[</phrase><phrase role="special">]</phrase></link><phrase role="special">(</phrase><phrase role="identifier">size_type</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">const_reference</phrase> <link linkend="id-1.4.1.1.1.17.1.2-bb"><phrase role="keyword">operator</phrase><phrase role="special">[</phrase><phrase role="special">]</phrase></link><phrase role="special">(</phrase><phrase role="identifier">size_type</phrase><phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">reference</phrase> <link linkend="id-1.4.1.1.1.17.2.1-bb"><phrase role="identifier">at</phrase></link><phrase role="special">(</phrase><phrase role="identifier">size_type</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">const_reference</phrase> <link linkend="id-1.4.1.1.1.17.2.2-bb"><phrase role="identifier">at</phrase></link><phrase role="special">(</phrase><phrase role="identifier">size_type</phrase><phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">reference</phrase> <link linkend="id-1.4.1.1.1.17.3.1-bb"><phrase role="identifier">front</phrase></link><phrase role="special">(</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">const_reference</phrase> <link linkend="id-1.4.1.1.1.17.3.2-bb"><phrase role="identifier">front</phrase></link><phrase role="special">(</phrase><phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">reference</phrase> <link linkend="id-1.4.1.1.1.17.4.1-bb"><phrase role="identifier">back</phrase></link><phrase role="special">(</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">const_reference</phrase> <link linkend="id-1.4.1.1.1.17.4.2-bb"><phrase role="identifier">back</phrase></link><phrase role="special">(</phrase><phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">const</phrase> <phrase role="identifier">T</phrase><phrase role="special">*</phrase> <link linkend="id-1.4.1.1.1.17.5-bb"><phrase role="identifier">data</phrase></link><phrase role="special">(</phrase><phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">T</phrase><phrase role="special">*</phrase> <link linkend="id-1.4.1.1.1.17.6-bb"><phrase role="identifier">c_array</phrase></link><phrase role="special">(</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
|
||||
<phrase role="comment">// <link linkend="id-1.4.1.1.1.18-bb">modifiers</link></phrase>
|
||||
<phrase role="keyword">void</phrase> <link linkend="id-1.4.1.1.1.18.1-bb"><phrase role="identifier">swap</phrase></link><phrase role="special">(</phrase><link linkend="boost.array">array</link><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">N</phrase><phrase role="special">></phrase><phrase role="special">&</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">void</phrase> <link linkend="id-1.4.1.1.1.18.2-bb"><phrase role="identifier">assign</phrase></link><phrase role="special">(</phrase><phrase role="keyword">const</phrase> <phrase role="identifier">T</phrase><phrase role="special">&</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
|
||||
<phrase role="comment">// public data members</phrase>
|
||||
<phrase role="identifier">T</phrase> <phrase role="identifier">elems[N]</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="special">}</phrase><phrase role="special">;</phrase>
|
||||
|
||||
<phrase role="comment">// <link linkend="id-1.4.1.1.1.20-bb">specialized algorithms</link></phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> T<phrase role="special">,</phrase> <phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> N<phrase role="special">></phrase> <phrase role="keyword">void</phrase> <link linkend="boost.array.swap"><phrase role="identifier">swap</phrase></link><phrase role="special">(</phrase><link linkend="boost.array">array</link><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">N</phrase><phrase role="special">></phrase><phrase role="special">&</phrase><phrase role="special">,</phrase> <link linkend="boost.array">array</link><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">N</phrase><phrase role="special">></phrase><phrase role="special">&</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
|
||||
<phrase role="comment">// <link linkend="id-1.4.1.1.1.21-bb">comparisons</link></phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> T<phrase role="special">,</phrase> <phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> N<phrase role="special">></phrase>
|
||||
<phrase role="keyword">bool</phrase> <link linkend="boost.array.operator=="><phrase role="keyword">operator</phrase><phrase role="special">==</phrase></link><phrase role="special">(</phrase><phrase role="keyword">const</phrase> <link linkend="boost.array">array</link><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">N</phrase><phrase role="special">></phrase><phrase role="special">&</phrase><phrase role="special">,</phrase> <phrase role="keyword">const</phrase> <link linkend="boost.array">array</link><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">N</phrase><phrase role="special">></phrase><phrase role="special">&</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> T<phrase role="special">,</phrase> <phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> N<phrase role="special">></phrase>
|
||||
<phrase role="keyword">bool</phrase> <link linkend="boost.array.operator!="><phrase role="keyword">operator</phrase><phrase role="special">!=</phrase></link><phrase role="special">(</phrase><phrase role="keyword">const</phrase> <link linkend="boost.array">array</link><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">N</phrase><phrase role="special">></phrase><phrase role="special">&</phrase><phrase role="special">,</phrase> <phrase role="keyword">const</phrase> <link linkend="boost.array">array</link><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">N</phrase><phrase role="special">></phrase><phrase role="special">&</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> T<phrase role="special">,</phrase> <phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> N<phrase role="special">></phrase>
|
||||
<phrase role="keyword">bool</phrase> <link linkend="boost.array.operator_id-1.4.1.1.1.21.3"><phrase role="keyword">operator</phrase><phrase role="special"><</phrase></link><phrase role="special">(</phrase><phrase role="keyword">const</phrase> <link linkend="boost.array">array</link><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">N</phrase><phrase role="special">></phrase><phrase role="special">&</phrase><phrase role="special">,</phrase> <phrase role="keyword">const</phrase> <link linkend="boost.array">array</link><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">N</phrase><phrase role="special">></phrase><phrase role="special">&</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> T<phrase role="special">,</phrase> <phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> N<phrase role="special">></phrase>
|
||||
<phrase role="keyword">bool</phrase> <link linkend="boost.array.operator_id-1.4.1.1.1.21.4"><phrase role="keyword">operator</phrase><phrase role="special">></phrase></link><phrase role="special">(</phrase><phrase role="keyword">const</phrase> <link linkend="boost.array">array</link><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">N</phrase><phrase role="special">></phrase><phrase role="special">&</phrase><phrase role="special">,</phrase> <phrase role="keyword">const</phrase> <link linkend="boost.array">array</link><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">N</phrase><phrase role="special">></phrase><phrase role="special">&</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> T<phrase role="special">,</phrase> <phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> N<phrase role="special">></phrase>
|
||||
<phrase role="keyword">bool</phrase> <link linkend="boost.array.operator_id-1.4.1.1.1.21.5"><phrase role="keyword">operator</phrase><phrase role="special"><=</phrase></link><phrase role="special">(</phrase><phrase role="keyword">const</phrase> <link linkend="boost.array">array</link><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">N</phrase><phrase role="special">></phrase><phrase role="special">&</phrase><phrase role="special">,</phrase> <phrase role="keyword">const</phrase> <link linkend="boost.array">array</link><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">N</phrase><phrase role="special">></phrase><phrase role="special">&</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> T<phrase role="special">,</phrase> <phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> N<phrase role="special">></phrase>
|
||||
<phrase role="keyword">bool</phrase> <link linkend="boost.array.operator_id-1.4.1.1.1.21.6"><phrase role="keyword">operator</phrase><phrase role="special">>=</phrase></link><phrase role="special">(</phrase><phrase role="keyword">const</phrase> <link linkend="boost.array">array</link><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">N</phrase><phrase role="special">></phrase><phrase role="special">&</phrase><phrase role="special">,</phrase> <phrase role="keyword">const</phrase> <link linkend="boost.array">array</link><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">N</phrase><phrase role="special">></phrase><phrase role="special">&</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase></synopsis></refsynopsisdiv><refsect1><title>Description</title><refsect2><title><anchor id="boost.arrayconstruct-copy-destruct"/><computeroutput>array</computeroutput>
|
||||
public
|
||||
construct/copy/destruct</title><orderedlist><listitem><para><literallayout class="monospaced"><phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> U<phrase role="special">></phrase> array& <anchor id="id-1.4.1.1.1.13-bb"/><phrase role="keyword">operator</phrase><phrase role="special">=</phrase><phrase role="special">(</phrase><phrase role="keyword">const</phrase> <link linkend="boost.array">array</link><phrase role="special"><</phrase><phrase role="identifier">U</phrase><phrase role="special">,</phrase> <phrase role="identifier">N</phrase><phrase role="special">></phrase><phrase role="special">&</phrase> other<phrase role="special">)</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml
|
||||
list-presentation="table"
|
||||
?><varlistentry><term>Effects:</term><listitem><simpara><computeroutput>std::copy(rhs.<link linkend="id-1.4.1.1.1.14.1-bb">begin</link>(),rhs.<link linkend="id-1.4.1.1.1.14.2-bb">end</link>(), <link linkend="id-1.4.1.1.1.14.1-bb">begin</link>())</computeroutput></simpara></listitem></varlistentry></variablelist></listitem></orderedlist></refsect2><refsect2><title><anchor id="id-1.4.1.1.1.14-bb"/><computeroutput>array</computeroutput> iterator support</title><orderedlist><listitem><para><literallayout class="monospaced"><anchor id="id-1.4.1.1.1.14.1-bb"/><phrase role="identifier">iterator</phrase> <anchor id="id-1.4.1.1.1.14.1.1-bb"/><phrase role="identifier">begin</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">const_iterator</phrase> <anchor id="id-1.4.1.1.1.14.1.2-bb"/><phrase role="identifier">begin</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml
|
||||
list-presentation="table"
|
||||
?><varlistentry><term>Returns:</term><listitem><simpara>iterator for the first element</simpara></listitem></varlistentry><varlistentry><term>Throws:</term><listitem><simpara>will not throw</simpara></listitem></varlistentry></variablelist></listitem><listitem><para><literallayout class="monospaced"><anchor id="id-1.4.1.1.1.14.2-bb"/><phrase role="identifier">iterator</phrase> <anchor id="id-1.4.1.1.1.14.2.1-bb"/><phrase role="identifier">end</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">const_iterator</phrase> <anchor id="id-1.4.1.1.1.14.2.2-bb"/><phrase role="identifier">end</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml
|
||||
list-presentation="table"
|
||||
?><varlistentry><term>Returns:</term><listitem><simpara>iterator for position after the last element</simpara></listitem></varlistentry><varlistentry><term>Throws:</term><listitem><simpara>will not throw</simpara></listitem></varlistentry></variablelist></listitem></orderedlist></refsect2><refsect2><title><anchor id="id-1.4.1.1.1.15-bb"/><computeroutput>array</computeroutput> reverse iterator support</title><orderedlist><listitem><para><literallayout class="monospaced"><anchor id="id-1.4.1.1.1.15.1-bb"/><phrase role="identifier">reverse_iterator</phrase> <anchor id="id-1.4.1.1.1.15.1.1-bb"/><phrase role="identifier">rbegin</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">const_reverse_iterator</phrase> <anchor id="id-1.4.1.1.1.15.1.2-bb"/><phrase role="identifier">rbegin</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml
|
||||
list-presentation="table"
|
||||
?><varlistentry><term>Returns:</term><listitem><simpara>reverse iterator for the first element of reverse iteration</simpara></listitem></varlistentry></variablelist></listitem><listitem><para><literallayout class="monospaced"><anchor id="id-1.4.1.1.1.15.2-bb"/><phrase role="identifier">reverse_iterator</phrase> <anchor id="id-1.4.1.1.1.15.2.1-bb"/><phrase role="identifier">rend</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">const_reverse_iterator</phrase> <anchor id="id-1.4.1.1.1.15.2.2-bb"/><phrase role="identifier">rend</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml
|
||||
list-presentation="table"
|
||||
?><varlistentry><term>Returns:</term><listitem><simpara>reverse iterator for position after the last element in reverse iteration</simpara></listitem></varlistentry></variablelist></listitem></orderedlist></refsect2><refsect2><title><anchor id="id-1.4.1.1.1.16-bb"/><computeroutput>array</computeroutput> capacity</title><orderedlist><listitem><para><literallayout class="monospaced"><phrase role="identifier">size_type</phrase> <anchor id="id-1.4.1.1.1.16.1-bb"/><phrase role="identifier">size</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml
|
||||
list-presentation="table"
|
||||
?><varlistentry><term>Returns:</term><listitem><simpara><computeroutput>N</computeroutput></simpara></listitem></varlistentry></variablelist></listitem><listitem><para><literallayout class="monospaced"><phrase role="keyword">bool</phrase> <anchor id="id-1.4.1.1.1.16.2-bb"/><phrase role="identifier">empty</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml
|
||||
list-presentation="table"
|
||||
?><varlistentry><term>Returns:</term><listitem><simpara><computeroutput>N==0</computeroutput></simpara></listitem></varlistentry><varlistentry><term>Throws:</term><listitem><simpara>will not throw</simpara></listitem></varlistentry></variablelist></listitem><listitem><para><literallayout class="monospaced"><phrase role="identifier">size_type</phrase> <anchor id="id-1.4.1.1.1.16.3-bb"/><phrase role="identifier">max_size</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml
|
||||
list-presentation="table"
|
||||
?><varlistentry><term>Returns:</term><listitem><simpara><computeroutput>N</computeroutput></simpara></listitem></varlistentry><varlistentry><term>Throws:</term><listitem><simpara>will not throw</simpara></listitem></varlistentry></variablelist></listitem></orderedlist></refsect2><refsect2><title><anchor id="id-1.4.1.1.1.17-bb"/><computeroutput>array</computeroutput> element access</title><orderedlist><listitem><para><literallayout class="monospaced"><anchor id="id-1.4.1.1.1.17.1-bb"/><phrase role="identifier">reference</phrase> <anchor id="id-1.4.1.1.1.17.1.1-bb"/><phrase role="keyword">operator</phrase><phrase role="special">[</phrase><phrase role="special">]</phrase><phrase role="special">(</phrase><phrase role="identifier">size_type</phrase> i<phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">const_reference</phrase> <anchor id="id-1.4.1.1.1.17.1.2-bb"/><phrase role="keyword">operator</phrase><phrase role="special">[</phrase><phrase role="special">]</phrase><phrase role="special">(</phrase><phrase role="identifier">size_type</phrase> i<phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml
|
||||
list-presentation="table"
|
||||
?><varlistentry><term>Requires:</term><listitem><simpara><computeroutput>i < N</computeroutput></simpara></listitem></varlistentry><varlistentry><term>Returns:</term><listitem><simpara>element with index <computeroutput>i</computeroutput></simpara></listitem></varlistentry><varlistentry><term>Throws:</term><listitem><simpara>will not throw.</simpara></listitem></varlistentry></variablelist></listitem><listitem><para><literallayout class="monospaced"><anchor id="id-1.4.1.1.1.17.2-bb"/><phrase role="identifier">reference</phrase> <anchor id="id-1.4.1.1.1.17.2.1-bb"/><phrase role="identifier">at</phrase><phrase role="special">(</phrase><phrase role="identifier">size_type</phrase> i<phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">const_reference</phrase> <anchor id="id-1.4.1.1.1.17.2.2-bb"/><phrase role="identifier">at</phrase><phrase role="special">(</phrase><phrase role="identifier">size_type</phrase> i<phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml
|
||||
list-presentation="table"
|
||||
?><varlistentry><term>Returns:</term><listitem><simpara>element with index <computeroutput>i</computeroutput></simpara></listitem></varlistentry><varlistentry><term>Throws:</term><listitem><simpara><computeroutput>std::range_error</computeroutput> if <computeroutput>i >= N</computeroutput></simpara></listitem></varlistentry></variablelist></listitem><listitem><para><literallayout class="monospaced"><anchor id="id-1.4.1.1.1.17.3-bb"/><phrase role="identifier">reference</phrase> <anchor id="id-1.4.1.1.1.17.3.1-bb"/><phrase role="identifier">front</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">const_reference</phrase> <anchor id="id-1.4.1.1.1.17.3.2-bb"/><phrase role="identifier">front</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml
|
||||
list-presentation="table"
|
||||
?><varlistentry><term>Requires:</term><listitem><simpara><computeroutput>N > 0</computeroutput></simpara></listitem></varlistentry><varlistentry><term>Returns:</term><listitem><simpara>the first element</simpara></listitem></varlistentry><varlistentry><term>Throws:</term><listitem><simpara>will not throw</simpara></listitem></varlistentry></variablelist></listitem><listitem><para><literallayout class="monospaced"><anchor id="id-1.4.1.1.1.17.4-bb"/><phrase role="identifier">reference</phrase> <anchor id="id-1.4.1.1.1.17.4.1-bb"/><phrase role="identifier">back</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">const_reference</phrase> <anchor id="id-1.4.1.1.1.17.4.2-bb"/><phrase role="identifier">back</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml
|
||||
list-presentation="table"
|
||||
?><varlistentry><term>Requires:</term><listitem><simpara><computeroutput>N > 0</computeroutput></simpara></listitem></varlistentry><varlistentry><term>Returns:</term><listitem><simpara>the last element</simpara></listitem></varlistentry><varlistentry><term>Throws:</term><listitem><simpara>will not throw</simpara></listitem></varlistentry></variablelist></listitem><listitem><para><literallayout class="monospaced"><phrase role="keyword">const</phrase> <phrase role="identifier">T</phrase><phrase role="special">*</phrase> <anchor id="id-1.4.1.1.1.17.5-bb"/><phrase role="identifier">data</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml
|
||||
list-presentation="table"
|
||||
?><varlistentry><term>Returns:</term><listitem><simpara><computeroutput>elems</computeroutput></simpara></listitem></varlistentry><varlistentry><term>Throws:</term><listitem><simpara>will not throw</simpara></listitem></varlistentry></variablelist></listitem><listitem><para><literallayout class="monospaced"><phrase role="identifier">T</phrase><phrase role="special">*</phrase> <anchor id="id-1.4.1.1.1.17.6-bb"/><phrase role="identifier">c_array</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml
|
||||
list-presentation="table"
|
||||
?><varlistentry><term>Returns:</term><listitem><simpara><computeroutput>elems</computeroutput></simpara></listitem></varlistentry><varlistentry><term>Throws:</term><listitem><simpara>will not throw</simpara></listitem></varlistentry></variablelist></listitem></orderedlist></refsect2><refsect2><title><anchor id="id-1.4.1.1.1.18-bb"/><computeroutput>array</computeroutput> modifiers</title><orderedlist><listitem><para><literallayout class="monospaced"><phrase role="keyword">void</phrase> <anchor id="id-1.4.1.1.1.18.1-bb"/><phrase role="identifier">swap</phrase><phrase role="special">(</phrase><link linkend="boost.array">array</link><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">N</phrase><phrase role="special">></phrase><phrase role="special">&</phrase> other<phrase role="special">)</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml
|
||||
list-presentation="table"
|
||||
?><varlistentry><term>Effects:</term><listitem><simpara><computeroutput>std::swap_ranges(<link linkend="id-1.4.1.1.1.14.1-bb">begin</link>(), <link linkend="id-1.4.1.1.1.14.2-bb">end</link>(), other.<link linkend="id-1.4.1.1.1.14.1-bb">begin</link>())</computeroutput></simpara></listitem></varlistentry><varlistentry><term>Complexity:</term><listitem><simpara>linear in <computeroutput>N</computeroutput></simpara></listitem></varlistentry></variablelist></listitem><listitem><para><literallayout class="monospaced"><phrase role="keyword">void</phrase> <anchor id="id-1.4.1.1.1.18.2-bb"/><phrase role="identifier">assign</phrase><phrase role="special">(</phrase><phrase role="keyword">const</phrase> <phrase role="identifier">T</phrase><phrase role="special">&</phrase> value<phrase role="special">)</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml
|
||||
list-presentation="table"
|
||||
?><varlistentry><term>Effects:</term><listitem><simpara><computeroutput>std::fill_n(<link linkend="id-1.4.1.1.1.14.1-bb">begin</link>(), N, value)</computeroutput></simpara></listitem></varlistentry></variablelist></listitem></orderedlist></refsect2><refsect2><title><anchor id="id-1.4.1.1.1.20-bb"/><computeroutput>array</computeroutput> specialized algorithms</title><orderedlist><listitem><para><literallayout class="monospaced"><phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> T<phrase role="special">,</phrase> <phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> N<phrase role="special">></phrase> <phrase role="keyword">void</phrase> <anchor id="boost.array.swap"/><phrase role="identifier">swap</phrase><phrase role="special">(</phrase><link linkend="boost.array">array</link><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">N</phrase><phrase role="special">></phrase><phrase role="special">&</phrase> x<phrase role="special">,</phrase> <link linkend="boost.array">array</link><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">N</phrase><phrase role="special">></phrase><phrase role="special">&</phrase> y<phrase role="special">)</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml
|
||||
list-presentation="table"
|
||||
?><varlistentry><term>Effects:</term><listitem><simpara><computeroutput>x.<link linkend="id-1.4.1.1.1.18.1-bb">swap</link>(y)</computeroutput></simpara></listitem></varlistentry><varlistentry><term>Throws:</term><listitem><simpara>will not throw.</simpara></listitem></varlistentry></variablelist></listitem></orderedlist></refsect2><refsect2><title><anchor id="id-1.4.1.1.1.21-bb"/><computeroutput>array</computeroutput> comparisons</title><orderedlist><listitem><para><literallayout class="monospaced"><phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> T<phrase role="special">,</phrase> <phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> N<phrase role="special">></phrase>
|
||||
<phrase role="keyword">bool</phrase> <anchor id="boost.array.operator=="/><phrase role="keyword">operator</phrase><phrase role="special">==</phrase><phrase role="special">(</phrase><phrase role="keyword">const</phrase> <link linkend="boost.array">array</link><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">N</phrase><phrase role="special">></phrase><phrase role="special">&</phrase> x<phrase role="special">,</phrase> <phrase role="keyword">const</phrase> <link linkend="boost.array">array</link><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">N</phrase><phrase role="special">></phrase><phrase role="special">&</phrase> y<phrase role="special">)</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml
|
||||
list-presentation="table"
|
||||
?><varlistentry><term>Returns:</term><listitem><simpara><computeroutput>std::equal(x.<link linkend="id-1.4.1.1.1.14.1-bb">begin</link>(), x.<link linkend="id-1.4.1.1.1.14.2-bb">end</link>(), y.<link linkend="id-1.4.1.1.1.14.1-bb">begin</link>())</computeroutput></simpara></listitem></varlistentry></variablelist></listitem><listitem><para><literallayout class="monospaced"><phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> T<phrase role="special">,</phrase> <phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> N<phrase role="special">></phrase>
|
||||
<phrase role="keyword">bool</phrase> <anchor id="boost.array.operator!="/><phrase role="keyword">operator</phrase><phrase role="special">!=</phrase><phrase role="special">(</phrase><phrase role="keyword">const</phrase> <link linkend="boost.array">array</link><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">N</phrase><phrase role="special">></phrase><phrase role="special">&</phrase> x<phrase role="special">,</phrase> <phrase role="keyword">const</phrase> <link linkend="boost.array">array</link><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">N</phrase><phrase role="special">></phrase><phrase role="special">&</phrase> y<phrase role="special">)</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml
|
||||
list-presentation="table"
|
||||
?><varlistentry><term>Returns:</term><listitem><simpara><computeroutput>!(x == y)</computeroutput></simpara></listitem></varlistentry></variablelist></listitem><listitem><para><literallayout class="monospaced"><phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> T<phrase role="special">,</phrase> <phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> N<phrase role="special">></phrase>
|
||||
<phrase role="keyword">bool</phrase> <anchor id="boost.array.operator_id-1.4.1.1.1.21.3"/><phrase role="keyword">operator</phrase><phrase role="special"><</phrase><phrase role="special">(</phrase><phrase role="keyword">const</phrase> <link linkend="boost.array">array</link><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">N</phrase><phrase role="special">></phrase><phrase role="special">&</phrase> x<phrase role="special">,</phrase> <phrase role="keyword">const</phrase> <link linkend="boost.array">array</link><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">N</phrase><phrase role="special">></phrase><phrase role="special">&</phrase> y<phrase role="special">)</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml
|
||||
list-presentation="table"
|
||||
?><varlistentry><term>Returns:</term><listitem><simpara><computeroutput>std::lexicographical_compare(x.<link linkend="id-1.4.1.1.1.14.1-bb">begin</link>(), x.<link linkend="id-1.4.1.1.1.14.2-bb">end</link>(), y.<link linkend="id-1.4.1.1.1.14.1-bb">begin</link>(), y.<link linkend="id-1.4.1.1.1.14.2-bb">end</link>())</computeroutput></simpara></listitem></varlistentry></variablelist></listitem><listitem><para><literallayout class="monospaced"><phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> T<phrase role="special">,</phrase> <phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> N<phrase role="special">></phrase>
|
||||
<phrase role="keyword">bool</phrase> <anchor id="boost.array.operator_id-1.4.1.1.1.21.4"/><phrase role="keyword">operator</phrase><phrase role="special">></phrase><phrase role="special">(</phrase><phrase role="keyword">const</phrase> <link linkend="boost.array">array</link><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">N</phrase><phrase role="special">></phrase><phrase role="special">&</phrase> x<phrase role="special">,</phrase> <phrase role="keyword">const</phrase> <link linkend="boost.array">array</link><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">N</phrase><phrase role="special">></phrase><phrase role="special">&</phrase> y<phrase role="special">)</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml
|
||||
list-presentation="table"
|
||||
?><varlistentry><term>Returns:</term><listitem><simpara><computeroutput>y < x</computeroutput></simpara></listitem></varlistentry></variablelist></listitem><listitem><para><literallayout class="monospaced"><phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> T<phrase role="special">,</phrase> <phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> N<phrase role="special">></phrase>
|
||||
<phrase role="keyword">bool</phrase> <anchor id="boost.array.operator_id-1.4.1.1.1.21.5"/><phrase role="keyword">operator</phrase><phrase role="special"><=</phrase><phrase role="special">(</phrase><phrase role="keyword">const</phrase> <link linkend="boost.array">array</link><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">N</phrase><phrase role="special">></phrase><phrase role="special">&</phrase> x<phrase role="special">,</phrase> <phrase role="keyword">const</phrase> <link linkend="boost.array">array</link><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">N</phrase><phrase role="special">></phrase><phrase role="special">&</phrase> y<phrase role="special">)</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml
|
||||
list-presentation="table"
|
||||
?><varlistentry><term>Returns:</term><listitem><simpara><computeroutput>!(y < x)</computeroutput></simpara></listitem></varlistentry></variablelist></listitem><listitem><para><literallayout class="monospaced"><phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> T<phrase role="special">,</phrase> <phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> N<phrase role="special">></phrase>
|
||||
<phrase role="keyword">bool</phrase> <anchor id="boost.array.operator_id-1.4.1.1.1.21.6"/><phrase role="keyword">operator</phrase><phrase role="special">>=</phrase><phrase role="special">(</phrase><phrase role="keyword">const</phrase> <link linkend="boost.array">array</link><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">N</phrase><phrase role="special">></phrase><phrase role="special">&</phrase> x<phrase role="special">,</phrase> <phrase role="keyword">const</phrase> <link linkend="boost.array">array</link><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">N</phrase><phrase role="special">></phrase><phrase role="special">&</phrase> y<phrase role="special">)</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml
|
||||
list-presentation="table"
|
||||
?><varlistentry><term>Returns:</term><listitem><simpara><computeroutput>!(x < y)</computeroutput></simpara></listitem></varlistentry></variablelist></listitem></orderedlist></refsect2></refsect1></refentry>
|
||||
</section>
|
||||
</section>
|
||||
|
||||
<section id="array.rationale">
|
||||
<title>Design Rationale</title>
|
||||
|
||||
<para>There was an important design tradeoff regarding the
|
||||
constructors: We could implement array as an "aggregate" (see
|
||||
Section 8.5.1, [dcl.init.aggr], of the C++ Standard). This would
|
||||
mean:
|
||||
<itemizedlist>
|
||||
<listitem><simpara>An array can be initialized with a
|
||||
brace-enclosing, comma-separated list of initializers for the
|
||||
elements of the container, written in increasing subscript
|
||||
order:</simpara>
|
||||
|
||||
<programlisting xmlns:xi="http://www.w3.org/2001/XInclude"><computeroutput><link linkend="boost.array">boost::array</link></computeroutput><int,4> a = { { 1, 2, 3 } };</programlisting>
|
||||
|
||||
<simpara>Note that if there are fewer elements in the
|
||||
initializer list, then each remaining element gets
|
||||
default-initialized (thus, it has a defined value).</simpara>
|
||||
</listitem></itemizedlist></para>
|
||||
|
||||
<para>However, this approach has its drawbacks: <emphasis role="bold"> passing no initializer list means that the elements
|
||||
have an indetermined initial value</emphasis>, because the rule says
|
||||
that aggregates may have:
|
||||
<itemizedlist>
|
||||
<listitem><simpara>No user-declared constructors.</simpara></listitem>
|
||||
<listitem><simpara>No private or protected non-static data members.</simpara></listitem>
|
||||
<listitem><simpara>No base classes.</simpara></listitem>
|
||||
<listitem><simpara>No virtual functions.</simpara></listitem>
|
||||
</itemizedlist>
|
||||
</para>
|
||||
|
||||
<para>Nevertheless, The current implementation uses this approach.</para>
|
||||
|
||||
<para>Note that for standard conforming compilers it is possible to
|
||||
use fewer braces (according to 8.5.1 (11) of the Standard). That is,
|
||||
you can initialize an array as follows:</para>
|
||||
|
||||
<programlisting xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<computeroutput><link linkend="boost.array">boost::array</link></computeroutput><int,4> a = { 1, 2, 3 };
|
||||
</programlisting>
|
||||
|
||||
<para>I'd appreciate any constructive feedback. <emphasis role="bold">Please note: I don't have time to read all boost
|
||||
mails. Thus, to make sure that feedback arrives to me, please send
|
||||
me a copy of each mail regarding this class.</emphasis></para>
|
||||
|
||||
<para>The code is provided "as is" without expressed or implied
|
||||
warranty.</para>
|
||||
|
||||
</section>
|
||||
|
||||
<section id="array.more.info">
|
||||
<title>For more information...</title>
|
||||
<para>To find more details about using ordinary arrays in C++ and
|
||||
the framework of the STL, see e.g.
|
||||
|
||||
<literallayout>The C++ Standard Library - A Tutorial and Reference
|
||||
by Nicolai M. Josuttis
|
||||
Addison Wesley Longman, 1999
|
||||
ISBN 0-201-37926-0</literallayout>
|
||||
</para>
|
||||
|
||||
<para><ulink url="http://www.josuttis.com/">Home Page of Nicolai
|
||||
Josuttis</ulink></para>
|
||||
</section>
|
||||
|
||||
<section id="array.ack">
|
||||
<title>Acknowledgements</title>
|
||||
|
||||
<para>Doug Gregor ported the documentation to the BoostBook format.</para>
|
||||
</section>
|
||||
|
||||
|
||||
|
||||
</chapter>
|
397
test/more/tests/libs/hash-ref.gold2
Normal file
397
test/more/tests/libs/hash-ref.gold2
Normal file
@ -0,0 +1,397 @@
|
||||
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
||||
<section><title>Reference</title>
|
||||
<section id="hash.reference.specification">
|
||||
<para>For the full specification, see section 6.3 of the
|
||||
<ulink url="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf">C++ Standard Library Technical Report</ulink>
|
||||
and issue 6.18 of the
|
||||
<ulink url="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1837.pdf">Library Extension Technical Report Issues List</ulink> (page 63).
|
||||
</para>
|
||||
</section>
|
||||
<section id="header.boost.functional.hash_hpp"><title>Header <<ulink url="../../boost/functional/hash.hpp">boost/functional/hash.hpp</ulink>></title><para>
|
||||
Defines <computeroutput><link xmlns:xi="http://www.w3.org/2001/XInclude" linkend="boost.hash">boost::hash</link></computeroutput>,
|
||||
and helper functions.
|
||||
</para><synopsis xmlns:xi="http://www.w3.org/2001/XInclude"><phrase role="keyword">namespace</phrase> <phrase role="identifier">boost</phrase> <phrase role="special">{</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> T<phrase role="special">></phrase> <phrase role="keyword">struct</phrase> <link linkend="boost.hash">hash</link><phrase role="special">;</phrase>
|
||||
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="special">></phrase> <phrase role="keyword">struct</phrase> <link linkend="boost.hash_bool_id-1.2.2.2">hash</link><phrase role="special"><</phrase><phrase role="keyword">bool</phrase><phrase role="special">></phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="special">></phrase> <phrase role="keyword">struct</phrase> <link linkend="boost.hash_char_id-1.2.2.3">hash</link><phrase role="special"><</phrase><phrase role="keyword">char</phrase><phrase role="special">></phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="special">></phrase> <phrase role="keyword">struct</phrase> <link linkend="boost.hash_signed_cha_id-1.2.2.4">hash</link><phrase role="special"><</phrase><phrase role="keyword">signed</phrase> <phrase role="keyword">char</phrase><phrase role="special">></phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="special">></phrase> <phrase role="keyword">struct</phrase> <link linkend="boost.hash_unsigned_c_id-1.2.2.5">hash</link><phrase role="special"><</phrase><phrase role="keyword">unsigned</phrase> <phrase role="keyword">char</phrase><phrase role="special">></phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="special">></phrase> <phrase role="keyword">struct</phrase> <link linkend="boost.hash_wchar_t_id-1.2.2.6">hash</link><phrase role="special"><</phrase><phrase role="keyword">wchar_t</phrase><phrase role="special">></phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="special">></phrase> <phrase role="keyword">struct</phrase> <link linkend="boost.hash_short_id-1.2.2.7">hash</link><phrase role="special"><</phrase><phrase role="keyword">short</phrase><phrase role="special">></phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="special">></phrase> <phrase role="keyword">struct</phrase> <link linkend="boost.hash_unsigned_s_id-1.2.2.8">hash</link><phrase role="special"><</phrase><phrase role="keyword">unsigned</phrase> <phrase role="keyword">short</phrase><phrase role="special">></phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="special">></phrase> <phrase role="keyword">struct</phrase> <link linkend="boost.hash_int_id-1.2.2.9">hash</link><phrase role="special"><</phrase><phrase role="keyword">int</phrase><phrase role="special">></phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="special">></phrase> <phrase role="keyword">struct</phrase> <link linkend="boost.hash_unsigned__id-1.2.2.10">hash</link><phrase role="special"><</phrase><phrase role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase><phrase role="special">></phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="special">></phrase> <phrase role="keyword">struct</phrase> <link linkend="boost.hash_long_id-1.2.2.11">hash</link><phrase role="special"><</phrase><phrase role="keyword">long</phrase><phrase role="special">></phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="special">></phrase> <phrase role="keyword">struct</phrase> <link linkend="boost.hash_unsigned__id-1.2.2.12">hash</link><phrase role="special"><</phrase><phrase role="keyword">unsigned</phrase> <phrase role="keyword">long</phrase><phrase role="special">></phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="special">></phrase> <phrase role="keyword">struct</phrase> <link linkend="boost.hash_long_long_id-1.2.2.13">hash</link><phrase role="special"><</phrase><phrase role="keyword">long</phrase> <phrase role="keyword">long</phrase><phrase role="special">></phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="special">></phrase> <phrase role="keyword">struct</phrase> <link linkend="boost.hash_unsigned__id-1.2.2.14">hash</link><phrase role="special"><</phrase><phrase role="keyword">unsigned</phrase> <phrase role="keyword">long</phrase> <phrase role="keyword">long</phrase><phrase role="special">></phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="special">></phrase> <phrase role="keyword">struct</phrase> <link linkend="boost.hash_float_id-1.2.2.15">hash</link><phrase role="special"><</phrase><phrase role="keyword">float</phrase><phrase role="special">></phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="special">></phrase> <phrase role="keyword">struct</phrase> <link linkend="boost.hash_double_id-1.2.2.16">hash</link><phrase role="special"><</phrase><phrase role="keyword">double</phrase><phrase role="special">></phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="special">></phrase> <phrase role="keyword">struct</phrase> <link linkend="boost.hash_long_doub_id-1.2.2.17">hash</link><phrase role="special"><</phrase><phrase role="keyword">long</phrase> <phrase role="keyword">double</phrase><phrase role="special">></phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="special">></phrase> <phrase role="keyword">struct</phrase> <link linkend="boost.hash_std_strin_id-1.2.2.18">hash</link><phrase role="special"><</phrase><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">string</phrase><phrase role="special">></phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="special">></phrase> <phrase role="keyword">struct</phrase> <link linkend="boost.hash_std_wstri_id-1.2.2.19">hash</link><phrase role="special"><</phrase><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">wstring</phrase><phrase role="special">></phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> T<phrase role="special">></phrase> <phrase role="keyword">struct</phrase> <link linkend="boost.hash_T_id-1.2.2.20">hash</link><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">*</phrase><phrase role="special">></phrase><phrase role="special">;</phrase>
|
||||
|
||||
<phrase role="comment">// <link linkend="id-1.2.2.21-bb">Support functions (Boost extension).</link></phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> T<phrase role="special">></phrase> <phrase role="keyword">void</phrase> <link linkend="boost.hash_combine"><phrase role="identifier">hash_combine</phrase></link><phrase role="special">(</phrase><phrase role="identifier">size_t</phrase> <phrase role="special">&</phrase><phrase role="special">,</phrase> <phrase role="identifier">T</phrase> <phrase role="keyword">const</phrase><phrase role="special">&</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> It<phrase role="special">></phrase> <phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.21.2.1-bb"><phrase role="identifier">hash_range</phrase></link><phrase role="special">(</phrase><phrase role="identifier">It</phrase><phrase role="special">,</phrase> <phrase role="identifier">It</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> It<phrase role="special">></phrase> <phrase role="keyword">void</phrase> <link linkend="id-1.2.2.21.2.2-bb"><phrase role="identifier">hash_range</phrase></link><phrase role="special">(</phrase><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase><phrase role="special">&</phrase><phrase role="special">,</phrase> <phrase role="identifier">It</phrase><phrase role="special">,</phrase> <phrase role="identifier">It</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
|
||||
<phrase role="comment">// <link linkend="id-1.2.2.22-bb">Overloadable hash implementation (Boost extension).</link></phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.22.1.2-bb"><phrase role="identifier">hash_value</phrase></link><phrase role="special">(</phrase><phrase role="keyword">bool</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.22.1.3-bb"><phrase role="identifier">hash_value</phrase></link><phrase role="special">(</phrase><phrase role="keyword">char</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.22.1.4-bb"><phrase role="identifier">hash_value</phrase></link><phrase role="special">(</phrase><phrase role="keyword">signed</phrase> <phrase role="keyword">char</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.22.1.5-bb"><phrase role="identifier">hash_value</phrase></link><phrase role="special">(</phrase><phrase role="keyword">unsigned</phrase> <phrase role="keyword">char</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.22.1.6-bb"><phrase role="identifier">hash_value</phrase></link><phrase role="special">(</phrase><phrase role="keyword">wchar_t</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.22.1.7-bb"><phrase role="identifier">hash_value</phrase></link><phrase role="special">(</phrase><phrase role="keyword">short</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.22.1.8-bb"><phrase role="identifier">hash_value</phrase></link><phrase role="special">(</phrase><phrase role="keyword">unsigned</phrase> <phrase role="keyword">short</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.22.1.9-bb"><phrase role="identifier">hash_value</phrase></link><phrase role="special">(</phrase><phrase role="keyword">int</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.22.1.10-bb"><phrase role="identifier">hash_value</phrase></link><phrase role="special">(</phrase><phrase role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.22.1.11-bb"><phrase role="identifier">hash_value</phrase></link><phrase role="special">(</phrase><phrase role="keyword">long</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.22.1.12-bb"><phrase role="identifier">hash_value</phrase></link><phrase role="special">(</phrase><phrase role="keyword">unsigned</phrase> <phrase role="keyword">long</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.22.1.13-bb"><phrase role="identifier">hash_value</phrase></link><phrase role="special">(</phrase><phrase role="keyword">long</phrase> <phrase role="keyword">long</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.22.1.14-bb"><phrase role="identifier">hash_value</phrase></link><phrase role="special">(</phrase><phrase role="keyword">unsigned</phrase> <phrase role="keyword">long</phrase> <phrase role="keyword">long</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.22.1.15-bb"><phrase role="identifier">hash_value</phrase></link><phrase role="special">(</phrase><phrase role="keyword">float</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.22.1.16-bb"><phrase role="identifier">hash_value</phrase></link><phrase role="special">(</phrase><phrase role="keyword">double</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.22.1.17-bb"><phrase role="identifier">hash_value</phrase></link><phrase role="special">(</phrase><phrase role="keyword">long</phrase> <phrase role="keyword">double</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> T<phrase role="special">></phrase> <phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.22.1.18-bb"><phrase role="identifier">hash_value</phrase></link><phrase role="special">(</phrase><phrase role="identifier">T</phrase><phrase role="special">*</phrase> <phrase role="keyword">const</phrase><phrase role="special">&</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> T<phrase role="special">,</phrase> <phrase role="keyword">unsigned</phrase> N<phrase role="special">></phrase> <phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.22.1.19-bb"><phrase role="identifier">hash_value</phrase></link><phrase role="special">(</phrase><phrase role="identifier">T</phrase> <phrase role="special">(</phrase><phrase role="special">&</phrase><phrase role="identifier">val</phrase><phrase role="special">)</phrase><phrase role="special">[</phrase><phrase role="identifier">N</phrase><phrase role="special">]</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> T<phrase role="special">,</phrase> <phrase role="keyword">unsigned</phrase> N<phrase role="special">></phrase> <phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.22.1.20-bb"><phrase role="identifier">hash_value</phrase></link><phrase role="special">(</phrase><phrase role="keyword">const</phrase> <phrase role="identifier">T</phrase> <phrase role="special">(</phrase><phrase role="special">&</phrase><phrase role="identifier">val</phrase><phrase role="special">)</phrase><phrase role="special">[</phrase><phrase role="identifier">N</phrase><phrase role="special">]</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> Ch<phrase role="special">,</phrase> <phrase role="keyword">typename</phrase> A<phrase role="special">></phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.22.1.21-bb"><phrase role="identifier">hash_value</phrase></link><phrase role="special">(</phrase><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">basic_string</phrase><phrase role="special"><</phrase><phrase role="identifier">Ch</phrase><phrase role="special">,</phrase> <phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">char_traits</phrase><phrase role="special"><</phrase><phrase role="identifier">Ch</phrase><phrase role="special">></phrase><phrase role="special">,</phrase> <phrase role="identifier">A</phrase><phrase role="special">></phrase> <phrase role="keyword">const</phrase><phrase role="special">&</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> A<phrase role="special">,</phrase> <phrase role="keyword">typename</phrase> B<phrase role="special">></phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.22.1.22-bb"><phrase role="identifier">hash_value</phrase></link><phrase role="special">(</phrase><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">pair</phrase><phrase role="special"><</phrase><phrase role="identifier">A</phrase><phrase role="special">,</phrase> <phrase role="identifier">B</phrase><phrase role="special">></phrase> <phrase role="keyword">const</phrase><phrase role="special">&</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> T<phrase role="special">,</phrase> <phrase role="keyword">typename</phrase> A<phrase role="special">></phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.22.1.23-bb"><phrase role="identifier">hash_value</phrase></link><phrase role="special">(</phrase><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">vector</phrase><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">A</phrase><phrase role="special">></phrase> <phrase role="keyword">const</phrase><phrase role="special">&</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> T<phrase role="special">,</phrase> <phrase role="keyword">typename</phrase> A<phrase role="special">></phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.22.1.24-bb"><phrase role="identifier">hash_value</phrase></link><phrase role="special">(</phrase><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">list</phrase><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">A</phrase><phrase role="special">></phrase> <phrase role="keyword">const</phrase><phrase role="special">&</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> T<phrase role="special">,</phrase> <phrase role="keyword">typename</phrase> A<phrase role="special">></phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.22.1.25-bb"><phrase role="identifier">hash_value</phrase></link><phrase role="special">(</phrase><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">deque</phrase><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">A</phrase><phrase role="special">></phrase> <phrase role="keyword">const</phrase><phrase role="special">&</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> K<phrase role="special">,</phrase> <phrase role="keyword">typename</phrase> C<phrase role="special">,</phrase> <phrase role="keyword">typename</phrase> A<phrase role="special">></phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.22.1.26-bb"><phrase role="identifier">hash_value</phrase></link><phrase role="special">(</phrase><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">set</phrase><phrase role="special"><</phrase><phrase role="identifier">K</phrase><phrase role="special">,</phrase> <phrase role="identifier">C</phrase><phrase role="special">,</phrase> <phrase role="identifier">A</phrase><phrase role="special">></phrase> <phrase role="keyword">const</phrase><phrase role="special">&</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> K<phrase role="special">,</phrase> <phrase role="keyword">typename</phrase> C<phrase role="special">,</phrase> <phrase role="keyword">typename</phrase> A<phrase role="special">></phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.22.1.27-bb"><phrase role="identifier">hash_value</phrase></link><phrase role="special">(</phrase><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">multiset</phrase><phrase role="special"><</phrase><phrase role="identifier">K</phrase><phrase role="special">,</phrase> <phrase role="identifier">C</phrase><phrase role="special">,</phrase> <phrase role="identifier">A</phrase><phrase role="special">></phrase> <phrase role="keyword">const</phrase><phrase role="special">&</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> K<phrase role="special">,</phrase> <phrase role="keyword">typename</phrase> T<phrase role="special">,</phrase> <phrase role="keyword">typename</phrase> C<phrase role="special">,</phrase> <phrase role="keyword">typename</phrase> A<phrase role="special">></phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.22.1.28-bb"><phrase role="identifier">hash_value</phrase></link><phrase role="special">(</phrase><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">map</phrase><phrase role="special"><</phrase><phrase role="identifier">K</phrase><phrase role="special">,</phrase> <phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">C</phrase><phrase role="special">,</phrase> <phrase role="identifier">A</phrase><phrase role="special">></phrase> <phrase role="keyword">const</phrase><phrase role="special">&</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> K<phrase role="special">,</phrase> <phrase role="keyword">typename</phrase> T<phrase role="special">,</phrase> <phrase role="keyword">typename</phrase> C<phrase role="special">,</phrase> <phrase role="keyword">typename</phrase> A<phrase role="special">></phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.22.1.29-bb"><phrase role="identifier">hash_value</phrase></link><phrase role="special">(</phrase><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">multimap</phrase><phrase role="special"><</phrase><phrase role="identifier">K</phrase><phrase role="special">,</phrase> <phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">C</phrase><phrase role="special">,</phrase> <phrase role="identifier">A</phrase><phrase role="special">></phrase> <phrase role="keyword">const</phrase><phrase role="special">&</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> T<phrase role="special">></phrase> <phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.22.1.30-bb"><phrase role="identifier">hash_value</phrase></link><phrase role="special">(</phrase><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">complex</phrase><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">></phrase> <phrase role="keyword">const</phrase><phrase role="special">&</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="special">}</phrase></synopsis>
|
||||
|
||||
|
||||
<refsect2 xmlns:xi="http://www.w3.org/2001/XInclude"><title><anchor id="id-1.2.2.21-bb"/><computeroutput/> Support functions (Boost extension).</title><orderedlist><listitem><para><literallayout class="monospaced"><phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> T<phrase role="special">></phrase> <phrase role="keyword">void</phrase> <anchor id="boost.hash_combine"/><phrase role="identifier">hash_combine</phrase><phrase role="special">(</phrase><phrase role="identifier">size_t</phrase> <phrase role="special">&</phrase> seed<phrase role="special">,</phrase> <phrase role="identifier">T</phrase> <phrase role="keyword">const</phrase><phrase role="special">&</phrase> v<phrase role="special">)</phrase><phrase role="special">;</phrase></literallayout></para><simpara>
|
||||
Called repeatedly to incrementally create a hash value from
|
||||
several variables.
|
||||
</simpara><variablelist spacing="compact"><?dbhtml
|
||||
list-presentation="table"
|
||||
?><varlistentry><term>Effects:</term><listitem><programlisting><phrase role="identifier">seed</phrase> <phrase role="special">^=</phrase> <link linkend="boost.hash_value">hash_value</link><phrase role="special">(</phrase><phrase role="identifier">v</phrase><phrase role="special">)</phrase> <phrase role="special">+</phrase> <phrase role="number">0x9e3779b9</phrase> <phrase role="special">+</phrase> <phrase role="special">(</phrase><phrase role="identifier">seed</phrase> <phrase role="special"><<</phrase> <phrase role="number">6</phrase><phrase role="special">)</phrase> <phrase role="special">+</phrase> <phrase role="special">(</phrase><phrase role="identifier">seed</phrase> <phrase role="special">>></phrase> <phrase role="number">2</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase></programlisting></listitem></varlistentry><varlistentry><term>Notes:</term><listitem><para><link linkend="boost.hash_value">hash_value</link> is called without
|
||||
qualification, so that overloads can be found via ADL.</para><para>This is an extension to TR1</para></listitem></varlistentry><varlistentry><term>Throws:</term><listitem>
|
||||
Only throws if <link linkend="boost.hash_value">hash_value</link>(T) throws.
|
||||
Strong exception safety, as long as <link linkend="boost.hash_value">hash_value</link>(T)
|
||||
also has strong exception safety.
|
||||
</listitem></varlistentry></variablelist></listitem><listitem><para id="boost.hash_range"><literallayout class="monospaced"><phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> It<phrase role="special">></phrase> <phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.21.2.1-bb"/><phrase role="identifier">hash_range</phrase><phrase role="special">(</phrase><phrase role="identifier">It</phrase> first<phrase role="special">,</phrase> <phrase role="identifier">It</phrase> last<phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> It<phrase role="special">></phrase> <phrase role="keyword">void</phrase> <anchor id="id-1.2.2.21.2.2-bb"/><phrase role="identifier">hash_range</phrase><phrase role="special">(</phrase><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase><phrase role="special">&</phrase> seed<phrase role="special">,</phrase> <phrase role="identifier">It</phrase> first<phrase role="special">,</phrase> <phrase role="identifier">It</phrase> last<phrase role="special">)</phrase><phrase role="special">;</phrase></literallayout></para><simpara>
|
||||
Calculate the combined hash value of the elements of an iterator
|
||||
range.
|
||||
</simpara><variablelist spacing="compact"><?dbhtml
|
||||
list-presentation="table"
|
||||
?><varlistentry><term>Effects:</term><listitem><para>For the two argument overload:
|
||||
<programlisting>
|
||||
<phrase role="identifier">size_t</phrase> <phrase role="identifier">seed</phrase> <phrase role="special">=</phrase> <phrase role="number">0</phrase><phrase role="special">;</phrase>
|
||||
|
||||
<phrase role="keyword">for</phrase><phrase role="special">(</phrase><phrase role="special">;</phrase> <phrase role="identifier">first</phrase> <phrase role="special">!=</phrase> <phrase role="identifier">last</phrase><phrase role="special">;</phrase> <phrase role="special">++</phrase><phrase role="identifier">first</phrase><phrase role="special">)</phrase>
|
||||
<phrase role="special">{</phrase>
|
||||
<link linkend="boost.hash_combine">hash_combine</link><phrase role="special">(</phrase><phrase role="identifier">seed</phrase><phrase role="special">,</phrase> <phrase role="special">*</phrase><phrase role="identifier">first</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="special">}</phrase>
|
||||
|
||||
<phrase role="keyword">return</phrase> <phrase role="identifier">seed</phrase><phrase role="special">;</phrase>
|
||||
</programlisting>
|
||||
</para>For the three arguments overload:
|
||||
<programlisting>
|
||||
<phrase role="keyword">for</phrase><phrase role="special">(</phrase><phrase role="special">;</phrase> <phrase role="identifier">first</phrase> <phrase role="special">!=</phrase> <phrase role="identifier">last</phrase><phrase role="special">;</phrase> <phrase role="special">++</phrase><phrase role="identifier">first</phrase><phrase role="special">)</phrase>
|
||||
<phrase role="special">{</phrase>
|
||||
<link linkend="boost.hash_combine">hash_combine</link><phrase role="special">(</phrase><phrase role="identifier">seed</phrase><phrase role="special">,</phrase> <phrase role="special">*</phrase><phrase role="identifier">first</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="special">}</phrase>
|
||||
</programlisting><para>
|
||||
</para></listitem></varlistentry><varlistentry><term>Notes:</term><listitem><para>
|
||||
<computeroutput>hash_range</computeroutput> is sensitive to the order of the elements
|
||||
so it wouldn't be appropriate to use this with an unordered
|
||||
container.
|
||||
</para><para>This is an extension to TR1</para></listitem></varlistentry><varlistentry><term>Throws:</term><listitem><para>
|
||||
Only throws if <computeroutput><link linkend="boost.hash_value">hash_value</link>(std::iterator_traits<It>::value_type)</computeroutput>
|
||||
throws. <computeroutput>hash_range(std::size_t&, It, It)</computeroutput> has basic exception safety as long as
|
||||
<computeroutput><link linkend="boost.hash_value">hash_value</link>(std::iterator_traits<It>::value_type)</computeroutput>
|
||||
has basic exception safety.
|
||||
</para></listitem></varlistentry></variablelist></listitem></orderedlist></refsect2><refsect2 xmlns:xi="http://www.w3.org/2001/XInclude"><title><anchor id="id-1.2.2.22-bb"/><computeroutput/> Overloadable hash implementation (Boost extension).</title><orderedlist><listitem><para id="boost.hash_value"><literallayout class="monospaced"><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.22.1.2-bb"/><phrase role="identifier">hash_value</phrase><phrase role="special">(</phrase><phrase role="keyword">bool</phrase> val<phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.22.1.3-bb"/><phrase role="identifier">hash_value</phrase><phrase role="special">(</phrase><phrase role="keyword">char</phrase> val<phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.22.1.4-bb"/><phrase role="identifier">hash_value</phrase><phrase role="special">(</phrase><phrase role="keyword">signed</phrase> <phrase role="keyword">char</phrase> val<phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.22.1.5-bb"/><phrase role="identifier">hash_value</phrase><phrase role="special">(</phrase><phrase role="keyword">unsigned</phrase> <phrase role="keyword">char</phrase> val<phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.22.1.6-bb"/><phrase role="identifier">hash_value</phrase><phrase role="special">(</phrase><phrase role="keyword">wchar_t</phrase> val<phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.22.1.7-bb"/><phrase role="identifier">hash_value</phrase><phrase role="special">(</phrase><phrase role="keyword">short</phrase> val<phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.22.1.8-bb"/><phrase role="identifier">hash_value</phrase><phrase role="special">(</phrase><phrase role="keyword">unsigned</phrase> <phrase role="keyword">short</phrase> val<phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.22.1.9-bb"/><phrase role="identifier">hash_value</phrase><phrase role="special">(</phrase><phrase role="keyword">int</phrase> val<phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.22.1.10-bb"/><phrase role="identifier">hash_value</phrase><phrase role="special">(</phrase><phrase role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase> val<phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.22.1.11-bb"/><phrase role="identifier">hash_value</phrase><phrase role="special">(</phrase><phrase role="keyword">long</phrase> val<phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.22.1.12-bb"/><phrase role="identifier">hash_value</phrase><phrase role="special">(</phrase><phrase role="keyword">unsigned</phrase> <phrase role="keyword">long</phrase> val<phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.22.1.13-bb"/><phrase role="identifier">hash_value</phrase><phrase role="special">(</phrase><phrase role="keyword">long</phrase> <phrase role="keyword">long</phrase> val<phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.22.1.14-bb"/><phrase role="identifier">hash_value</phrase><phrase role="special">(</phrase><phrase role="keyword">unsigned</phrase> <phrase role="keyword">long</phrase> <phrase role="keyword">long</phrase> val<phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.22.1.15-bb"/><phrase role="identifier">hash_value</phrase><phrase role="special">(</phrase><phrase role="keyword">float</phrase> val<phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.22.1.16-bb"/><phrase role="identifier">hash_value</phrase><phrase role="special">(</phrase><phrase role="keyword">double</phrase> val<phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.22.1.17-bb"/><phrase role="identifier">hash_value</phrase><phrase role="special">(</phrase><phrase role="keyword">long</phrase> <phrase role="keyword">double</phrase> val<phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> T<phrase role="special">></phrase> <phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.22.1.18-bb"/><phrase role="identifier">hash_value</phrase><phrase role="special">(</phrase><phrase role="identifier">T</phrase><phrase role="special">*</phrase> <phrase role="keyword">const</phrase><phrase role="special">&</phrase> val<phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> T<phrase role="special">,</phrase> <phrase role="keyword">unsigned</phrase> N<phrase role="special">></phrase> <phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.22.1.19-bb"/><phrase role="identifier">hash_value</phrase><phrase role="special">(</phrase><phrase role="identifier">T</phrase> <phrase role="special">(</phrase><phrase role="special">&</phrase><phrase role="identifier">val</phrase><phrase role="special">)</phrase><phrase role="special">[</phrase><phrase role="identifier">N</phrase><phrase role="special">]</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> T<phrase role="special">,</phrase> <phrase role="keyword">unsigned</phrase> N<phrase role="special">></phrase> <phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.22.1.20-bb"/><phrase role="identifier">hash_value</phrase><phrase role="special">(</phrase><phrase role="keyword">const</phrase> <phrase role="identifier">T</phrase> <phrase role="special">(</phrase><phrase role="special">&</phrase><phrase role="identifier">val</phrase><phrase role="special">)</phrase><phrase role="special">[</phrase><phrase role="identifier">N</phrase><phrase role="special">]</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> Ch<phrase role="special">,</phrase> <phrase role="keyword">typename</phrase> A<phrase role="special">></phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.22.1.21-bb"/><phrase role="identifier">hash_value</phrase><phrase role="special">(</phrase><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">basic_string</phrase><phrase role="special"><</phrase><phrase role="identifier">Ch</phrase><phrase role="special">,</phrase> <phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">char_traits</phrase><phrase role="special"><</phrase><phrase role="identifier">Ch</phrase><phrase role="special">></phrase><phrase role="special">,</phrase> <phrase role="identifier">A</phrase><phrase role="special">></phrase> <phrase role="keyword">const</phrase><phrase role="special">&</phrase> val<phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> A<phrase role="special">,</phrase> <phrase role="keyword">typename</phrase> B<phrase role="special">></phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.22.1.22-bb"/><phrase role="identifier">hash_value</phrase><phrase role="special">(</phrase><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">pair</phrase><phrase role="special"><</phrase><phrase role="identifier">A</phrase><phrase role="special">,</phrase> <phrase role="identifier">B</phrase><phrase role="special">></phrase> <phrase role="keyword">const</phrase><phrase role="special">&</phrase> val<phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> T<phrase role="special">,</phrase> <phrase role="keyword">typename</phrase> A<phrase role="special">></phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.22.1.23-bb"/><phrase role="identifier">hash_value</phrase><phrase role="special">(</phrase><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">vector</phrase><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">A</phrase><phrase role="special">></phrase> <phrase role="keyword">const</phrase><phrase role="special">&</phrase> val<phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> T<phrase role="special">,</phrase> <phrase role="keyword">typename</phrase> A<phrase role="special">></phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.22.1.24-bb"/><phrase role="identifier">hash_value</phrase><phrase role="special">(</phrase><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">list</phrase><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">A</phrase><phrase role="special">></phrase> <phrase role="keyword">const</phrase><phrase role="special">&</phrase> val<phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> T<phrase role="special">,</phrase> <phrase role="keyword">typename</phrase> A<phrase role="special">></phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.22.1.25-bb"/><phrase role="identifier">hash_value</phrase><phrase role="special">(</phrase><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">deque</phrase><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">A</phrase><phrase role="special">></phrase> <phrase role="keyword">const</phrase><phrase role="special">&</phrase> val<phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> K<phrase role="special">,</phrase> <phrase role="keyword">typename</phrase> C<phrase role="special">,</phrase> <phrase role="keyword">typename</phrase> A<phrase role="special">></phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.22.1.26-bb"/><phrase role="identifier">hash_value</phrase><phrase role="special">(</phrase><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">set</phrase><phrase role="special"><</phrase><phrase role="identifier">K</phrase><phrase role="special">,</phrase> <phrase role="identifier">C</phrase><phrase role="special">,</phrase> <phrase role="identifier">A</phrase><phrase role="special">></phrase> <phrase role="keyword">const</phrase><phrase role="special">&</phrase> val<phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> K<phrase role="special">,</phrase> <phrase role="keyword">typename</phrase> C<phrase role="special">,</phrase> <phrase role="keyword">typename</phrase> A<phrase role="special">></phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.22.1.27-bb"/><phrase role="identifier">hash_value</phrase><phrase role="special">(</phrase><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">multiset</phrase><phrase role="special"><</phrase><phrase role="identifier">K</phrase><phrase role="special">,</phrase> <phrase role="identifier">C</phrase><phrase role="special">,</phrase> <phrase role="identifier">A</phrase><phrase role="special">></phrase> <phrase role="keyword">const</phrase><phrase role="special">&</phrase> val<phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> K<phrase role="special">,</phrase> <phrase role="keyword">typename</phrase> T<phrase role="special">,</phrase> <phrase role="keyword">typename</phrase> C<phrase role="special">,</phrase> <phrase role="keyword">typename</phrase> A<phrase role="special">></phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.22.1.28-bb"/><phrase role="identifier">hash_value</phrase><phrase role="special">(</phrase><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">map</phrase><phrase role="special"><</phrase><phrase role="identifier">K</phrase><phrase role="special">,</phrase> <phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">C</phrase><phrase role="special">,</phrase> <phrase role="identifier">A</phrase><phrase role="special">></phrase> <phrase role="keyword">const</phrase><phrase role="special">&</phrase> val<phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> K<phrase role="special">,</phrase> <phrase role="keyword">typename</phrase> T<phrase role="special">,</phrase> <phrase role="keyword">typename</phrase> C<phrase role="special">,</phrase> <phrase role="keyword">typename</phrase> A<phrase role="special">></phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.22.1.29-bb"/><phrase role="identifier">hash_value</phrase><phrase role="special">(</phrase><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">multimap</phrase><phrase role="special"><</phrase><phrase role="identifier">K</phrase><phrase role="special">,</phrase> <phrase role="identifier">T</phrase><phrase role="special">,</phrase> <phrase role="identifier">C</phrase><phrase role="special">,</phrase> <phrase role="identifier">A</phrase><phrase role="special">></phrase> <phrase role="keyword">const</phrase><phrase role="special">&</phrase> val<phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> T<phrase role="special">></phrase> <phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.22.1.30-bb"/><phrase role="identifier">hash_value</phrase><phrase role="special">(</phrase><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">complex</phrase><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">></phrase> <phrase role="keyword">const</phrase><phrase role="special">&</phrase> val<phrase role="special">)</phrase><phrase role="special">;</phrase></literallayout></para><simpara>
|
||||
Implementation of the hash function.
|
||||
</simpara><para>
|
||||
Generally shouldn't be called directly by users, instead they should use
|
||||
<computeroutput><link linkend="boost.hash">boost::hash</link></computeroutput>, <computeroutput><link linkend="boost.hash_range">boost::hash_range</link></computeroutput>
|
||||
or <computeroutput><link linkend="boost.hash_combine">boost::hash_combine</link></computeroutput> which
|
||||
call <computeroutput>hash_value</computeroutput> without namespace qualification so that overloads
|
||||
for custom types are found via ADL.
|
||||
</para><variablelist spacing="compact"><?dbhtml
|
||||
list-presentation="table"
|
||||
?><varlistentry><term>Notes:</term><listitem><para>This is an extension to TR1</para></listitem></varlistentry><varlistentry><term>Throws:</term><listitem>
|
||||
Only throws if a user supplied version of
|
||||
<computeroutput><link linkend="boost.hash_value">hash_value</link></computeroutput>
|
||||
throws for an element of a container, or
|
||||
one of the types stored in a pair.
|
||||
</listitem></varlistentry><varlistentry><term>Returns:</term><listitem><informaltable>
|
||||
<tgroup cols="2">
|
||||
<thead>
|
||||
<row>
|
||||
<entry>Types</entry>
|
||||
<entry>Returns</entry>
|
||||
</row>
|
||||
</thead>
|
||||
<tbody>
|
||||
<row>
|
||||
<entry><computeroutput>bool</computeroutput>,
|
||||
<computeroutput>char</computeroutput>, <computeroutput>signed char</computeroutput>, <computeroutput>unsigned char</computeroutput>, <computeroutput>wchar_t</computeroutput>,
|
||||
<computeroutput>short</computeroutput>, <computeroutput>unsigned short</computeroutput>,
|
||||
<computeroutput>int</computeroutput>, <computeroutput>unsigned int</computeroutput>, <computeroutput>long</computeroutput>, <computeroutput>unsigned long</computeroutput>
|
||||
</entry>
|
||||
<entry><computeroutput>val</computeroutput></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><computeroutput>long long</computeroutput>, <computeroutput>unsigned long long</computeroutput></entry>
|
||||
<entry><computeroutput>val</computeroutput> when <computeroutput>abs(val) <= std::numeric_limits<std::size_t>::max()</computeroutput>.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><computeroutput>float</computeroutput>, <computeroutput>double</computeroutput>, <computeroutput>long double</computeroutput></entry>
|
||||
<entry>An unspecified value, except that equal arguments shall yield the same result.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><computeroutput>T*</computeroutput></entry>
|
||||
<entry>An unspecified value, except that equal arguments shall yield the same result.</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>
|
||||
<computeroutput>T val[N]</computeroutput>,
|
||||
<computeroutput>const T val[N]</computeroutput>
|
||||
</entry>
|
||||
<entry><computeroutput>hash_range(val, val+N)</computeroutput></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>
|
||||
<computeroutput>std:basic_string<Ch, std::char_traits<Ch>, A></computeroutput>,
|
||||
<computeroutput>std::vector<T, A></computeroutput>,
|
||||
<computeroutput>std::list<T, A></computeroutput>,
|
||||
<computeroutput>std::deque<T, A></computeroutput>,
|
||||
<computeroutput>std::set<K, C, A></computeroutput>,
|
||||
<computeroutput>std::multiset<K, C, A></computeroutput>,
|
||||
<computeroutput>std::map<K, T, C, A></computeroutput>,
|
||||
<computeroutput>std::multimap<K, T, C, A></computeroutput>
|
||||
</entry>
|
||||
<entry><computeroutput>hash_range(val.begin(), val.end())</computeroutput></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><computeroutput>std::pair<A, B></computeroutput></entry>
|
||||
<entry><programlisting><phrase role="identifier">size_t</phrase> <phrase role="identifier">seed</phrase> <phrase role="special">=</phrase> <phrase role="number">0</phrase><phrase role="special">;</phrase>
|
||||
<link linkend="boost.hash_combine">hash_combine</link><phrase role="special">(</phrase><phrase role="identifier">seed</phrase><phrase role="special">,</phrase> <phrase role="identifier">val</phrase><phrase role="special">.</phrase><phrase role="identifier">first</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<link linkend="boost.hash_combine">hash_combine</link><phrase role="special">(</phrase><phrase role="identifier">seed</phrase><phrase role="special">,</phrase> <phrase role="identifier">val</phrase><phrase role="special">.</phrase><phrase role="identifier">second</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">return</phrase> <phrase role="identifier">seed</phrase><phrase role="special">;</phrase></programlisting></entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>
|
||||
<computeroutput>std::complex<T></computeroutput>
|
||||
</entry>
|
||||
<entry>When <computeroutput>T</computeroutput> is a built in type and <computeroutput>val.imag() == 0</computeroutput>, the result is equal to <computeroutput>hash_value(val.real())</computeroutput>. Otherwise an unspecified value, except that equal arguments shall yield the same result.</entry>
|
||||
</row>
|
||||
</tbody>
|
||||
</tgroup>
|
||||
</informaltable></listitem></varlistentry></variablelist></listitem></orderedlist></refsect2><refentry xmlns:xi="http://www.w3.org/2001/XInclude" id="boost.hash"><refmeta><refentrytitle>Struct template hash</refentrytitle><manvolnum>3</manvolnum></refmeta><refnamediv><refname>boost::hash</refname><refpurpose>A <ulink url="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2005/n1836.pdf">TR1</ulink> compliant hash function object.</refpurpose></refnamediv><refsynopsisdiv><synopsis><phrase role="comment">// In header: <<link linkend="header.boost.functional.hash_hpp">boost/functional/hash.hpp</link>>
|
||||
|
||||
</phrase><phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> T<phrase role="special">></phrase>
|
||||
<phrase role="keyword">struct</phrase> <link linkend="boost.hash">hash</link> <phrase role="special">:</phrase> <phrase role="keyword">public</phrase> std::unary_function<T, std::size_t> <phrase role="special">{</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.1.4-bb"><phrase role="keyword">operator</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase></link><phrase role="special">(</phrase><phrase role="identifier">T</phrase> <phrase role="keyword">const</phrase><phrase role="special">&</phrase><phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="special">}</phrase><phrase role="special">;</phrase></synopsis></refsynopsisdiv><refsect1><title>Description</title><para><literallayout class="monospaced"><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.1.4-bb"/><phrase role="keyword">operator</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase><phrase role="special">(</phrase><phrase role="identifier">T</phrase> <phrase role="keyword">const</phrase><phrase role="special">&</phrase> val<phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml
|
||||
list-presentation="table"
|
||||
?><varlistentry><term>Returns:</term><listitem><para>
|
||||
<programlisting><link linkend="boost.hash_value">hash_value</link><phrase role="special">(</phrase><phrase role="identifier">val</phrase><phrase role="special">)</phrase></programlisting>
|
||||
</para></listitem></varlistentry><varlistentry><term>Notes:</term><listitem><para>
|
||||
The call to <computeroutput><link linkend="boost.hash_value">hash_value</link></computeroutput>
|
||||
is unqualified, so that custom overloads can be
|
||||
found via argument dependent lookup.
|
||||
</para><para>
|
||||
This is not defined when the macro <computeroutput>BOOST_HASH_NO_EXTENSIONS</computeroutput>
|
||||
is defined. The specializations are still defined, so only the specializations
|
||||
required by TR1 are defined.
|
||||
</para></listitem></varlistentry><varlistentry><term>Throws:</term><listitem><para>
|
||||
Only throws if
|
||||
<computeroutput><link linkend="boost.hash_value">hash_value</link>(T)</computeroutput> throws.
|
||||
</para></listitem></varlistentry></variablelist></refsect1></refentry><refentry xmlns:xi="http://www.w3.org/2001/XInclude" id="boost.hash_bool_id-1.2.2.2"><refmeta><refentrytitle>Struct hash<bool></refentrytitle><manvolnum>3</manvolnum></refmeta><refnamediv><refname>boost::hash<bool></refname><refpurpose/></refnamediv><refsynopsisdiv><synopsis><phrase role="comment">// In header: <<link linkend="header.boost.functional.hash_hpp">boost/functional/hash.hpp</link>>
|
||||
|
||||
</phrase>
|
||||
<phrase role="keyword">struct</phrase> <link linkend="boost.hash_bool_id-1.2.2.2">hash</link><phrase role="special"><</phrase><phrase role="keyword">bool</phrase><phrase role="special">></phrase> <phrase role="special">{</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.2.3-bb"><phrase role="keyword">operator</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase></link><phrase role="special">(</phrase><phrase role="keyword">bool</phrase><phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="special">}</phrase><phrase role="special">;</phrase></synopsis></refsynopsisdiv><refsect1><title>Description</title><para><literallayout class="monospaced"><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.2.3-bb"/><phrase role="keyword">operator</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase><phrase role="special">(</phrase><phrase role="keyword">bool</phrase> val<phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml
|
||||
list-presentation="table"
|
||||
?><varlistentry><term>Returns:</term><listitem><para>Unspecified in TR1, except that equal arguments yield the same result.</para><para><link linkend="boost.hash_value">hash_value</link>(val) in Boost.</para></listitem></varlistentry><varlistentry><term>Throws:</term><listitem><para>Doesn't throw</para></listitem></varlistentry></variablelist></refsect1></refentry><refentry xmlns:xi="http://www.w3.org/2001/XInclude" id="boost.hash_char_id-1.2.2.3"><refmeta><refentrytitle>Struct hash<char></refentrytitle><manvolnum>3</manvolnum></refmeta><refnamediv><refname>boost::hash<char></refname><refpurpose/></refnamediv><refsynopsisdiv><synopsis><phrase role="comment">// In header: <<link linkend="header.boost.functional.hash_hpp">boost/functional/hash.hpp</link>>
|
||||
|
||||
</phrase>
|
||||
<phrase role="keyword">struct</phrase> <link linkend="boost.hash_char_id-1.2.2.3">hash</link><phrase role="special"><</phrase><phrase role="keyword">char</phrase><phrase role="special">></phrase> <phrase role="special">{</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.3.3-bb"><phrase role="keyword">operator</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase></link><phrase role="special">(</phrase><phrase role="keyword">char</phrase><phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="special">}</phrase><phrase role="special">;</phrase></synopsis></refsynopsisdiv><refsect1><title>Description</title><para><literallayout class="monospaced"><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.3.3-bb"/><phrase role="keyword">operator</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase><phrase role="special">(</phrase><phrase role="keyword">char</phrase> val<phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml
|
||||
list-presentation="table"
|
||||
?><varlistentry><term>Returns:</term><listitem><para>Unspecified in TR1, except that equal arguments yield the same result.</para><para><link linkend="boost.hash_value">hash_value</link>(val) in Boost.</para></listitem></varlistentry><varlistentry><term>Throws:</term><listitem><para>Doesn't throw</para></listitem></varlistentry></variablelist></refsect1></refentry><refentry xmlns:xi="http://www.w3.org/2001/XInclude" id="boost.hash_signed_cha_id-1.2.2.4"><refmeta><refentrytitle>Struct hash<signed char></refentrytitle><manvolnum>3</manvolnum></refmeta><refnamediv><refname>boost::hash<signed char></refname><refpurpose/></refnamediv><refsynopsisdiv><synopsis><phrase role="comment">// In header: <<link linkend="header.boost.functional.hash_hpp">boost/functional/hash.hpp</link>>
|
||||
|
||||
</phrase>
|
||||
<phrase role="keyword">struct</phrase> <link linkend="boost.hash_signed_cha_id-1.2.2.4">hash</link><phrase role="special"><</phrase><phrase role="keyword">signed</phrase> <phrase role="keyword">char</phrase><phrase role="special">></phrase> <phrase role="special">{</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.4.3-bb"><phrase role="keyword">operator</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase></link><phrase role="special">(</phrase><phrase role="keyword">signed</phrase> <phrase role="keyword">char</phrase><phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="special">}</phrase><phrase role="special">;</phrase></synopsis></refsynopsisdiv><refsect1><title>Description</title><para><literallayout class="monospaced"><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.4.3-bb"/><phrase role="keyword">operator</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase><phrase role="special">(</phrase><phrase role="keyword">signed</phrase> <phrase role="keyword">char</phrase> val<phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml
|
||||
list-presentation="table"
|
||||
?><varlistentry><term>Returns:</term><listitem><para>Unspecified in TR1, except that equal arguments yield the same result.</para><para><link linkend="boost.hash_value">hash_value</link>(val) in Boost.</para></listitem></varlistentry><varlistentry><term>Throws:</term><listitem><para>Doesn't throw</para></listitem></varlistentry></variablelist></refsect1></refentry><refentry xmlns:xi="http://www.w3.org/2001/XInclude" id="boost.hash_unsigned_c_id-1.2.2.5"><refmeta><refentrytitle>Struct hash<unsigned char></refentrytitle><manvolnum>3</manvolnum></refmeta><refnamediv><refname>boost::hash<unsigned char></refname><refpurpose/></refnamediv><refsynopsisdiv><synopsis><phrase role="comment">// In header: <<link linkend="header.boost.functional.hash_hpp">boost/functional/hash.hpp</link>>
|
||||
|
||||
</phrase>
|
||||
<phrase role="keyword">struct</phrase> <link linkend="boost.hash_unsigned_c_id-1.2.2.5">hash</link><phrase role="special"><</phrase><phrase role="keyword">unsigned</phrase> <phrase role="keyword">char</phrase><phrase role="special">></phrase> <phrase role="special">{</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.5.3-bb"><phrase role="keyword">operator</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase></link><phrase role="special">(</phrase><phrase role="keyword">unsigned</phrase> <phrase role="keyword">char</phrase><phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="special">}</phrase><phrase role="special">;</phrase></synopsis></refsynopsisdiv><refsect1><title>Description</title><para><literallayout class="monospaced"><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.5.3-bb"/><phrase role="keyword">operator</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase><phrase role="special">(</phrase><phrase role="keyword">unsigned</phrase> <phrase role="keyword">char</phrase> val<phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml
|
||||
list-presentation="table"
|
||||
?><varlistentry><term>Returns:</term><listitem><para>Unspecified in TR1, except that equal arguments yield the same result.</para><para><link linkend="boost.hash_value">hash_value</link>(val) in Boost.</para></listitem></varlistentry><varlistentry><term>Throws:</term><listitem><para>Doesn't throw</para></listitem></varlistentry></variablelist></refsect1></refentry><refentry xmlns:xi="http://www.w3.org/2001/XInclude" id="boost.hash_wchar_t_id-1.2.2.6"><refmeta><refentrytitle>Struct hash<wchar_t></refentrytitle><manvolnum>3</manvolnum></refmeta><refnamediv><refname>boost::hash<wchar_t></refname><refpurpose/></refnamediv><refsynopsisdiv><synopsis><phrase role="comment">// In header: <<link linkend="header.boost.functional.hash_hpp">boost/functional/hash.hpp</link>>
|
||||
|
||||
</phrase>
|
||||
<phrase role="keyword">struct</phrase> <link linkend="boost.hash_wchar_t_id-1.2.2.6">hash</link><phrase role="special"><</phrase><phrase role="keyword">wchar_t</phrase><phrase role="special">></phrase> <phrase role="special">{</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.6.3-bb"><phrase role="keyword">operator</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase></link><phrase role="special">(</phrase><phrase role="keyword">wchar_t</phrase><phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="special">}</phrase><phrase role="special">;</phrase></synopsis></refsynopsisdiv><refsect1><title>Description</title><para><literallayout class="monospaced"><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.6.3-bb"/><phrase role="keyword">operator</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase><phrase role="special">(</phrase><phrase role="keyword">wchar_t</phrase> val<phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml
|
||||
list-presentation="table"
|
||||
?><varlistentry><term>Returns:</term><listitem><para>Unspecified in TR1, except that equal arguments yield the same result.</para><para><link linkend="boost.hash_value">hash_value</link>(val) in Boost.</para></listitem></varlistentry><varlistentry><term>Throws:</term><listitem><para>Doesn't throw</para></listitem></varlistentry></variablelist></refsect1></refentry><refentry xmlns:xi="http://www.w3.org/2001/XInclude" id="boost.hash_short_id-1.2.2.7"><refmeta><refentrytitle>Struct hash<short></refentrytitle><manvolnum>3</manvolnum></refmeta><refnamediv><refname>boost::hash<short></refname><refpurpose/></refnamediv><refsynopsisdiv><synopsis><phrase role="comment">// In header: <<link linkend="header.boost.functional.hash_hpp">boost/functional/hash.hpp</link>>
|
||||
|
||||
</phrase>
|
||||
<phrase role="keyword">struct</phrase> <link linkend="boost.hash_short_id-1.2.2.7">hash</link><phrase role="special"><</phrase><phrase role="keyword">short</phrase><phrase role="special">></phrase> <phrase role="special">{</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.7.3-bb"><phrase role="keyword">operator</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase></link><phrase role="special">(</phrase><phrase role="keyword">short</phrase><phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="special">}</phrase><phrase role="special">;</phrase></synopsis></refsynopsisdiv><refsect1><title>Description</title><para><literallayout class="monospaced"><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.7.3-bb"/><phrase role="keyword">operator</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase><phrase role="special">(</phrase><phrase role="keyword">short</phrase> val<phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml
|
||||
list-presentation="table"
|
||||
?><varlistentry><term>Returns:</term><listitem><para>Unspecified in TR1, except that equal arguments yield the same result.</para><para><link linkend="boost.hash_value">hash_value</link>(val) in Boost.</para></listitem></varlistentry><varlistentry><term>Throws:</term><listitem><para>Doesn't throw</para></listitem></varlistentry></variablelist></refsect1></refentry><refentry xmlns:xi="http://www.w3.org/2001/XInclude" id="boost.hash_unsigned_s_id-1.2.2.8"><refmeta><refentrytitle>Struct hash<unsigned short></refentrytitle><manvolnum>3</manvolnum></refmeta><refnamediv><refname>boost::hash<unsigned short></refname><refpurpose/></refnamediv><refsynopsisdiv><synopsis><phrase role="comment">// In header: <<link linkend="header.boost.functional.hash_hpp">boost/functional/hash.hpp</link>>
|
||||
|
||||
</phrase>
|
||||
<phrase role="keyword">struct</phrase> <link linkend="boost.hash_unsigned_s_id-1.2.2.8">hash</link><phrase role="special"><</phrase><phrase role="keyword">unsigned</phrase> <phrase role="keyword">short</phrase><phrase role="special">></phrase> <phrase role="special">{</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.8.3-bb"><phrase role="keyword">operator</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase></link><phrase role="special">(</phrase><phrase role="keyword">unsigned</phrase> <phrase role="keyword">short</phrase><phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="special">}</phrase><phrase role="special">;</phrase></synopsis></refsynopsisdiv><refsect1><title>Description</title><para><literallayout class="monospaced"><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.8.3-bb"/><phrase role="keyword">operator</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase><phrase role="special">(</phrase><phrase role="keyword">unsigned</phrase> <phrase role="keyword">short</phrase> val<phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml
|
||||
list-presentation="table"
|
||||
?><varlistentry><term>Returns:</term><listitem><para>Unspecified in TR1, except that equal arguments yield the same result.</para><para><link linkend="boost.hash_value">hash_value</link>(val) in Boost.</para></listitem></varlistentry><varlistentry><term>Throws:</term><listitem><para>Doesn't throw</para></listitem></varlistentry></variablelist></refsect1></refentry><refentry xmlns:xi="http://www.w3.org/2001/XInclude" id="boost.hash_int_id-1.2.2.9"><refmeta><refentrytitle>Struct hash<int></refentrytitle><manvolnum>3</manvolnum></refmeta><refnamediv><refname>boost::hash<int></refname><refpurpose/></refnamediv><refsynopsisdiv><synopsis><phrase role="comment">// In header: <<link linkend="header.boost.functional.hash_hpp">boost/functional/hash.hpp</link>>
|
||||
|
||||
</phrase>
|
||||
<phrase role="keyword">struct</phrase> <link linkend="boost.hash_int_id-1.2.2.9">hash</link><phrase role="special"><</phrase><phrase role="keyword">int</phrase><phrase role="special">></phrase> <phrase role="special">{</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.9.3-bb"><phrase role="keyword">operator</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase></link><phrase role="special">(</phrase><phrase role="keyword">int</phrase><phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="special">}</phrase><phrase role="special">;</phrase></synopsis></refsynopsisdiv><refsect1><title>Description</title><para><literallayout class="monospaced"><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.9.3-bb"/><phrase role="keyword">operator</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase><phrase role="special">(</phrase><phrase role="keyword">int</phrase> val<phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml
|
||||
list-presentation="table"
|
||||
?><varlistentry><term>Returns:</term><listitem><para>Unspecified in TR1, except that equal arguments yield the same result.</para><para><link linkend="boost.hash_value">hash_value</link>(val) in Boost.</para></listitem></varlistentry><varlistentry><term>Throws:</term><listitem><para>Doesn't throw</para></listitem></varlistentry></variablelist></refsect1></refentry><refentry xmlns:xi="http://www.w3.org/2001/XInclude" id="boost.hash_unsigned__id-1.2.2.10"><refmeta><refentrytitle>Struct hash<unsigned int></refentrytitle><manvolnum>3</manvolnum></refmeta><refnamediv><refname>boost::hash<unsigned int></refname><refpurpose/></refnamediv><refsynopsisdiv><synopsis><phrase role="comment">// In header: <<link linkend="header.boost.functional.hash_hpp">boost/functional/hash.hpp</link>>
|
||||
|
||||
</phrase>
|
||||
<phrase role="keyword">struct</phrase> <link linkend="boost.hash_unsigned__id-1.2.2.10">hash</link><phrase role="special"><</phrase><phrase role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase><phrase role="special">></phrase> <phrase role="special">{</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.10.3-bb"><phrase role="keyword">operator</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase></link><phrase role="special">(</phrase><phrase role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase><phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="special">}</phrase><phrase role="special">;</phrase></synopsis></refsynopsisdiv><refsect1><title>Description</title><para><literallayout class="monospaced"><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.10.3-bb"/><phrase role="keyword">operator</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase><phrase role="special">(</phrase><phrase role="keyword">unsigned</phrase> <phrase role="keyword">int</phrase> val<phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml
|
||||
list-presentation="table"
|
||||
?><varlistentry><term>Returns:</term><listitem><para>Unspecified in TR1, except that equal arguments yield the same result.</para><para><link linkend="boost.hash_value">hash_value</link>(val) in Boost.</para></listitem></varlistentry><varlistentry><term>Throws:</term><listitem><para>Doesn't throw</para></listitem></varlistentry></variablelist></refsect1></refentry><refentry xmlns:xi="http://www.w3.org/2001/XInclude" id="boost.hash_long_id-1.2.2.11"><refmeta><refentrytitle>Struct hash<long></refentrytitle><manvolnum>3</manvolnum></refmeta><refnamediv><refname>boost::hash<long></refname><refpurpose/></refnamediv><refsynopsisdiv><synopsis><phrase role="comment">// In header: <<link linkend="header.boost.functional.hash_hpp">boost/functional/hash.hpp</link>>
|
||||
|
||||
</phrase>
|
||||
<phrase role="keyword">struct</phrase> <link linkend="boost.hash_long_id-1.2.2.11">hash</link><phrase role="special"><</phrase><phrase role="keyword">long</phrase><phrase role="special">></phrase> <phrase role="special">{</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.11.3-bb"><phrase role="keyword">operator</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase></link><phrase role="special">(</phrase><phrase role="keyword">long</phrase><phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="special">}</phrase><phrase role="special">;</phrase></synopsis></refsynopsisdiv><refsect1><title>Description</title><para><literallayout class="monospaced"><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.11.3-bb"/><phrase role="keyword">operator</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase><phrase role="special">(</phrase><phrase role="keyword">long</phrase> val<phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml
|
||||
list-presentation="table"
|
||||
?><varlistentry><term>Returns:</term><listitem><para>Unspecified in TR1, except that equal arguments yield the same result.</para><para><link linkend="boost.hash_value">hash_value</link>(val) in Boost.</para></listitem></varlistentry><varlistentry><term>Throws:</term><listitem><para>Doesn't throw</para></listitem></varlistentry></variablelist></refsect1></refentry><refentry xmlns:xi="http://www.w3.org/2001/XInclude" id="boost.hash_unsigned__id-1.2.2.12"><refmeta><refentrytitle>Struct hash<unsigned long></refentrytitle><manvolnum>3</manvolnum></refmeta><refnamediv><refname>boost::hash<unsigned long></refname><refpurpose/></refnamediv><refsynopsisdiv><synopsis><phrase role="comment">// In header: <<link linkend="header.boost.functional.hash_hpp">boost/functional/hash.hpp</link>>
|
||||
|
||||
</phrase>
|
||||
<phrase role="keyword">struct</phrase> <link linkend="boost.hash_unsigned__id-1.2.2.12">hash</link><phrase role="special"><</phrase><phrase role="keyword">unsigned</phrase> <phrase role="keyword">long</phrase><phrase role="special">></phrase> <phrase role="special">{</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.12.3-bb"><phrase role="keyword">operator</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase></link><phrase role="special">(</phrase><phrase role="keyword">unsigned</phrase> <phrase role="keyword">long</phrase><phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="special">}</phrase><phrase role="special">;</phrase></synopsis></refsynopsisdiv><refsect1><title>Description</title><para><literallayout class="monospaced"><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.12.3-bb"/><phrase role="keyword">operator</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase><phrase role="special">(</phrase><phrase role="keyword">unsigned</phrase> <phrase role="keyword">long</phrase> val<phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml
|
||||
list-presentation="table"
|
||||
?><varlistentry><term>Returns:</term><listitem><para>Unspecified in TR1, except that equal arguments yield the same result.</para><para><link linkend="boost.hash_value">hash_value</link>(val) in Boost.</para></listitem></varlistentry><varlistentry><term>Throws:</term><listitem><para>Doesn't throw</para></listitem></varlistentry></variablelist></refsect1></refentry><refentry xmlns:xi="http://www.w3.org/2001/XInclude" id="boost.hash_long_long_id-1.2.2.13"><refmeta><refentrytitle>Struct hash<long long></refentrytitle><manvolnum>3</manvolnum></refmeta><refnamediv><refname>boost::hash<long long></refname><refpurpose/></refnamediv><refsynopsisdiv><synopsis><phrase role="comment">// In header: <<link linkend="header.boost.functional.hash_hpp">boost/functional/hash.hpp</link>>
|
||||
|
||||
</phrase>
|
||||
<phrase role="keyword">struct</phrase> <link linkend="boost.hash_long_long_id-1.2.2.13">hash</link><phrase role="special"><</phrase><phrase role="keyword">long</phrase> <phrase role="keyword">long</phrase><phrase role="special">></phrase> <phrase role="special">{</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.13.3-bb"><phrase role="keyword">operator</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase></link><phrase role="special">(</phrase><phrase role="keyword">long</phrase> <phrase role="keyword">long</phrase><phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="special">}</phrase><phrase role="special">;</phrase></synopsis></refsynopsisdiv><refsect1><title>Description</title><para><literallayout class="monospaced"><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.13.3-bb"/><phrase role="keyword">operator</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase><phrase role="special">(</phrase><phrase role="keyword">long</phrase> <phrase role="keyword">long</phrase> val<phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml
|
||||
list-presentation="table"
|
||||
?><varlistentry><term>Returns:</term><listitem><para>Unspecified in TR1, except that equal arguments yield the same result.</para><para><link linkend="boost.hash_value">hash_value</link>(val) in Boost.</para></listitem></varlistentry><varlistentry><term>Throws:</term><listitem><para>Doesn't throw</para></listitem></varlistentry></variablelist></refsect1></refentry><refentry xmlns:xi="http://www.w3.org/2001/XInclude" id="boost.hash_unsigned__id-1.2.2.14"><refmeta><refentrytitle>Struct hash<unsigned long long></refentrytitle><manvolnum>3</manvolnum></refmeta><refnamediv><refname>boost::hash<unsigned long long></refname><refpurpose/></refnamediv><refsynopsisdiv><synopsis><phrase role="comment">// In header: <<link linkend="header.boost.functional.hash_hpp">boost/functional/hash.hpp</link>>
|
||||
|
||||
</phrase>
|
||||
<phrase role="keyword">struct</phrase> <link linkend="boost.hash_unsigned__id-1.2.2.14">hash</link><phrase role="special"><</phrase><phrase role="keyword">unsigned</phrase> <phrase role="keyword">long</phrase> <phrase role="keyword">long</phrase><phrase role="special">></phrase> <phrase role="special">{</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.14.3-bb"><phrase role="keyword">operator</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase></link><phrase role="special">(</phrase><phrase role="keyword">unsigned</phrase> <phrase role="keyword">long</phrase> <phrase role="keyword">long</phrase><phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="special">}</phrase><phrase role="special">;</phrase></synopsis></refsynopsisdiv><refsect1><title>Description</title><para><literallayout class="monospaced"><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.14.3-bb"/><phrase role="keyword">operator</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase><phrase role="special">(</phrase><phrase role="keyword">unsigned</phrase> <phrase role="keyword">long</phrase> <phrase role="keyword">long</phrase> val<phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml
|
||||
list-presentation="table"
|
||||
?><varlistentry><term>Returns:</term><listitem><para>Unspecified in TR1, except that equal arguments yield the same result.</para><para><link linkend="boost.hash_value">hash_value</link>(val) in Boost.</para></listitem></varlistentry><varlistentry><term>Throws:</term><listitem><para>Doesn't throw</para></listitem></varlistentry></variablelist></refsect1></refentry><refentry xmlns:xi="http://www.w3.org/2001/XInclude" id="boost.hash_float_id-1.2.2.15"><refmeta><refentrytitle>Struct hash<float></refentrytitle><manvolnum>3</manvolnum></refmeta><refnamediv><refname>boost::hash<float></refname><refpurpose/></refnamediv><refsynopsisdiv><synopsis><phrase role="comment">// In header: <<link linkend="header.boost.functional.hash_hpp">boost/functional/hash.hpp</link>>
|
||||
|
||||
</phrase>
|
||||
<phrase role="keyword">struct</phrase> <link linkend="boost.hash_float_id-1.2.2.15">hash</link><phrase role="special"><</phrase><phrase role="keyword">float</phrase><phrase role="special">></phrase> <phrase role="special">{</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.15.3-bb"><phrase role="keyword">operator</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase></link><phrase role="special">(</phrase><phrase role="keyword">float</phrase><phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="special">}</phrase><phrase role="special">;</phrase></synopsis></refsynopsisdiv><refsect1><title>Description</title><para><literallayout class="monospaced"><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.15.3-bb"/><phrase role="keyword">operator</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase><phrase role="special">(</phrase><phrase role="keyword">float</phrase> val<phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml
|
||||
list-presentation="table"
|
||||
?><varlistentry><term>Returns:</term><listitem><para>Unspecified in TR1, except that equal arguments yield the same result.</para><para><link linkend="boost.hash_value">hash_value</link>(val) in Boost.</para></listitem></varlistentry><varlistentry><term>Throws:</term><listitem><para>Doesn't throw</para></listitem></varlistentry></variablelist></refsect1></refentry><refentry xmlns:xi="http://www.w3.org/2001/XInclude" id="boost.hash_double_id-1.2.2.16"><refmeta><refentrytitle>Struct hash<double></refentrytitle><manvolnum>3</manvolnum></refmeta><refnamediv><refname>boost::hash<double></refname><refpurpose/></refnamediv><refsynopsisdiv><synopsis><phrase role="comment">// In header: <<link linkend="header.boost.functional.hash_hpp">boost/functional/hash.hpp</link>>
|
||||
|
||||
</phrase>
|
||||
<phrase role="keyword">struct</phrase> <link linkend="boost.hash_double_id-1.2.2.16">hash</link><phrase role="special"><</phrase><phrase role="keyword">double</phrase><phrase role="special">></phrase> <phrase role="special">{</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.16.3-bb"><phrase role="keyword">operator</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase></link><phrase role="special">(</phrase><phrase role="keyword">double</phrase><phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="special">}</phrase><phrase role="special">;</phrase></synopsis></refsynopsisdiv><refsect1><title>Description</title><para><literallayout class="monospaced"><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.16.3-bb"/><phrase role="keyword">operator</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase><phrase role="special">(</phrase><phrase role="keyword">double</phrase> val<phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml
|
||||
list-presentation="table"
|
||||
?><varlistentry><term>Returns:</term><listitem><para>Unspecified in TR1, except that equal arguments yield the same result.</para><para><link linkend="boost.hash_value">hash_value</link>(val) in Boost.</para></listitem></varlistentry><varlistentry><term>Throws:</term><listitem><para>Doesn't throw</para></listitem></varlistentry></variablelist></refsect1></refentry><refentry xmlns:xi="http://www.w3.org/2001/XInclude" id="boost.hash_long_doub_id-1.2.2.17"><refmeta><refentrytitle>Struct hash<long double></refentrytitle><manvolnum>3</manvolnum></refmeta><refnamediv><refname>boost::hash<long double></refname><refpurpose/></refnamediv><refsynopsisdiv><synopsis><phrase role="comment">// In header: <<link linkend="header.boost.functional.hash_hpp">boost/functional/hash.hpp</link>>
|
||||
|
||||
</phrase>
|
||||
<phrase role="keyword">struct</phrase> <link linkend="boost.hash_long_doub_id-1.2.2.17">hash</link><phrase role="special"><</phrase><phrase role="keyword">long</phrase> <phrase role="keyword">double</phrase><phrase role="special">></phrase> <phrase role="special">{</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.17.3-bb"><phrase role="keyword">operator</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase></link><phrase role="special">(</phrase><phrase role="keyword">long</phrase> <phrase role="keyword">double</phrase><phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="special">}</phrase><phrase role="special">;</phrase></synopsis></refsynopsisdiv><refsect1><title>Description</title><para><literallayout class="monospaced"><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.17.3-bb"/><phrase role="keyword">operator</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase><phrase role="special">(</phrase><phrase role="keyword">long</phrase> <phrase role="keyword">double</phrase> val<phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml
|
||||
list-presentation="table"
|
||||
?><varlistentry><term>Returns:</term><listitem><para>Unspecified in TR1, except that equal arguments yield the same result.</para><para><link linkend="boost.hash_value">hash_value</link>(val) in Boost.</para></listitem></varlistentry><varlistentry><term>Throws:</term><listitem><para>Doesn't throw</para></listitem></varlistentry></variablelist></refsect1></refentry><refentry xmlns:xi="http://www.w3.org/2001/XInclude" id="boost.hash_std_strin_id-1.2.2.18"><refmeta><refentrytitle>Struct hash<std::string></refentrytitle><manvolnum>3</manvolnum></refmeta><refnamediv><refname>boost::hash<std::string></refname><refpurpose/></refnamediv><refsynopsisdiv><synopsis><phrase role="comment">// In header: <<link linkend="header.boost.functional.hash_hpp">boost/functional/hash.hpp</link>>
|
||||
|
||||
</phrase>
|
||||
<phrase role="keyword">struct</phrase> <link linkend="boost.hash_std_strin_id-1.2.2.18">hash</link><phrase role="special"><</phrase><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">string</phrase><phrase role="special">></phrase> <phrase role="special">{</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.18.3-bb"><phrase role="keyword">operator</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase></link><phrase role="special">(</phrase><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">string</phrase> <phrase role="keyword">const</phrase><phrase role="special">&</phrase><phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="special">}</phrase><phrase role="special">;</phrase></synopsis></refsynopsisdiv><refsect1><title>Description</title><para><literallayout class="monospaced"><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.18.3-bb"/><phrase role="keyword">operator</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase><phrase role="special">(</phrase><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">string</phrase> <phrase role="keyword">const</phrase><phrase role="special">&</phrase> val<phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml
|
||||
list-presentation="table"
|
||||
?><varlistentry><term>Returns:</term><listitem><para>Unspecified in TR1, except that equal arguments yield the same result.</para><para><link linkend="boost.hash_value">hash_value</link>(val) in Boost.</para></listitem></varlistentry><varlistentry><term>Throws:</term><listitem><para>Doesn't throw</para></listitem></varlistentry></variablelist></refsect1></refentry><refentry xmlns:xi="http://www.w3.org/2001/XInclude" id="boost.hash_std_wstri_id-1.2.2.19"><refmeta><refentrytitle>Struct hash<std::wstring></refentrytitle><manvolnum>3</manvolnum></refmeta><refnamediv><refname>boost::hash<std::wstring></refname><refpurpose/></refnamediv><refsynopsisdiv><synopsis><phrase role="comment">// In header: <<link linkend="header.boost.functional.hash_hpp">boost/functional/hash.hpp</link>>
|
||||
|
||||
</phrase>
|
||||
<phrase role="keyword">struct</phrase> <link linkend="boost.hash_std_wstri_id-1.2.2.19">hash</link><phrase role="special"><</phrase><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">wstring</phrase><phrase role="special">></phrase> <phrase role="special">{</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.19.3-bb"><phrase role="keyword">operator</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase></link><phrase role="special">(</phrase><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">wstring</phrase> <phrase role="keyword">const</phrase><phrase role="special">&</phrase><phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="special">}</phrase><phrase role="special">;</phrase></synopsis></refsynopsisdiv><refsect1><title>Description</title><para><literallayout class="monospaced"><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.19.3-bb"/><phrase role="keyword">operator</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase><phrase role="special">(</phrase><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">wstring</phrase> <phrase role="keyword">const</phrase><phrase role="special">&</phrase> val<phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml
|
||||
list-presentation="table"
|
||||
?><varlistentry><term>Returns:</term><listitem><para>Unspecified in TR1, except that equal arguments yield the same result.</para><para><link linkend="boost.hash_value">hash_value</link>(val) in Boost.</para></listitem></varlistentry><varlistentry><term>Throws:</term><listitem><para>Doesn't throw</para></listitem></varlistentry></variablelist></refsect1></refentry><refentry xmlns:xi="http://www.w3.org/2001/XInclude" id="boost.hash_T_id-1.2.2.20"><refmeta><refentrytitle>Struct template hash<T*></refentrytitle><manvolnum>3</manvolnum></refmeta><refnamediv><refname>boost::hash<T*></refname><refpurpose/></refnamediv><refsynopsisdiv><synopsis><phrase role="comment">// In header: <<link linkend="header.boost.functional.hash_hpp">boost/functional/hash.hpp</link>>
|
||||
|
||||
</phrase><phrase role="keyword">template</phrase><phrase role="special"><</phrase><phrase role="keyword">typename</phrase> T<phrase role="special">></phrase>
|
||||
<phrase role="keyword">struct</phrase> <link linkend="boost.hash_T_id-1.2.2.20">hash</link><phrase role="special"><</phrase><phrase role="identifier">T</phrase><phrase role="special">*</phrase><phrase role="special">></phrase> <phrase role="special">{</phrase>
|
||||
<phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <link linkend="id-1.2.2.20.3-bb"><phrase role="keyword">operator</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase></link><phrase role="special">(</phrase><phrase role="identifier">T</phrase><phrase role="special">*</phrase><phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="special">}</phrase><phrase role="special">;</phrase></synopsis></refsynopsisdiv><refsect1><title>Description</title><para><literallayout class="monospaced"><phrase role="identifier">std</phrase><phrase role="special">::</phrase><phrase role="identifier">size_t</phrase> <anchor id="id-1.2.2.20.3-bb"/><phrase role="keyword">operator</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase><phrase role="special">(</phrase><phrase role="identifier">T</phrase><phrase role="special">*</phrase> val<phrase role="special">)</phrase> <phrase role="keyword">const</phrase><phrase role="special">;</phrase></literallayout></para><variablelist spacing="compact"><?dbhtml
|
||||
list-presentation="table"
|
||||
?><varlistentry><term>Returns:</term><listitem><para>Unspecified in TR1, except that equal arguments yield the same result.</para></listitem></varlistentry><varlistentry><term>Throws:</term><listitem><para>Doesn't throw</para></listitem></varlistentry></variablelist></refsect1></refentry>
|
||||
</section>
|
||||
</section>
|
1508
test/more/tests/libs/unordered-ref.gold2
Normal file
1508
test/more/tests/libs/unordered-ref.gold2
Normal file
File diff suppressed because it is too large
Load Diff
5
test/more/tests/misc/processing.gold2
Normal file
5
test/more/tests/misc/processing.gold2
Normal file
@ -0,0 +1,5 @@
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
||||
<book xmlns:xi="http://www.w3.org/2001/XInclude" id="test" lang="en">
|
||||
<title>Test processing instructions</title>
|
||||
<para><?dbtimestamp format="Y-m-d H:M:S"?></para>
|
||||
</book>
|
26
test/more/tests/ref/methodname.gold2
Normal file
26
test/more/tests/ref/methodname.gold2
Normal file
@ -0,0 +1,26 @@
|
||||
<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
||||
<chapter id="method">
|
||||
<title>Methodname Test</title>
|
||||
<section id="links">
|
||||
<para>
|
||||
<computeroutput xmlns:xi="http://www.w3.org/2001/XInclude"><link linkend="id-1.3.1.1.1.1-bb">thing::foo::bar</link></computeroutput>,
|
||||
<computeroutput xmlns:xi="http://www.w3.org/2001/XInclude"><link linkend="id-1.3.1.1.1.1-bb">thing::foo::bar(int x)</link></computeroutput>,
|
||||
<computeroutput xmlns:xi="http://www.w3.org/2001/XInclude"><link linkend="id-1.3.1.1.1.2-bb">thing::foo::operator()</link></computeroutput>,
|
||||
<computeroutput xmlns:xi="http://www.w3.org/2001/XInclude"><link linkend="id-1.3.1.1.1.2-bb">thing::foo::operator()(int x)</link></computeroutput>.
|
||||
</para>
|
||||
</section>
|
||||
<section id="method.reference"><title>Reference</title>
|
||||
<section id="header.boost.unordered_set_hpp"><title>Header <<ulink url="../../boost/unordered_set.hpp">boost/unordered_set.hpp</ulink>></title><synopsis xmlns:xi="http://www.w3.org/2001/XInclude"><phrase role="keyword">namespace</phrase> <phrase role="identifier">thing</phrase> <phrase role="special">{</phrase>
|
||||
<phrase role="keyword">class</phrase> <link linkend="thing.foo">foo</link><phrase role="special">;</phrase>
|
||||
<phrase role="special">}</phrase></synopsis>
|
||||
<refentry xmlns:xi="http://www.w3.org/2001/XInclude" id="thing.foo"><refmeta><refentrytitle>Class foo</refentrytitle><manvolnum>3</manvolnum></refmeta><refnamediv><refname>thing::foo</refname><refpurpose/></refnamediv><refsynopsisdiv><synopsis><phrase role="comment">// In header: <<link linkend="header.boost.unordered_set_hpp">boost/unordered_set.hpp</link>>
|
||||
|
||||
</phrase>
|
||||
<phrase role="keyword">class</phrase> <link linkend="thing.foo">foo</link> <phrase role="special">{</phrase>
|
||||
<phrase role="keyword">public</phrase><phrase role="special">:</phrase>
|
||||
<phrase role="keyword">void</phrase> <link linkend="id-1.3.1.1.1.1-bb"><phrase role="identifier">bar</phrase></link><phrase role="special">(</phrase><phrase role="keyword">int</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="keyword">void</phrase> <link linkend="id-1.3.1.1.1.2-bb"><phrase role="keyword">operator</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase></link><phrase role="special">(</phrase><phrase role="keyword">int</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase>
|
||||
<phrase role="special">}</phrase><phrase role="special">;</phrase></synopsis></refsynopsisdiv><refsect1><title>Description</title><para><literallayout class="monospaced"><phrase role="keyword">void</phrase> <anchor id="id-1.3.1.1.1.1-bb"/><phrase role="identifier">bar</phrase><phrase role="special">(</phrase><phrase role="keyword">int</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase></literallayout></para><para><literallayout class="monospaced"><phrase role="keyword">void</phrase> <anchor id="id-1.3.1.1.1.2-bb"/><phrase role="keyword">operator</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase><phrase role="special">(</phrase><phrase role="keyword">int</phrase><phrase role="special">)</phrase><phrase role="special">;</phrase></literallayout></para></refsect1></refentry>
|
||||
</section>
|
||||
</section>
|
||||
</chapter>
|
26
test/more/tests/syntax-highlight/comments.gold2
Normal file
26
test/more/tests/syntax-highlight/comments.gold2
Normal file
@ -0,0 +1,26 @@
|
||||
<!DOCTYPE section PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
||||
<section id="header.example_hpp"><title>Header <<ulink url="../../example.hpp">example.hpp</ulink>></title><para>
|
||||
Fake reference documentation, so that the syntax highlighter will kick in.
|
||||
</para><synopsis xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
|
||||
<link linkend="foo">foo</link></synopsis>
|
||||
|
||||
|
||||
<refentry xmlns:xi="http://www.w3.org/2001/XInclude" id="foo"><refmeta><refentrytitle>Macro foo</refentrytitle><manvolnum>3</manvolnum></refmeta><refnamediv><refname>foo</refname><refpurpose/></refnamediv><refsynopsisdiv><synopsis><phrase role="comment">// In header: <<link linkend="header.example_hpp">example.hpp</link>>
|
||||
|
||||
</phrase>foo</synopsis></refsynopsisdiv><refsect1><title>Description</title>
|
||||
<programlisting><phrase role="comment">/* C style comment */</phrase></programlisting>
|
||||
<programlisting><phrase role="comment">/* Broken C style comment</phrase></programlisting>
|
||||
<programlisting>
|
||||
<phrase role="comment">/* Multi-line
|
||||
*comment
|
||||
*/</phrase></programlisting>
|
||||
<programlisting><phrase role="comment">/*/ Tricky comment */</phrase></programlisting>
|
||||
<programlisting><phrase role="comment">/**/</phrase></programlisting>
|
||||
<programlisting><phrase role="comment">/***/</phrase></programlisting>
|
||||
<programlisting><phrase role="comment">// Single line comment</phrase></programlisting>
|
||||
<programlisting><phrase role="comment">// Single line comment</phrase>
|
||||
</programlisting>
|
||||
</refsect1></refentry>
|
||||
|
||||
</section>
|
13
test/more/tests/syntax-highlight/language-attribute.gold2
Normal file
13
test/more/tests/syntax-highlight/language-attribute.gold2
Normal file
@ -0,0 +1,13 @@
|
||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
|
||||
<book xmlns:xi="http://www.w3.org/2001/XInclude" id="test" lang="en">
|
||||
<title>Test language attribute</title>
|
||||
<programlisting>plain text</programlisting>
|
||||
<programlisting><phrase role="keyword">void</phrase> <phrase role="identifier">main</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase> <phrase role="special">{</phrase><phrase role="special">}</phrase></programlisting>
|
||||
<programlisting><phrase role="keyword">actions</phrase> something <phrase role="special">;</phrase></programlisting>
|
||||
|
||||
<para>
|
||||
<computeroutput>plain text</computeroutput>
|
||||
<computeroutput><phrase role="keyword">void</phrase> <phrase role="identifier">main</phrase><phrase role="special">(</phrase><phrase role="special">)</phrase> <phrase role="special">{</phrase><phrase role="special">}</phrase></computeroutput>
|
||||
<computeroutput><phrase role="keyword">actions</phrase> something <phrase role="special">;</phrase></computeroutput>
|
||||
</para>
|
||||
</book>
|
Loading…
x
Reference in New Issue
Block a user