--- boost_1_44_0/boost/dynamic_bitset/dynamic_bitset.hpp 2011-08-22 13:37:32.928051000 -0700 +++ /home/kingsley/Lnk/f7opt/mydynamic_bitset.hpp 2011-11-22 11:07:51.912857000 -0800 @@ -270,6 +270,7 @@ dynamic_bitset& flip(size_type n); dynamic_bitset& flip(); bool test(size_type n) const; + bool test_set(size_type n); bool any() const; bool none() const; dynamic_bitset operator~() const; @@ -414,6 +415,7 @@ BOOST_DYNAMIC_BITSET_PRIVATE: bool m_unchecked_test(size_type pos) const; + bool m_unchecked_test_set(size_type pos); static size_type calc_num_blocks(size_type num_bits); Block& m_highest_block(); @@ -967,6 +969,23 @@ } template +bool dynamic_bitset::m_unchecked_test_set(size_type pos) +{ + Block& mem=m_bits[block_index(pos)]; + Block msk=bit_mask(pos); + Block res=mem; + mem |= msk; + return (bool)(res & msk); +} + +template +bool dynamic_bitset::test_set(size_type pos) +{ + assert(pos < m_num_bits); + return m_unchecked_test_set(pos); +} + +template bool dynamic_bitset::any() const { for (size_type i = 0; i < num_blocks(); ++i)