-
Notifications
You must be signed in to change notification settings - Fork 129
/
boost_1_38_0.qbk
287 lines (239 loc) · 12 KB
/
boost_1_38_0.qbk
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
[article Version 1.38.0
[quickbook 1.4]
[source-mode c++]
[purpose New Libraries: Flyweight, ScopeExit, Swap.
Updated Libraries: Accumulators, Any, Asio, Config,
Date_Time, Exception, Filesystem, Graph, Hash, Interprocess,
Intrusive, Lexical Cast, Math, Multi-index Containers, Proto,
Regex, Thread, TR1, Type Traits, Unordered, Xpressive.
Other Changes: Experimental CMake build system.]
[authors [Dawes, Beman]]
[last-revision Sun, 08 Feb 2009 12:00:00 GMT]
]
[include ext.qbk]
[download http://sourceforge.net/projects/boost/files/boost/1.38.0/]
[documentation /doc/libs/1_38_0/]
[section New Libraries]
* [phrase library..[@/libs/flyweight/index.html Flyweight]:]
* Design pattern to manage large quantities of highly redundant objects,
from Joaqu'''í'''n M L'''ó'''pez Mu'''ñ'''oz.
* [phrase library..[@/libs/scope_exit/doc/html/index.html ScopeExit]:]
* Execute arbitrary code at scope exit,
from Alexander Nasonov.
* [phrase library..[@/libs/utility/swap.html Swap]:]
* Enhanced generic swap function,
from Joseph Gauterin.
[endsect]
[section Updated Libraries]
* [phrase library..[@/libs/accumulators/index.html Accumulators]:]
* Add `rolling_sum`, `rolling_count` and `rolling_mean` accumulators.
* [phrase library..[@/doc/html/any.html Any]:]
* Use a by-value argument for `operator=`
([@https://svn.boost.org/trac/boost/ticket/2311 #2311]).
* [phrase library..[@/libs/asio/index.html Asio]:]
* Improved compatibility with some Windows firewall software.
* Ensured arguments to `windows::overlapped_ptr::complete()` are
correctly passed to the completion handler
([@https://svn.boost.org/trac/boost/ticket/2614 #2614]).
* Fixed a link problem and multicast failure on QNX
([@https://svn.boost.org/trac/boost/ticket/2504 #2504],
[@https://svn.boost.org/trac/boost/ticket/2530 #2530]).
* Fixed a compile error in SSL support on MinGW / g++ 3.4.5.
* Drop back to using a pipe for notification if eventfd is not
available at runtime on Linux
([@https://svn.boost.org/trac/boost/ticket/2683 #2683]).
* Various minor bug and documentation fixes
([@https://svn.boost.org/trac/boost/ticket/2534 #2534],
[@https://svn.boost.org/trac/boost/ticket/2541 #2541],
[@https://svn.boost.org/trac/boost/ticket/2607 #2607],
[@https://svn.boost.org/trac/boost/ticket/2617 #2617],
[@https://svn.boost.org/trac/boost/ticket/2619 #2619])
* [phrase library..[@/libs/config/index.html Config]:]
* Add new macros BOOST_NO_STD_UNORDERED and BOOST_NO_INITIALIZER_LISTS.
* Added Codegear compiler support.
* Added Dragonfly to the BSD family of configs.
* Updated MSVC's binary ABI settings to match compiler default when doing 64-bit builds.
* Recognise latest compilers from MS and Intel.
* [phrase library..[@/libs/date_time/index.html Date_Time]:]
* Added support for formatting and reading time durations longer than 24 hours with new formatter: `%0`.
* Removed the `testfrmwk.hpp` file from the public include directory.
* Fixed several bugs and compile errors.
* For full details see the
[@/doc/libs/1_38_0/doc/html/date_time/details.html#date_time.changes change history]
* [phrase library..[@/libs/exception/index.html Exception]:]
* Improved and more customizable [@/libs/exception/doc/diagnostic_information.html diagnostic_information] output.
* [phrase library..[@/libs/filesystem/index.html Filesystem]:]
* Fix native(name) test failures on POSIX-like systems.
* Several bugfixes ([@https://svn.boost.org/trac/boost/ticket/2543 #2543],
[@https://svn.boost.org/trac/boost/ticket/2224 #2224],
[@https://svn.boost.org/trac/boost/ticket/2531 #2531],
[@https://svn.boost.org/trac/boost/ticket/1840 #1840],
[@https://svn.boost.org/trac/boost/ticket/2542 #2542]).
* [phrase library..[@/libs/graph/index.html Graph]:]
* Added a new algorithms for Travelling Salesman Problem approximation
(`metric_tsp_approx`) and resource-constrained Shortest Paths
(`r_c_shortest_paths`).
* Support for named vertices in `adjacency_list`.
* A number of bugfixes (
[@https://svn.boost.org/trac/boost/ticket/416 #416],
[@https://svn.boost.org/trac/boost/ticket/1622 #1622],
[@https://svn.boost.org/trac/boost/ticket/1700 #1700],
[@https://svn.boost.org/trac/boost/ticket/2209 #2209],
[@https://svn.boost.org/trac/boost/ticket/2392 #2392],
[@https://svn.boost.org/trac/boost/ticket/2460 #2460], and
[@https://svn.boost.org/trac/boost/ticket/2550 #2550])
* [phrase library..[@/libs/functional/hash/index.html Hash]:]
* `boost/functional/detail/container_fwd.hpp` has been moved to
`boost/detail/container_fwd.hpp`.
The current location is deprecated.
* For more detail, see the
[@/doc/html/hash/changes.html#hash.changes.boost_1_38_0
library changelog].
* [phrase library..[@/libs/interprocess/index.html Interprocess]:]
* Updated documentation to show rvalue-references functions instead of emulation functions.
* More non-copyable classes are now movable.
* Move-constructor and assignments now leave moved object in default-constructed state
instead of just swapping contents.
* Several bugfixes ([@https://svn.boost.org/trac/boost/ticket/2391 #2391],
[@https://svn.boost.org/trac/boost/ticket/2431 #2431],
[@https://svn.boost.org/trac/boost/ticket/1390 #1390],
[@https://svn.boost.org/trac/boost/ticket/2570 #2570],
[@https://svn.boost.org/trac/boost/ticket/2528 #2528]).
* [phrase library..[@/libs/intrusive/index.html Intrusive]:]
* New treap-based containers: treap, treap_set, treap_multiset.
* Corrected compilation bug for Windows-based 64 bit compilers.
* Corrected exception-safety bugs in container constructors.
* Updated documentation to show rvalue-references functions instead of emulation functions.
* [phrase library..[@/libs/conversion/lexical_cast.htm Lexical Cast]:]
* Changed to work without RTTI when `BOOST_NO_TYPEID` is defined
([@https://svn.boost.org/trac/boost/ticket/1220 #1220]).
* [phrase library..[@/libs/math/doc/sf_and_dist/html/index.html Math]:]
* Added Johan R'''å'''de's optimised floating point classification routines.
* Fixed code so that it compiles in GCC's -pedantic mode (bug report
[@https://svn.boost.org/trac/boost/ticket/1451 #1451]).
* [phrase library..[@/libs/multi_index/doc/index.html Multi-index Containers]:]
Some redundant type definitions have been deprecated. Consult the library
[@/libs/multi_index/doc/release_notes.html#boost_1_38 release notes] for
further information.
* [phrase library..[@/libs/proto/index.html Proto]:]
* Fix problem with SFINAE of binary operators (Bug
[@https://svn.boost.org/trac/boost/ticket/2407 2407]).
* Fix `proto::call` transform for callable transforms with >3 arguments.
* `result_of::value` changed behavior for array-by-value terminals.
* `unpack_expr` requires only Forward Sequences rather than Random Access
Sequences.
* Deprecate legacy undocumented `BOOST_PROTO_DEFINE_(VARARG_)FUNCTION_TEMPLATE`
macros.
* Add `BOOST_PROTO_REPEAT` and `BOOST_PROTO_LOCAL_ITERATE` macros to help with
repetitive code generation
* Support for nullary expressions with tag types other than
`proto::tag::terminal`
* Allow 0- and 1-argument variants of `proto::or_` and `proto::and_`
* [phrase library..[@/libs/regex/index.html Regex]:]
* ['Breaking change]: empty expressions, and empty alternatives are now
allowed when using the Perl regular expression syntax. This change has
been added for Perl compatibility, when the new `syntax_option_type`
['no_empty_expressions] is set then the old behaviour is preserved and
empty expressions are prohibited. This is issue
[@https://svn.boost.org/trac/boost/ticket/1081 #1081].
* Added support for Perl style ${n} expressions in format strings
(issue [@https://svn.boost.org/trac/boost/ticket/2556 #2556]).
* Added support for accessing the location of sub-expressions within the
regular expression string
(issue [@https://svn.boost.org/trac/boost/ticket/2269 #2269]).
* Fixed compiler compatibility issues
[@https://svn.boost.org/trac/boost/ticket/2244 #2244],
[@https://svn.boost.org/trac/boost/ticket/2514 #2514],
and
[@https://svn.boost.org/trac/boost/ticket/2244 #2458].
* [phrase library..[@/doc/html/thread.html Thread]:]
* No longer catches unhandled exceptions in threads as this
debuggers couldn't identify the cause of unhandled exceptions in threads.
An unhandled exception will still cause the application to terminate.
* [phrase library..[@/libs/tr1/index.html TR1]:]
* Added support for the TR1 math functions and the unordered containers.
* [phrase library..[@/libs/type_traits/index.html Type Traits]:]
* Added support for Codegear intrinsics.
* Minor tweaks to warning suppression and alignment_of code.
* [phrase library..[@/libs/unordered/index.html Unordered]:]
* Use [@/libs/utility/swap.html `boost::swap`].
* Use a larger prime number list for selecting the number of buckets.
* Use
[@/libs/type_traits/doc/html/boost_typetraits/category/alignment.html
aligned storage] to store the types.
* Add support for C++0x initializer lists where they're available.
* For more detail, see the
[@/doc/html/unordered/changes.html#unordered.changes.boost_1_38_0
library changelog].
* [phrase library..[@/libs/xpressive/index.html Xpressive]:]
* `basic_regex` gets nested `syntax_option_flags` and `value_type` typedef, for
compatibility with `std::basic_regex`
* Ported to Proto v4; Proto v2 at [^boost/xpressive/proto] has been removed.
* `regex_error` inherits from `boost::exception`
[endsect]
[section Other Changes]
* Experimental support for building Boost with [@http://www.cmake.org/ CMake]
has been introduced in this version. For more details see the
[@https://svn.boost.org/trac/boost/wiki/CMake wiki], Discussion is taking
place on the [@https://lists.boost.org/mailman/listinfo.cgi/boost-cmake
Boost-cmake mailing list].
* Fixed subversion properties for several files. Most notably, unix shell
scripts should always have unix line endings, even in the windows packages.
[endsect]
[section Compilers Tested]
Boost's primary test compilers are:
* OS X:
* GCC 4.0.1 on Intel OS X 10.4.10, 10.5.2
* GCC 4.0.1 on PowerPC OS X 10.4.9
* Linux:
* GCC 4.3.2 on Ubuntu Linux.
* GCC 4.3.3 on Debian "unstable".
* HP-UX:
* GCC 4.2.1 on HP-UX 64-bit.
* HP C/aC++ B3910B A.06.17 on HP-UX 64-bit.
* Windows:
* Visual C++ 7.1 SP1, 8.0 SP1 and 9.0 SP1 on Windows XP.
Boost's additional test compilers include:
* Linux:
* GCC 4.1.1, 4.2.1 on 64-bit Red Hat Enterprise Linux
* GCC 4.1.2 on 64-bit Redhat Server 5.1
* GCC 3.4.3, GCC 4.0.1, GCC 4.2.4 and GCC 4.3.2 on Red Hat Enterprise Linux
* GCC 4.3.2 with C++0x extensions
* GCC 4.2.1 on OpenSuSE Linux
* pgCC 8.0-0a 64-bit target on Red Hat Enterprise Linux
* QLogic PathScale(TM) Compiler Suite: Version 3.1 on Red Hat Enterprise Linux
* OS X:
* Intel 9.1, 10.0 on OS X 10.4.10
* Intel 10.1, 11.0 on OS X 10.5.2
* Windows:
* Visual C++ 9.0 on Vista EE 64-bit.
* Visual C++ 9.0 express on Vista 32-bit.
* Visual C++ 9.0 on XP 32-bit.
* Visual C++ 8.0, using STLport, on XP and Windows Mobile 5.0
* Visual C++ 7.1, using STLport, on XP
* Borland 5.9.3
* Borland 6.1.0
* Intel C++ 11.0, with a Visual C++ 9.0 backend, on XP 32-bit.
* Intel C++ 11.0, with a Visual C++ 9.0 backend, on Vista 64-bit.
* Comeau 4.3.10.1 beta 2, with a Visual C++ 9.0 backend.
* GCC 3.4.4, on Cygwin
* AIX:
* IBM XL C/C++ Enterprise Edition for AIX, V10.1.0.0, on AIX Version
5.3.0.40
* FreeBSD:
* GCC 4.2.1 on FreeBSD 7.
* NetBSD:
* GCC 4.1.2 on NetBSD 4.0/i386 and NetBSD 4.0/amd64.
* QNX:
* QNX Software Development Platform 6.4.0 x86
* Solaris:
* Sun C++ 5.7, 5.8, 5.9 on Solaris 5.10
* GCC 3.4.6 on Solaris 5.10
[endsect]
[section Acknowledgements]
[@/users/people/beman_dawes.html Beman Dawes],
Eric Niebler,
[@/users/people/rene_rivera.html Rene Rivera],
and Daniel James managed this release.
Thanks to Vicente Botet for helping compile these release notes.
[endsect]