|
Boost Users : |
Subject: [Boost-users] [crc] why static data members used in class?
From: U.Mutlu (for-gmane_at_[hidden])
Date: 2015-07-09 12:30:06
U.Mutlu wrote on 07/09/2015 04:38 PM:
> Hi,
> I need to calc the crc chunkwise (ie. calc crc of a block,
> then continue with the next block etc.).
> Is this (not) possible with the boost crc?
>
> In other words: how can the type "crc_32_type" be initialized
> with a user supplied uint32_t value?
>
> boost::crc_32_type crc;
> crc = 0x1234; // <-- this brings compile error
> crc.process_bytes(buf, len);
>
> error: no match for âoperator=â (operand types are âboost::crc_32_type {aka
> boost::crc_optimal<32ul, 79764919u, 4294967295u, 4294967295u, true, true>}â
> and âconst uint32_t {aka const unsigned int}â)
I don't understand why the author has used static data members in the class below.
Isn't that an indication that this class cannot be used in a multithreaded
environment?
class boost::crc_optimal
{
public:
// Type
typedef implementation_defined value_type;
// Constants reflecting template parameters
static std::size_t const bit_count = Bits;
static value_type const truncated_polynominal = TruncPoly;
static value_type const initial_remainder = InitRem;
static value_type const final_xor_value = FinalXor;
static bool const reflect_input = ReflectIn;
static bool const reflect_remainder = ReflectRem;
...
http://www.boost.org/doc/libs/1_55_0/libs/crc/crc.html
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net