Boost logo

Boost :

Subject: [boost] [crc] Missing reflector<>::reflect( ) on trunk
From: Fernando Pelliccioni (fpelliccioni_at_[hidden])
Date: 2013-01-23 11:35:39


Hi Daryle, hi all,

I am using the Hamigaki Archivers library ( http://hamigaki.sourceforge.jp/).
This library depends on Boost.Crc.

Somewhere in the code there is something like ...

    boost::detail::reflector<32>::reflect(0x12345678);

This compiles fine using Boost 1.52.0, but fails using Boost Trunk.
The following code part does not exist anymore in boost/crc.hpp ( on the
Trunk ) ...

    // Function that reflects its argument
    template < std::size_t Bits >
    typename reflector<Bits>::value_type
    reflector<Bits>::reflect
    (
        typename reflector<Bits>::value_type x
    )
    {
        value_type reflection = 0;
        value_type const one = 1;

        for ( std::size_t i = 0 ; i < Bits ; ++i, x >>= 1 )
        {
            if ( x & one )
            {
                reflection |= ( one << (Bits - 1u - i) );
            }
        }

        return reflection;
    }

Is there any replacement?

Thanks and regards,
Fernando P.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk