|
Boost-Commit : |
Subject: [Boost-commit] svn:boost r84787 - trunk/libs/function/doc
From: antoshkka_at_[hidden]
Date: 2013-06-15 02:59:30
Author: apolukhin
Date: 2013-06-15 02:59:30 EDT (Sat, 15 Jun 2013)
New Revision: 84787
URL: http://svn.boost.org/trac/boost/changeset/84787
Log:
Update documentation of Boost.Function and add info about rvalues (refs #8505)
Text files modified:
trunk/libs/function/doc/history.xml | 9 ++++++
trunk/libs/function/doc/reference.xml | 58 ++++++++++++++++++++++++++++++++++++++-
2 files changed, 65 insertions(+), 2 deletions(-)
Modified: trunk/libs/function/doc/history.xml
==============================================================================
--- trunk/libs/function/doc/history.xml Fri Jun 14 19:48:12 2013 (r84786)
+++ trunk/libs/function/doc/history.xml 2013-06-15 02:59:30 EDT (Sat, 15 Jun 2013) (r84787)
@@ -13,6 +13,15 @@
<itemizedlist spacing="compact">
+ <listitem><para><bold>Version 1.52.0</bold>: </para>
+ <itemizedlist spacing="compact">
+ <listitem><para>Move constructors and move assignment
+ operators added (only for compilers with C++11 rvalue
+ references support). Original patch
+ contributed by Antony Polukhin.</para></listitem>
+ </itemizedlist>
+ </listitem>
+
<listitem><para><bold>Version 1.37.0</bold>: </para>
<itemizedlist spacing="compact">
<listitem><para>Improved the performance of Boost.Function's
Modified: trunk/libs/function/doc/reference.xml
==============================================================================
--- trunk/libs/function/doc/reference.xml Fri Jun 14 19:48:12 2013 (r84786)
+++ trunk/libs/function/doc/reference.xml 2013-06-15 02:59:30 EDT (Sat, 15 Jun 2013) (r84787)
@@ -204,6 +204,15 @@
</constructor>
<constructor>
+ <parameter name="f">
+ <paramtype><classname>functionN</classname>&&</paramtype>
+ </parameter>
+ <requires><simpara>C++11 compatible compiler.</simpara></requires>
+ <postconditions><simpara>Moves the value from <code>f</code> to <code>*this</code>. If the argument has its function object allocated on the heap, its buffer will be assigned to <code>*this</code> leaving argument empty.</simpara></postconditions>
+ <throws><simpara>Will not throw unless argument has its function object allocated not on the heap and copying the target of <code>f</code> throws.</simpara></throws>
+ </constructor>
+
+ <constructor>
<template>
<template-type-parameter name="F"/>
</template>
@@ -236,6 +245,15 @@
</parameter>
<postconditions><simpara>If copy construction does not throw, <code>*this</code> targets a copy of <code>f</code>'s target, if it has one, or is empty if <code>f.<methodname>empty</methodname>()</code>. If copy construction does throw, <code>this-><methodname>empty</methodname>()</code>.</simpara></postconditions>
</copy-assignment>
+
+ <copy-assignment>
+ <parameter name="f">
+ <paramtype><classname>functionN</classname>&&</paramtype>
+ </parameter>
+ <requires><simpara>C++11 compatible compiler.</simpara></requires>
+ <postconditions><simpara>Moves the value from <code>f</code> to <code>*this</code>. If the argument has its function object allocated on the heap, its buffer will be assigned to <code>*this</code> leaving argument empty.</simpara></postconditions>
+ <throws><simpara>Will not throw unless argument has its function object allocated not on the heap and copying the target of <code>f</code> throws.</simpara></throws>
+ </copy-assignment>
<method-group name="modifiers">
<method name="swap">
@@ -607,7 +625,16 @@
<postconditions><simpara>Contains a copy of the <code>f</code>'s target, if it has one, or is empty if <code>f.<methodname>empty</methodname>()</code>.</simpara></postconditions>
<throws><simpara>Will not throw unless copying the target of <code>f</code> throws.</simpara></throws>
</constructor>
-
+
+ <constructor>
+ <parameter name="f">
+ <paramtype><classname>functionN</classname>&&</paramtype>
+ </parameter>
+ <requires><simpara>C++11 compatible compiler.</simpara></requires>
+ <postconditions><simpara>Moves the value from <code>f</code> to <code>*this</code>. If the argument has its function object allocated on the heap, its buffer will be assigned to <code>*this</code> leaving argument empty.</simpara></postconditions>
+ <throws><simpara>Will not throw unless argument has its function object allocated not on the heap and copying the target of <code>f</code> throws.</simpara></throws>
+ </constructor>
+
<constructor>
<parameter name="f">
<paramtype>const <classname>function</classname>&</paramtype>
@@ -617,6 +644,15 @@
</constructor>
<constructor>
+ <parameter name="f">
+ <paramtype><classname>function</classname>&&</paramtype>
+ </parameter>
+ <requires><simpara>C++11 compatible compiler.</simpara></requires>
+ <postconditions><simpara>Moves the value from <code>f</code> to <code>*this</code>. If the argument has its function object allocated on the heap, its buffer will be assigned to <code>*this</code> leaving argument empty.</simpara></postconditions>
+ <throws><simpara>Will not throw unless argument has its function object allocated not on the heap and copying the target of <code>f</code> throws.</simpara></throws>
+ </constructor>
+
+ <constructor>
<template>
<template-type-parameter name="F"/>
</template>
@@ -645,10 +681,19 @@
<copy-assignment>
<parameter name="f">
- <paramtype>const <classname>function</classname>&</paramtype>
+ <paramtype>const <classname>functionN</classname>&</paramtype>
</parameter>
<postconditions><simpara>If copy construction does not throw, <code>*this</code> targets a copy of <code>f</code>'s target, if it has one, or is empty if <code>f.<methodname>empty</methodname>()</code>. If copy construction does throw, <code>this-><methodname>empty</methodname>()</code>.</simpara></postconditions>
</copy-assignment>
+
+ <copy-assignment>
+ <parameter name="f">
+ <paramtype><classname>functionN</classname>&&</paramtype>
+ </parameter>
+ <requires><simpara>C++11 compatible compiler.</simpara></requires>
+ <postconditions><simpara>Moves the value from <code>f</code> to <code>*this</code>. If the argument has its function object allocated on the heap, its buffer will be assigned to <code>*this</code> leaving argument empty.</simpara></postconditions>
+ <throws><simpara>Will not throw unless argument has its function object allocated not on the heap and copying the target of <code>f</code> throws.</simpara></throws>
+ </copy-assignment>
<copy-assignment>
<parameter name="f">
@@ -657,6 +702,15 @@
<postconditions><simpara>If copy construction of the target of <code>f</code> does not throw, <code>*this</code> targets a copy of <code>f</code>'s target, if it has one, or is empty if <code>f.<methodname>empty</methodname>()</code>. </simpara></postconditions>
<throws><simpara>Will not throw when the target of <code>f</code> is a stateless function object or a reference to the function object. If copy construction does throw, <code>this-><methodname>empty</methodname>()</code>.</simpara></throws>
</copy-assignment>
+
+ <copy-assignment>
+ <parameter name="f">
+ <paramtype><classname>function</classname>&&</paramtype>
+ </parameter>
+ <requires><simpara>C++11 compatible compiler.</simpara></requires>
+ <postconditions><simpara>Moves the value from <code>f</code> to <code>*this</code>. If the argument has its function object allocated on the heap, its buffer will be assigned to <code>*this</code> leaving argument empty.</simpara></postconditions>
+ <throws><simpara>Will not throw unless argument has its function object allocated not on the heap and copying the target of <code>f</code> throws.</simpara></throws>
+ </copy-assignment>
<method-group name="modifiers">
<method name="swap">
Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk