ff01014782
[SVN r53569]
103 lines
4.2 KiB
XML
103 lines
4.2 KiB
XML
<?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/optional_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="optional_last_value">
|
|
<template>
|
|
<template-type-parameter name="T"/>
|
|
</template>
|
|
|
|
<purpose>Evaluate an <conceptname>InputIterator</conceptname> sequence and return
|
|
a boost::optional which contains the last value in the sequence, or an
|
|
empty <classname>boost::optional</classname> if the sequence was empty.</purpose>
|
|
<description>
|
|
<para>
|
|
<code>optional_last_value</code> is the default Combiner template type for signals in the
|
|
Boost.Signals2 library. The advantage of <code>optional_last_value</code> over
|
|
<classname>signals2::last_value</classname> is that <code>optional_last_value</code>
|
|
can return an empty <classname>boost::optional</classname>. rather
|
|
than throwing an exception, when
|
|
its <code>InputIterator</code> sequence is empty.
|
|
</para>
|
|
</description>
|
|
|
|
<typedef name="result_type"><type><classname>boost::optional</classname><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, wrapped in a <classname>boost::optional</classname>.
|
|
The returned <code>optional</code> will be empty if no iterators were dereferenced.
|
|
</para>
|
|
</returns>
|
|
<throws><para>Does not throw.</para></throws>
|
|
</method>
|
|
</method-group>
|
|
</class>
|
|
|
|
<class-specialization name="optional_last_value">
|
|
<template/>
|
|
<specialization>
|
|
<template-arg>void</template-arg>
|
|
</specialization>
|
|
|
|
<purpose>Evaluate an InputIterator sequence.</purpose>
|
|
<description>
|
|
<para>This specialization of <classname>signals2::optional_last_value</classname> is provided
|
|
to cope with the fact that there is no such thing as an
|
|
<code><classname>optional</classname><void></code>, which
|
|
<classname>optional_last_value</classname> would otherwise try to
|
|
use as its <code>result_type</code>. This specialization
|
|
instead sets the <code>result_type</code> to be <code>void</code>.
|
|
</para>
|
|
</description>
|
|
|
|
<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>
|
|
</method>
|
|
</method-group>
|
|
</class-specialization>
|
|
</namespace>
|
|
</namespace>
|
|
</header>
|