Alien-boost-mini
view release on metacpan or search on metacpan
include/boost/crc.hpp view on Meta::CPAN
process_bit( static_cast<bool>(bits & high_bit_mask) );
}
}
template < std::size_t Bits >
inline
void
crc_basic<Bits>::process_byte
(
unsigned char byte
)
{
process_bits( (rft_in_ ? detail::reflector<CHAR_BIT>::reflect(byte)
: byte), CHAR_BIT );
}
template < std::size_t Bits >
void
crc_basic<Bits>::process_block
(
void const * bytes_begin,
void const * bytes_end
)
{
for ( unsigned char const * p
= static_cast<unsigned char const *>(bytes_begin) ; p < bytes_end ; ++p )
{
process_byte( *p );
}
}
template < std::size_t Bits >
inline
void
crc_basic<Bits>::process_bytes
(
void const * buffer,
std::size_t byte_count
)
{
unsigned char const * const b = static_cast<unsigned char const *>(
buffer );
process_block( b, b + byte_count );
}
template < std::size_t Bits >
inline
typename crc_basic<Bits>::value_type
crc_basic<Bits>::checksum
(
) const
{
return ( (rft_out_ ? detail::reflector<Bits>::reflect( rem_ ) : rem_)
^ final_ ) & masking_type::sig_bits;
}
// Optimized CRC class function definitions --------------------------------//
// Macro to compact code
#define BOOST_CRC_OPTIMAL_NAME crc_optimal<Bits, TruncPoly, InitRem, \
FinalXor, ReflectIn, ReflectRem>
template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
bool ReflectIn, bool ReflectRem >
inline
BOOST_CRC_OPTIMAL_NAME::crc_optimal
(
typename BOOST_CRC_OPTIMAL_NAME::value_type init_rem // = InitRem
)
: rem_( helper_type::reflect(init_rem) )
{
crc_table_type::init_table();
}
template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
bool ReflectIn, bool ReflectRem >
inline
typename BOOST_CRC_OPTIMAL_NAME::value_type
BOOST_CRC_OPTIMAL_NAME::get_truncated_polynominal
(
) const
{
return TruncPoly;
}
template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
bool ReflectIn, bool ReflectRem >
inline
typename BOOST_CRC_OPTIMAL_NAME::value_type
BOOST_CRC_OPTIMAL_NAME::get_initial_remainder
(
) const
{
return InitRem;
}
template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
bool ReflectIn, bool ReflectRem >
inline
typename BOOST_CRC_OPTIMAL_NAME::value_type
BOOST_CRC_OPTIMAL_NAME::get_final_xor_value
(
) const
{
return FinalXor;
}
template < std::size_t Bits, BOOST_CRC_PARM_TYPE TruncPoly,
BOOST_CRC_PARM_TYPE InitRem, BOOST_CRC_PARM_TYPE FinalXor,
bool ReflectIn, bool ReflectRem >
inline
bool
BOOST_CRC_OPTIMAL_NAME::get_reflect_input
(
) const
( run in 0.788 second using v1.01-cache-2.11-cpan-3d66aa2751a )