]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
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> |