This is an older version of Boost and was released in 2013. The current version is 1.88.0.
Platform | File | SHA256 Hash | |
---|---|---|---|
Unix | boost_1_44_0.tar.bz2 | 45c328029d97d1f1dc7ff8c9527cd0c5cc356636084a800bca2ee4bfab1978db 45c328029d....bfab1978db 45c32....978db | |
boost_1_44_0.tar.gz | 7fbb6c9698335968a9e7f468a2b39ac25cc5b62a9c7b2cd9d6acc35c808d7451 7fbb6c9698....5c808d7451 7fbb6....d7451 | ||
Windows | boost_1_44_0.7z | 876a46de0ba8a4d43693246791798f52db06b33e715aed6dd1e22718379ac5f3 876a46de0b....18379ac5f3 876a4....ac5f3 | |
boost_1_44_0.zip | 227199049f6ced0c8f628ed7367e00d8ed1ff7a59d209877affc21ea517659c5 227199049f....ea517659c5 22719....659c5 |
Version 1.44.0
August 13th, 2010 17:00 GMT
New Libraries
- Meta State Machine:
- High-performance expressive UML2 finite state machines, from Christophe Henry
- Polygon:
- Booleans/clipping, resizing/offsetting and more for planar polygons with integral coordinates, from Lucanus Simonson.
Updated Libraries
-
Accumulators:
- Correct miscellaneous documentation inaccuracies
-
Asio:
-
Reduced compile times. (Note that some programs may need to add additional
#include
s, e.g. if the program usesboost::array
but does not explicitly include<boost/array.hpp>
.) - Reduced the size of generated code.
-
Refactored
deadline_timer
implementation to improve performance. - Improved multiprocessor scalability on Windows by using a dedicated hidden thread to wait for timers.
-
Improved performance of
asio::streambuf
withasync_read()
andasync_read_until()
. These read operations now use the existing capacity of thestreambuf
when reading, rather than limiting the read to 512 bytes. -
Added optional separate compilation. To enable, add
#include <boost/asio/impl/src.cpp>
to one source file in a program, then build the program withBOOST_ASIO_SEPARATE_COMPILATION
defined in the project/compiler settings. Alternatively,BOOST_ASIO_DYN_LINK
may be defined to build a separately-compiled Asio as part of a shared library. -
Added new macro
BOOST_ASIO_DISABLE_FENCED_BLOCK
to permit the disabling of memory fences around completion handlers, even if thread support is enabled. - Reworked timeout examples to better illustrate typical use cases.
-
Ensured that handler arguments are passed as
const
types. -
Fixed incorrect parameter order in
null_buffers
variant ofasync_send_to
(#4170). -
Ensured
unsigned char
is used withisdigit
ingetaddrinfo
emulation (#4201). - Fixed handling of very small but non-zero timeouts (#4205).
- Fixed crash that occurred when an empty buffer sequence was passed to a composed read or write operation.
-
Added missing
operator+
overload inbuffers_iterator
(#4382). -
Implemented cancellation of
null_buffers
operations on Windows.
-
Reduced compile times. (Note that some programs may need to add additional
- Config:
-
Filesystem:
- This release contains both version 2 and version 3 of the library. Version 3 is a major upgrade that will break some existing user code, so version 2 is the default. Users are encouraged to migrate to version 3. See 'Version 2' and 'Version 3' for more information.
- Fix problems with symbol visibility for shared libraries.
- Fix various minor problems.
- Fixed issues: #3863, #4248.
- Foreach:
-
Fusion:
-
Added
fusion::reverse_fold
,fusion::iter_fold
andfusion::reverse_iter_fold
(#1623).
-
Added
-
Hash:
-
Option to prevent implicit casts when calling the hash function by
defining the macro
BOOST_HASH_NO_IMPLICIT_CASTS
, which can avoid some subtle problems. This might be activated by default in a future version.
-
Option to prevent implicit casts when calling the hash function by
defining the macro
-
Iostreams:
-
Several fixes for file descriptors class, including a breaking change
to the constructors and
open
methods forfile_descriptor
,file_descriptor_source
andfile_descriptor_sink
. See the documentation for details. The old methods are still available if you defineBOOST_IOSTREAMS_USE_DEPRECATED
(#3323, #3517, #4335). - Fix several issues with compression and decompression (#2318, #4091, #3348, #2783, #1579, #3853).
- And a load more miscellaneous fixes (#3851, #3279, #3689, #2356, #2996, #4102, #2998, #1612, #2325).
- Thanks to Steven Watanabe for almost all these fixes. For more detail see the release notes.
-
Several fixes for file descriptors class, including a breaking change
to the constructors and
-
Math:
- Fixed incorrect range and support for Rayleigh distribution.
-
MPL:
-
Make
mpl::string
work withmpl::transform
.
-
Make
- Multi-index Containers:
-
Proto:
-
Minor change in behavior: when using
proto::and_
as a transform, apply all transforms but only return the result of applying the last. See Proto's Release Notes for details. -
Minor change in behavior:
proto::as_expr
andproto::as_child
no longer run objects that are already proto expressions through the expression domain's generator. See Proto's Release Notes for details. -
Minor change in behavior: Proto
uses
proto::basic_expr
instead ofproto::expr
when possible for better compile times. See Proto's Release Notes for details. - Add support for sub-domains.
-
Introduce per-domain
as_expr
andas_child
customization points to allow for domain-specific customization of variable capture behavior. -
The
proto::_default
transform is also a grammar that matches the expressions the transform knows how to handle. -
Add
proto::_void
, a no-op primitive transform that does nothing and returnsvoid
. -
The
proto::pass_through
transform doesn't strip expression wrappers, fixes #4175. - Const-correctness fixes when invoking proto domains.
-
Minor change in behavior: when using
- Regex:
- Spirit: Spirit V2.4, see the 'What's New' section for details.
-
System:
- Change system_category and generic_category to functions, to conform to the C++0x FCD. This change may cause compile errors some user code; the fix is add "()" to references to system_category and generic_category, so that they become function calls.
- Fix problems with symbol visibility for shared libraries.
- Fixed issues: #4254, #3994, #3474.
-
Thread:
- Fixes for miscellaneous trac issues (#2501, #4341, #4363, #3760, #3761, #3611, #2955, #4071, #3195, #3097, #2874, #4316, #4317, #4322, #3244, #2747, #4305, #3195, #2704, #2293, #868, #2918, #4238, #3269, #3178, #3195).
- Fixes for other miscellaneous issues (remove warnings, support newer compilers, etc.)
-
TR1:
- Fixed VC10 support.
-
std::tr1::result_of
always uses the TR1 ResultOf protocol, even on compilers that support the C++0xdecltype
-based implementation.
- Type Traits:
-
uBLAS:
- New assignment operators to feed in vectors and matrices in many nice ways (#4034). Thank you Nasos
- New doxygen-based documentation
- Enable arithmetic operators (+,-,*,/) to work between ublas containers of std::complex and integral types (#3649). Thank you Neal
- Removed unused variables in functional.hpp (#4377). Thank you Marco
- New matrix_indirect and vector_indirect views to access elements with a matrix or vector of indices
-
Utility:
-
Added a new template class,
boost::initialized<T>
, in order to fix #3472. -
New version of
value_initialized<T>
no longer callsmemset
when the compiler has implemented value-initialization completely (#3869). -
New template
boost::tr1_result_of
that implements the TR1 ResultOf protocol even ifboost::result_of
uses the C++0xdecltype
-based implementation.
-
Added a new template class,
-
Uuid:
-
Define
BOOST_UUID_NO_TYPE_TRAITS
to remove the dependency on Boost.TypeTraits. -
Stream
operator<<
handles left, internal, and right manipulators. -
Added
to_string
,to_wstring
to convert a uuid to a string. - Fixed minor bugs in documentation.
-
Define
- Wave: See the Changelog for details.
-
Xpressive:
-
Replace non-portable
using
declarations withtypedef
s innested_results
. - Support user-defined assertions with placeholders for non-local variables.
-
Replace non-portable
Updated tools
-
Boostbook:
- Significantly faster.
- Improved syntax highlighter.
-
Quickbook:
- Use the cygwin 1.7 API for better path handling.
- Improved boostbook generation.
- Tweak the grammar to clean up some edge cases.
- For more detail see the change log.
Compilers Tested
Boost's primary test compilers are:
-
OS X:
- GCC 4.0.1 on Intel Leopard.
-
Linux:
- GCC 4.4 on 64-bit Suse.
-
Windows:
- Visual C++ 7.1 SP1, 8.0 SP1, 9.0 SP1 and 10.0.
- GCC 4.3.3, using Mingw.
-
FreeBSD:
- GCC 4.2.1, 32 and 64 bit.
Boost's additional test compilers include:
-
Linux:
- Intel 10.1 on 32 bit Red Hat Enterprise Linux.
- Intel 10.1, 11.0, 11.1 on 64 bit Red Hat Enterprise Linux.
- GCC 3.4.6, 4.2.4, 4.3.4, 4.4.3, 4.5 on Red Hat Enterprise Linux.
- GCC, with C++0x extensions, 4.3.4, 4.4.3, 4.5 on Red Hat Enterprise Linux.
- GCC 4.4 on 64 bit Suse.
- QLogic PathScale(TM) Compiler Suite: Version 3.2 on Red Hat Enterprise Linux.
- Clang from subversion (will be released with LLVM 2.8).
-
OS X:
- Intel C++ Compiler 10.1, 11.0, 11.1 on Leopard.
- GCC 4.0.1, 4.2.1 (Apple build).
- GCC 4.4
- GCC, with C++0x extensions, 4.4
- Clang from subversion (will be released with LLVM 2.8).
-
Windows:
- Visual C++ 7.1 SP, 8.0, 9.0 on 32-bit XP.
- Visual C++ 9.0 using STLport 5.2 on XP and Windows Mobile 5.0.
- Visual C++ 10.0 on XP.
- Visual C++ 10.0 on 64-bit Windows 7.
- Borland/Codegear C++ 5.9.3, 6.1.3 (2009), 6.2.1 (2010).
- Intel C++ 11.1, with a Visual C++ 9.0 backend, on Vista 32-bit.
- GCC 4.3.3, 4.5 on Mingw.
- GCC, with C++0x extensions, 4.5 on Mingw.
-
AIX:
- IBM XL C/C++ Enterprise Edition, V11.1.0.0, on AIX Version 5.3.0.40.
-
FreeBSD:
- GCC 4.2.1 on FreeBSD 7.2, 64 bit.
- GCC 4.2.1 on FreeBSD 8.0, 32 bit.
-
Solaris:
- Sun C++ 5.10 on Solaris 5.10.
Acknowledgements
Beman Dawes, Eric Niebler, Rene Rivera, Daniel James and Vladimir Prus managed this release.
Thanks to Marshall Clow for organizing the bug sprint and to everyone who took part.
Dependencies
There were
6 dependencies added
(in 6 libraries)
and
4 dependencies removed
(in 4 libraries)
this release.