| <?xml version="1.0" encoding="utf-8"?> |
| <!DOCTYPE header PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN" |
| "http://www.boost.org/tools/boostbook/dtd/boostbook.dtd"> |
| <!-- |
| Copyright Douglas Gregor 2001-2004 |
| Copyright Frank Mori Hess 2007-2009 |
| |
| Distributed under the Boost Software License, Version 1.0. (See accompanying |
| file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) |
| --> |
| <header name="boost/signals2/last_value.hpp" last-revision="$Date: 2007-03-06 16:51:55 -0500 (Tue, 06 Mar 2007) $"> |
| <namespace name="boost"> |
| <namespace name="signals2"> |
| <class name="last_value"> |
| <template> |
| <template-type-parameter name="T"/> |
| </template> |
| |
| <purpose>Evaluate an <conceptname>InputIterator</conceptname> sequence and return the |
| last value in the sequence.</purpose> |
| |
| <description> |
| <para> |
| The <code>last_value</code> class was the default <code>Combiner</code> template parameter |
| type for signals in the original Signals library. |
| Signals2 uses <classname>optional_last_value</classname> as the default, which |
| does not throw. |
| </para> |
| </description> |
| |
| <typedef name="result_type"><type>T</type></typedef> |
| |
| <method-group name="invocation"> |
| <method name="operator()" cv="const"> |
| <template> |
| <template-type-parameter name="InputIterator"/> |
| </template> |
| <type>result_type</type> |
| <parameter name="first"> |
| <paramtype>InputIterator</paramtype> |
| </parameter> |
| <parameter name="last"> |
| <paramtype>InputIterator</paramtype> |
| </parameter> |
| |
| <effects><para>Attempts to dereference every iterator in the sequence <computeroutput>[first, last)</computeroutput>. |
| </para></effects> |
| <returns><para>The result of the last successful iterator dereference.</para></returns> |
| <throws><para><classname>no_slots_error</classname> if no iterators were successfully dereferenced, |
| unless the template type of <code>last_value</code> is <code>void</code>.</para></throws> |
| </method> |
| </method-group> |
| </class> |
| |
| <class-specialization name="last_value"> |
| <template/> |
| <specialization> |
| <template-arg>void</template-arg> |
| </specialization> |
| |
| <purpose>Evaluate an InputIterator sequence.</purpose> |
| |
| <typedef name="result_type"> |
| <type>void</type> |
| </typedef> |
| |
| <method-group name="invocation"> |
| <method name="operator()" cv="const"> |
| <template> |
| <template-type-parameter name="InputIterator"/> |
| </template> |
| <type>result_type</type> |
| <parameter name="first"> |
| <paramtype>InputIterator</paramtype> |
| </parameter> |
| <parameter name="last"> |
| <paramtype>InputIterator</paramtype> |
| </parameter> |
| |
| <effects><para>Attempts to dereference every iterator in the sequence <computeroutput>[first, last)</computeroutput>. |
| </para></effects> |
| <throws> |
| <para>Unlike the non-void versions of <code>last_value</code>, the void specialization does not throw.</para> |
| </throws> |
| </method> |
| </method-group> |
| </class-specialization> |
| |
| <class name="no_slots_error"> |
| <inherit access="public"><classname>std::exception</classname></inherit> |
| <purpose>Indicates a combiner was unable to synthesize a return value.</purpose> |
| <description>The <code>no_slots_error</code> exception may be thrown by <classname>signals2::last_value</classname> |
| when it is run but unable to obtain any results from its input iterators. |
| </description> |
| <method name="what" cv="const" specifiers="virtual"> |
| <type>const char * </type> |
| </method> |
| </class> |
| </namespace> |
| </namespace> |
| </header> |