New libraries
Added twelve new libraries covering networking, containers, image handling, interprocess communication, mathematics, parallelism, and system support.
Added twelve new libraries covering networking, containers, image handling, interprocess communication, mathematics, parallelism, and system support.
Optimized boost::thread move semantics and boost::condition_variable_any, plus up to 30% speed gain in wave.
Introduced 457 dependency additions across 60 libraries, with no removals.
Replaced raw asserts with BOOST_ASSERT and fixed numerous bugs across libraries for increased stability.
Added templated lock types like boost::lock_guard and boost::unique_lock improving ergonomics and thread safety.
| Platform | File | SHA256 Hash |
|---|---|---|
|
Unix
|
boost_1_35_0.tar.bz2 |
|
| boost_1_35_0.tar.gz |
|
|
|
Windows
|
boost_1_35_0.7z |
|
| boost_1_35_0.zip |
|
March 29th, 2008 12:00 GMT
kolmogorov_max_flow,
from Stephan Diederich as part of the 2006 Google Summer of Code.
read_dimacs_max_flow
and write_dimacs_max_flow
for max-flow problems, from Stephan Diederich.
read_graphml and
write_graphml for
GraphML input/output, from Tiago de Paula Peixoto.
minimum_cycle_ratio
and maximum_cycle_ratio,
from Dmitry Bufistov and Andrey Parfenov.
boyer_myrvold_planarity_test,
along with a suite of algorithms for planar graphs, from Aaron Windsor.
long long,
std::complex.
global_fun predefined key
extractor.
iterator_to facility.
multi_index_containers
placeable in shared memory.
modify
and modify_key with
rollback, as described in the tutorial.
boost::condition_variable_any
(boost::condition is a typedef to boost::condition_variable_any, provided
for backwards compatibility). boost::condition_variable
is provided as an optimization, and will only work with boost::unique_lock<boost::mutex>
(boost::mutex::scoped_lock).
boost::this_thread::get_id()), and IDs can be used as keys in
associative containers, as they have the full set of comparison operators.
boost::system_time for absolute timeouts,
and with support for relative timeouts in many cases. boost::xtime is supported for backwards
compatibility only.
boost::lock_guard, boost::unique_lock,
boost::shared_lock, and boost::upgrade_lock, which are templated
on the type of the mutex. The Lockable concept has been extended
to include publicly available lock() and unlock() member functions, which are used
by the lock types.
boost::try_mutex has been removed, and
the functionality subsumed into boost::mutex.
boost::try_mutex is left as a typedef,
but is no longer a separate class.
boost::recursive_try_mutex has been removed,
and the functionality subsumed into boost::recursive_mutex.
boost::recursive_try_mutex is left as
a typedef, but is no longer a separate class.
boost::detail::thread::lock_ops has been removed. Code
that relies on the lock_ops
implementation detail will no longer work, as this has been removed,
as it is no longer necessary now that mutex types now have public
lock()
and unlock()
member functions.
scoped_lock constructors
with a second parameter of type bool are no longer provided. With
previous boost releases, boost::mutex::scoped_lock
some_lock(some_mutex,false);
could be used to create a lock object that was associated with a
mutex, but did not lock it on construction. This facility has now
been replaced with the constructor that takes a boost::defer_lock_type
as the second parameter: boost::mutex::scoped_lock
some_lock(some_mutex,boost::defer_lock);
boost::read_write_mutex
has been replaced with boost::shared_mutex.
The following compilers are officially supported in this release:
In addition the following compilers should be well supported, but weren't part of our release criteria for 1.35:
Beman Dawes managed this release.
Boost is publicly released three times a year in April, August, and December. Each release has updates to existing libraries, and any new libraries that have passed the rigorous acceptance process.