mirror of
https://github.com/boostorg/function.git
synced 2026-01-28 07:12:11 +00:00
https://svn.boost.org/svn/boost/trunk ................ r43810 | eric_niebler | 2008-03-23 14:51:40 -0700 (Sun, 23 Mar 2008) | 1 line mark up new foreach tests ................ r43823 | fmhess | 2008-03-24 08:07:00 -0700 (Mon, 24 Mar 2008) | 3 lines Fixed compile error with new enable_shared_from_this code, reported by Tim Blechmann ................ r43825 | ramey | 2008-03-24 08:46:09 -0700 (Mon, 24 Mar 2008) | 1 line removed EXIT_SUCCESS ................ r43826 | ramey | 2008-03-24 08:46:43 -0700 (Mon, 24 Mar 2008) | 1 line fixed minor typo ................ r43829 | pdimov | 2008-03-24 09:00:28 -0700 (Mon, 24 Mar 2008) | 1 line New enable_shared_from_this tests, fix. ................ r43838 | danieljames | 2008-03-24 10:03:15 -0700 (Mon, 24 Mar 2008) | 12 lines Merge new changes to unordered & hash. - Unordered tests can run lightweight test or Boost.Test (at least theoretically). - Workaround Open BSD's incorrect numeric_limits. - Move the hash extensions in their own file. - Various small improvements to the unordered docs. - Fix some unordered examples. Merged revisions 43117-43837 via svnmerge from https://svn.boost.org/svn/boost/branches/unordered/trunk ................ r43845 | dave | 2008-03-24 11:27:22 -0700 (Mon, 24 Mar 2008) | 1 line Work around vc9 bugs ................ r43847 | anthonyw | 2008-03-24 14:44:36 -0700 (Mon, 24 Mar 2008) | 1 line removed forward declaration for undefined type exclusive_lock ................ r43852 | hkaiser | 2008-03-25 06:40:53 -0700 (Tue, 25 Mar 2008) | 1 line Wave: Removed an assertion causing compilation problems on certain platforms. ................ r43856 | pdimov | 2008-03-25 08:46:40 -0700 (Tue, 25 Mar 2008) | 1 line _internal_accept_owner now checks if _owned isn't already true. ................ r43861 | dave | 2008-03-25 13:47:38 -0700 (Tue, 25 Mar 2008) | 2 lines Work around intel-10.0-win compiler bug ................ r43864 | dave | 2008-03-25 15:28:59 -0700 (Tue, 25 Mar 2008) | 2 lines Account for intel 10.x compiler bug ................ r43865 | dave | 2008-03-25 16:06:50 -0700 (Tue, 25 Mar 2008) | 2 lines Work around intel-win-10.0 preprocessor bug ................ r43866 | danieljames | 2008-03-26 02:10:29 -0700 (Wed, 26 Mar 2008) | 3 lines Boost.Thread's documentation no longer has a build section - so just link to the library's documentation like we do for other libraries. ................ r43867 | bemandawes | 2008-03-26 08:59:52 -0700 (Wed, 26 Mar 2008) | 1 line Initial commit ................ r43873 | pdimov | 2008-03-26 11:34:29 -0700 (Wed, 26 Mar 2008) | 1 line Added "Throws: nothing" to get_deleter. ................ r43875 | bemandawes | 2008-03-26 14:26:55 -0700 (Wed, 26 Mar 2008) | 1 line Initial commit ................ r43876 | danieljames | 2008-03-26 22:49:45 -0700 (Wed, 26 Mar 2008) | 2 lines Update the thread links in the generated getting started documentation. ................ r43879 | chris_kohlhoff | 2008-03-27 07:18:07 -0700 (Thu, 27 Mar 2008) | 3 lines Fix double-free error that occurs when an exception is thrown from a handler that has been dispatched (i.e. not posted) through a strand. ................ r43880 | ramey | 2008-03-27 08:53:37 -0700 (Thu, 27 Mar 2008) | 1 line removed suppression of builds for certain platforms with shared libraries ................ r43882 | ramey | 2008-03-27 10:11:23 -0700 (Thu, 27 Mar 2008) | 1 line tweaks to sneak past PGI compiler error message ................ r43883 | ramey | 2008-03-27 10:12:22 -0700 (Thu, 27 Mar 2008) | 1 line added test to check warnings on type trait ................ r43884 | dgregor | 2008-03-27 12:44:37 -0700 (Thu, 27 Mar 2008) | 1 line Change Boost.Function allocator behavior, from Emil Dotchevski ................ r43887 | pdimov | 2008-03-27 15:13:55 -0700 (Thu, 27 Mar 2008) | 1 line Silence unused parameter warning. ................ r43888 | pdimov | 2008-03-27 15:20:11 -0700 (Thu, 27 Mar 2008) | 1 line detail::yield(k) added. ................ r43895 | danieljames | 2008-03-27 16:38:01 -0700 (Thu, 27 Mar 2008) | 25 lines Merged revisions 43838-43894 via svnmerge from https://svn.boost.org/svn/boost/branches/unordered/trunk ........ r43840 | danieljames | 2008-03-24 17:25:07 +0000 (Mon, 24 Mar 2008) | 1 line Fix a g++ warning. ........ r43844 | danieljames | 2008-03-24 17:56:28 +0000 (Mon, 24 Mar 2008) | 1 line It's a new-ish year. ........ r43885 | danieljames | 2008-03-27 20:36:10 +0000 (Thu, 27 Mar 2008) | 1 line The release script doesn't need to copy images and css - because that's now done in the jamfiles. Also tweak the shell script a tad bit. ........ r43890 | danieljames | 2008-03-27 23:01:40 +0000 (Thu, 27 Mar 2008) | 1 line Starting to add a docbook bibliography. ........ r43894 | danieljames | 2008-03-27 23:24:18 +0000 (Thu, 27 Mar 2008) | 1 line Redeclare 'data' in iterator_base to help compilers which have trouble with accessing the nested typedef. ........ ................ r43900 | noel_belcourt | 2008-03-27 19:10:04 -0700 (Thu, 27 Mar 2008) | 4 lines Fix address-model support for 32/64 bit code generation. Replaced -mcmodel with -m32 / -m64. ................ r43901 | bemandawes | 2008-03-27 19:11:13 -0700 (Thu, 27 Mar 2008) | 1 line Remove per email from Dave ................ r43906 | eric_niebler | 2008-03-27 23:10:55 -0700 (Thu, 27 Mar 2008) | 1 line proto support for BOOST_PROTO_MAX_FUNCTION_CALL_ARITY ................ [SVN r43910]
118 lines
5.8 KiB
XML
118 lines
5.8 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!--
|
|
Copyright (c) 2002 Douglas Gregor <doug.gregor -at- gmail.com>
|
|
|
|
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)
|
|
-->
|
|
<!DOCTYPE library PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"
|
|
"http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">
|
|
<section id="function.history" last-revision="$Date$">
|
|
<title>History & Compatibility Notes</title>
|
|
|
|
<itemizedlist spacing="compact">
|
|
|
|
<listitem><para><bold>Version 1.36.0</bold>: </para>
|
|
<itemizedlist spacing="compact">
|
|
<listitem><para>Boost.Function now implements allocator support
|
|
in the same way that is is provided in C++0x, based on C++
|
|
committee
|
|
proposal <ulink url="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2308.html">N2308</ulink>. This
|
|
change removes the <computeroutput>Allocator</computeroutput>
|
|
template parameter of <classname>boost::function</classname> in
|
|
favor of a constructor that takes an argument. While this is a
|
|
backward-incompatible change, it is likely to affect only a few
|
|
users. This change to Function was contributed by Emil
|
|
Dotchevski, which also authored the corresponding C++ committee
|
|
proposal.</para></listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
|
|
<listitem><para><bold>Version 1.34.0</bold>: </para>
|
|
<itemizedlist spacing="compact">
|
|
<listitem><para>Boost.Function now implements a small buffer optimization, which can drastically improve the performance when copying or construction Boost.Function objects storing small function objects. For instance, <code>bind(&X:foo, &x, _1, _2)</code> requires no heap allocation when placed into a Boost.Function object. Note that some exception-safety guarantees have changed: assignment provides the basic exception guarantee and <code>swap()</code> may throw.</para></listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
|
|
<listitem><para><bold>Version 1.30.0</bold>: </para>
|
|
<itemizedlist spacing="compact">
|
|
<listitem><para>All features deprecated in version 1.29.0 have
|
|
been removed from Boost.Function.</para></listitem>
|
|
|
|
<listitem><para><code><classname>boost::function</classname></code>
|
|
and <code><classname>boost::functionN</classname></code> objects
|
|
can be assigned to 0 (semantically equivalent to calling
|
|
<code><methodname
|
|
alt="boost::function::clear">clear</methodname>()</code>) and
|
|
compared against 0 (semantically equivalent to calling
|
|
<code><methodname
|
|
alt="boost::function::empty">empty</methodname>()</code>).</para></listitem>
|
|
|
|
<listitem><para>The Boost.Function code is now generated
|
|
entirely by the <libraryname>Preprocessor</libraryname> library,
|
|
so it is now possible to generate
|
|
<code><classname>boost::function</classname></code> and
|
|
<code><classname>boost::functionN</classname></code> class
|
|
templates for any number of arguments.</para></listitem>
|
|
|
|
<listitem><para>The
|
|
<classname>boost::bad_function_call</classname> exception class
|
|
was introduced.</para></listitem>
|
|
</itemizedlist>
|
|
</listitem>
|
|
|
|
<listitem><para><bold>Version 1.29.0</bold>:
|
|
Boost.Function has been partially redesigned to minimize the
|
|
interface and make it cleaner. Several seldom- or never-used
|
|
features of the older Boost.Function have been deprecated and will
|
|
be removed in the near future. Here is a list of features that have
|
|
been deprecated, the likely impact of the deprecations, and how to
|
|
adjust your code:
|
|
|
|
<itemizedlist spacing="compact">
|
|
<listitem><para>The <computeroutput>boost::function</computeroutput> class template syntax has
|
|
changed. The old syntax, e.g., <computeroutput>boost::function<int, float,
|
|
double, std::string></computeroutput>, has been changed to a more natural
|
|
syntax <computeroutput>boost::function<int (float, double,
|
|
std::string)></computeroutput>, where all return and argument types are
|
|
encoded in a single function type parameter. Any other template
|
|
parameters (e.g., the <computeroutput>Allocator</computeroutput>) follow this single
|
|
parameter.</para>
|
|
|
|
<para> The resolution to this change depends on the
|
|
abilities of your compiler: if your compiler supports template
|
|
partial specialization and can parse function types (most do), modify
|
|
your code to use the newer
|
|
syntax (preferable) or directly use one of the
|
|
<computeroutput>functionN</computeroutput> classes whose syntax has not
|
|
changed. If your compiler does not support template partial
|
|
specialization or function types, you must take the latter option and
|
|
use the numbered Boost.Function classes. This option merely requires
|
|
changing types such as <computeroutput>boost::function<void, int, int></computeroutput>
|
|
to <computeroutput>boost::function2<void, int, int></computeroutput> (adding the number of
|
|
function arguments to the end of the class name).</para>
|
|
|
|
<para> Support for the old syntax with the
|
|
<computeroutput>boost::function</computeroutput> class template will persist for a short
|
|
while, but will eventually be removed so that we can provide better
|
|
error messages and link compatibility. </para></listitem>
|
|
|
|
<listitem><para>The invocation
|
|
policy template parameter (<computeroutput>Policy</computeroutput>) has been deprecated
|
|
and will be removed. There is no direct equivalent to this rarely
|
|
used feature.</para></listitem>
|
|
|
|
<listitem><para>The mixin template parameter
|
|
(<computeroutput>Mixin</computeroutput>) has been deprecated and will be removed. There
|
|
is not direct equivalent to this rarely used feature.</para></listitem>
|
|
|
|
<listitem><para>The
|
|
<computeroutput>set</computeroutput> methods have been deprecated and will be
|
|
removed. Use the assignment operator instead.</para></listitem>
|
|
</itemizedlist>
|
|
</para>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</section>
|