]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/signals2/doc/reference/last_value.xml
bump version to 12.2.2-pve1
[ceph.git] / ceph / src / boost / libs / signals2 / doc / reference / last_value.xml
1 <?xml version="1.0" encoding="utf-8"?>
2 <!DOCTYPE header PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
3 "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
4 <!--
5 Copyright Douglas Gregor 2001-2004
6 Copyright Frank Mori Hess 2007-2009
7
8 Distributed under the Boost Software License, Version 1.0. (See accompanying
9 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
10 -->
11 <header name="boost/signals2/last_value.hpp" last-revision="$Date: 2007-03-06 16:51:55 -0500 (Tue, 06 Mar 2007) $">
12 <namespace name="boost">
13 <namespace name="signals2">
14 <class name="last_value">
15 <template>
16 <template-type-parameter name="T"/>
17 </template>
18
19 <purpose>Evaluate an <conceptname>InputIterator</conceptname> sequence and return the
20 last value in the sequence.</purpose>
21
22 <description>
23 <para>
24 The <code>last_value</code> class was the default <code>Combiner</code> template parameter
25 type for signals in the original Signals library.
26 Signals2 uses <classname>optional_last_value</classname> as the default, which
27 does not throw.
28 </para>
29 </description>
30
31 <typedef name="result_type"><type>T</type></typedef>
32
33 <method-group name="invocation">
34 <method name="operator()" cv="const">
35 <template>
36 <template-type-parameter name="InputIterator"/>
37 </template>
38 <type>result_type</type>
39 <parameter name="first">
40 <paramtype>InputIterator</paramtype>
41 </parameter>
42 <parameter name="last">
43 <paramtype>InputIterator</paramtype>
44 </parameter>
45
46 <effects><para>Attempts to dereference every iterator in the sequence <computeroutput>[first, last)</computeroutput>.
47 </para></effects>
48 <returns><para>The result of the last successful iterator dereference.</para></returns>
49 <throws><para><classname>no_slots_error</classname> if no iterators were successfully dereferenced,
50 unless the template type of <code>last_value</code> is <code>void</code>.</para></throws>
51 </method>
52 </method-group>
53 </class>
54
55 <class-specialization name="last_value">
56 <template/>
57 <specialization>
58 <template-arg>void</template-arg>
59 </specialization>
60
61 <purpose>Evaluate an InputIterator sequence.</purpose>
62
63 <typedef name="result_type">
64 <type>void</type>
65 </typedef>
66
67 <method-group name="invocation">
68 <method name="operator()" cv="const">
69 <template>
70 <template-type-parameter name="InputIterator"/>
71 </template>
72 <type>result_type</type>
73 <parameter name="first">
74 <paramtype>InputIterator</paramtype>
75 </parameter>
76 <parameter name="last">
77 <paramtype>InputIterator</paramtype>
78 </parameter>
79
80 <effects><para>Attempts to dereference every iterator in the sequence <computeroutput>[first, last)</computeroutput>.
81 </para></effects>
82 <throws>
83 <para>Unlike the non-void versions of <code>last_value</code>, the void specialization does not throw.</para>
84 </throws>
85 </method>
86 </method-group>
87 </class-specialization>
88
89 <class name="no_slots_error">
90 <inherit access="public"><classname>std::exception</classname></inherit>
91 <purpose>Indicates a combiner was unable to synthesize a return value.</purpose>
92 <description>The <code>no_slots_error</code> exception may be thrown by <classname>signals2::last_value</classname>
93 when it is run but unable to obtain any results from its input iterators.
94 </description>
95 <method name="what" cv="const" specifiers="virtual">
96 <type>const char * </type>
97 </method>
98 </class>
99 </namespace>
100 </namespace>
101 </header>