]> git.proxmox.com Git - ceph.git/blob - ceph/src/boost/libs/phoenix/doc/what_s_new.qbk
add subtree-ish sources for 12.0.3
[ceph.git] / ceph / src / boost / libs / phoenix / doc / what_s_new.qbk
1 [/==============================================================================
2 Copyright (C) 2001-2010 Joel de Guzman
3 Copyright (C) 2001-2005 Dan Marsden
4 Copyright (C) 2001-2010 Thomas Heller
5
6 Distributed under the Boost Software License, Version 1.0. (See accompanying
7 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
8 ===============================================================================/]
9
10 [section Release Notes]
11
12 [/ These are included here and have also been submitted for the release page.]
13
14 [/* [phrase library..[@/libs/phoenix/ Phoenix]:] ]
15 * ['Version] 3.2.0
16 * ['New Features:]
17 * Phoenix now has a *lazy list* implementation as an optional extension.
18 * ['New Example:]
19 * A new example *bind_goose* shows the compatibility between *boost bind* and *boost phoenix bind*.
20 * ['Fixed Bugs:]
21 * [@http://svn.boost.org/trac/boost/ticket/10927 #10927] Missing std:: qualifier for fabs in phoenix/test/stdlib/cmath.cpp
22 * [@http://svn.boost.org/trac/boost/ticket/11085 #11085] Missing qualifier for pow call in phoenix/test/function/function_tests.cpp
23 * Fixes for a number of cases failing with *bind*, *lambda* and *let*.
24
25 [endsect]
26
27 [section What's New]
28
29 [section Phoenix - warning on *lambda and let*]
30
31 * There are a number of bugs in the implementation of *lambda* and *let* constructs in Boost Phoenix 3.0.6 (Boost release 1.57.0).
32 * These are currently being investigated and a better version for Boost 1.58.0.
33 * The constructs are not completely unusable and many of the tests run.
34 * Some usage may work with some compilers but not others.
35 * Workarounds for different compilers are being made available and can be seen in the tests where they are used.
36 * For Boost Phoenix 3.2.0 most tests now run and work is continuing to resolve the remaining problems.
37
38 [endsect]
39
40 [section Phoenix 3.2.0 (Boost 1.58.0)]
41
42 * Phoenix now has a lazy list implementation which is very similar but not identical to the implementation provided by __fcpp__.
43 * Details can be found in __phoenix_lazy_list__.
44 * Tests have been added for the new features provided.
45 * This is an addition which causes no changes to the previous public interface.
46 * Fixes for #10927 and #11085
47
48 [endsect]
49
50 [section Phoenix 3.1.1]
51
52 * This is the start of a series of changes which continue the fixing of the bugs.
53 * There are new examples and tests which show the capability of phoenix.
54 * A new example bind_goose shows the compatibility between boost bind and boost phoenix bind.
55 * New tests lazy_argument_tests, lazy_make_pair_tests, lazy_templated_struct_tests show different possible uses of boost phoenix function objects.
56
57 [endsect]
58
59 [section Phoenix 3.1.0]
60
61 This contains a series of updates to Phoenix to fix some bugs and
62 to extend the examples. Details of the changes will be found in the __changelog__
63 and the release number will be increased for each set of changes released.
64
65 * A start is being made on updating the documentation.
66 * A bug has been fixed which was causing a lot of test examples of *bind* to fail. This was particularly the case with more recent compilers which are stricter.
67 * TODO
68 There is still a lot of work to be done on fixes, documentation and examples.
69
70 [endsect]
71
72 [section Phoenix 3.0.6 (Boost 1.57.0)]
73
74 * Fixed bug in example/container_actor.cpp in end() function.
75 * Fixed bug4853 and 5626 - added header <utility> for std::forward.
76 * Fixed bug4853 - added header <iostream> for gcc 4.9 test
77
78 [endsect]
79
80 [section Phoenix 3.0.5]
81
82 * Introduction of __changelog__ and release number increments.
83 * Added BOOST_PHOENIX_VERSION_NUMBER using boost/predef style.
84 * Fixes to bugs #5714 and #5824 are particularly important as they fixed silent errors
85 in the processing of some compound expressions with commas.
86 * *This could cause output from some user codes to change unexpectedly.*
87
88 [endsect]
89
90
91 [section Phoenix 3.0]
92
93 This was the first official release of Phoenix as first class Boost citizen. As a
94 consequence of the review of Phoenix V2 the internals got completely rewritten.
95 Therefore the internal extension mechanism is different.
96
97 * composite<...>, as_composite<...> and compose are gone and have been replaced.
98 For an in depth discussion see the section [link phoenix.inside Inside Phoenix]
99 * [link phoenix.modules.function] phoenix::function now supports function objects
100 that implement the __boost_result_of__ protocol. *This is a breaking change*
101
102 [/as well as the old return type
103 deduction protocol. The same is true for [link phoenix.modules.bind Bind].]
104 * Boilerplate macros to easily adapt already existing functions and function
105 objects
106 * [link phoenix.modules.bind Bind] is not completely compatible with Boost.Bind. The limitations will be documented as soon as possible.
107
108 [endsect]
109
110 [endsect]
111
112 [/endsect] [/added because it was complaining it then failed!]