Instead of masking all bits in the current block that were already
visited and then finding the lowest remaining bit, it shifts the current
block directly to the first unvisited bit and identifies the lowest
set bit.
It requires fewer operations that the original implementation and should
be faster.
See https://svn.boost.org/trac/boost/ticket/5159.
Merged revisions 52879-52881,53050 via svnmerge from
https://svn.boost.org/svn/boost/trunk
........
r52879 | hkaiser | 2009-05-10 17:52:14 +0100 (Sun, 10 May 2009) | 1 line
Applying patch fixing problem on certain patch levels for gcc.4.3.3/Ubuntu
........
r52880 | hkaiser | 2009-05-10 17:55:07 +0100 (Sun, 10 May 2009) | 1 line
Fixing the fix by taking into account __GNUC_PATCHLEVEL__ as well
........
r52881 | hkaiser | 2009-05-10 17:59:27 +0100 (Sun, 10 May 2009) | 1 line
Minor comment edit
........
r53050 | danieljames | 2009-05-16 15:58:33 +0100 (Sat, 16 May 2009) | 13 lines
Merge dynamic bitset from release.
I think the recent changes in trunk and release were for the same problem. But
I'm not sure so I've merged them together. Hopefully, the release branch might
fix the Intel C++ errors as well.
------------------------------------------------------------------------
r52960 | dgregor | 2009-05-13 07:11:03 +0100 (Wed, 13 May 2009) | 1 line
Use enum constants rather than local variables for integral constants. Should fix dynamic_bitset failures on GCC 4.3.x
------------------------------------------------------------------------
........
[SVN r53259]
I think the recent changes in trunk and release were for the same problem. But
I'm not sure so I've merged them together. Hopefully, the release branch might
fix the Intel C++ errors as well.
------------------------------------------------------------------------
r52960 | dgregor | 2009-05-13 07:11:03 +0100 (Wed, 13 May 2009) | 1 line
Use enum constants rather than local variables for integral constants. Should fix dynamic_bitset failures on GCC 4.3.x
------------------------------------------------------------------------
[SVN r53050]
* removed use of BOOST_WORKAROUND in #if for gcc bug c++/8419, as recent
changes to the implementation of BOOST_WORKAROUND broke its usage with
arguments such as ( (__GNUC__) * 100 * 100 + (__GNUC_MINOR__) * 100 )
[SVN r49586]
* improved documentation of constructor from block range, with notes about library issue 438
* fixed/improved wording and markup in several places
* partially adjusted word wrap, for consistency
[SVN r49346]
* removed one of the workarounds for VC++ <= 7.0 (we don't run tests on
those compilers, anymore, so we don't really know if the library still
works with them); other such workarounds exist, though: removing them
involves heavy refactoring and is probably not worth the corresponding
risk of destabilization; comments have been added about this latter point
* comment fixes in detail/dynamic_bitset.hpp
[SVN r49345]