
boost_1_33_1 Dear all, I suspect that the shift operator of the dynamic_bitset are reversed. Best regards, Martin Moene ___ C:\>dynamic_bitset.exe x :11111 x <<= 1:01111 x >>= 2:11100 /* * dynamic_bitset bug: operator <<= and >>= interchanged. * * cl -GX -ID:/Libraries/boost_1_33_1/ dynamic_bitset.cpp * cl -GX -IC:/Libraries/boost_1_33_1/ dynamic_bitset.cpp * cl -GX -I%BOOST% dynamic_bitset.cpp */ #include <iostream> #include <boost/dynamic_bitset.hpp> std::ostream& operator<<( std::ostream& os, boost::dynamic_bitset<> const& bs ) { for ( boost::dynamic_bitset<>::size_type i = 0; i < bs.size(); ++i ) { os << bs[i]; } return os; } int main( int, char*[] ) { boost::dynamic_bitset<> x(5); // all 0's by default x.set(); std::cout << "x :" << x << std::endl; std::cout << "x <<= 1:" << ( x <<= 1 ) << std::endl; std::cout << "x >>= 2:" << ( x >>= 2 ) << std::endl; return EXIT_FAILURE; }