CRC++ 1.0.1.0
Easy to use and fast C++ CRC library.
Loading...
Searching...
No Matches
CRC Class Reference

Static class for computing CRCs. More...

#include <CRC.h>

Classes

struct  Parameters
 CRC parameters. More...
 
struct  Table
 CRC lookup table. After construction, the CRC parameters are fixed. More...
 

Public Member Functions

 CRC ()=delete
 
 CRC (const CRC &other)=delete
 
CRCoperator= (const CRC &other)=delete
 
 CRC (CRC &&other)=delete
 
CRCoperator= (CRC &&other)=delete
 

Static Public Member Functions

template<typename CRCType , crcpp_uint16 CRCWidth>
static CRCType Calculate (const void *data, crcpp_size size, const Parameters< CRCType, CRCWidth > &parameters)
 Computes a CRC.
 
template<typename CRCType , crcpp_uint16 CRCWidth>
static CRCType Calculate (const void *data, crcpp_size size, const Parameters< CRCType, CRCWidth > &parameters, CRCType crc)
 Appends additional data to a previous CRC calculation.
 
template<typename CRCType , crcpp_uint16 CRCWidth>
static CRCType Calculate (const void *data, crcpp_size size, const Table< CRCType, CRCWidth > &lookupTable)
 Computes a CRC via a lookup table.
 
template<typename CRCType , crcpp_uint16 CRCWidth>
static CRCType Calculate (const void *data, crcpp_size size, const Table< CRCType, CRCWidth > &lookupTable, CRCType crc)
 Appends additional data to a previous CRC calculation using a lookup table.
 
template<typename CRCType , crcpp_uint16 CRCWidth>
static CRCType CalculateBits (const void *data, crcpp_size size, const Parameters< CRCType, CRCWidth > &parameters)
 Computes a CRC.
 
template<typename CRCType , crcpp_uint16 CRCWidth>
static CRCType CalculateBits (const void *data, crcpp_size size, const Parameters< CRCType, CRCWidth > &parameters, CRCType crc)
 Appends additional data to a previous CRC calculation.
 
template<typename CRCType , crcpp_uint16 CRCWidth>
static CRCType CalculateBits (const void *data, crcpp_size size, const Table< CRCType, CRCWidth > &lookupTable)
 Computes a CRC via a lookup table.
 
template<typename CRCType , crcpp_uint16 CRCWidth>
static CRCType CalculateBits (const void *data, crcpp_size size, const Table< CRCType, CRCWidth > &lookupTable, CRCType crc)
 Appends additional data to a previous CRC calculation using a lookup table.
 
static const Parameters< crcpp_uint8, 4 > & CRC_4_ITU ()
 Returns a set of parameters for CRC-4 ITU.
 
static const Parameters< crcpp_uint8, 5 > & CRC_5_EPC ()
 Returns a set of parameters for CRC-5 EPC.
 
static const Parameters< crcpp_uint8, 5 > & CRC_5_ITU ()
 Returns a set of parameters for CRC-5 ITU.
 
static const Parameters< crcpp_uint8, 5 > & CRC_5_USB ()
 Returns a set of parameters for CRC-5 USB.
 
static const Parameters< crcpp_uint8, 6 > & CRC_6_CDMA2000A ()
 Returns a set of parameters for CRC-6 CDMA2000-A.
 
static const Parameters< crcpp_uint8, 6 > & CRC_6_CDMA2000B ()
 Returns a set of parameters for CRC-6 CDMA2000-B.
 
static const Parameters< crcpp_uint8, 6 > & CRC_6_ITU ()
 Returns a set of parameters for CRC-6 ITU.
 
static const Parameters< crcpp_uint8, 6 > & CRC_6_NR ()
 Returns a set of parameters for CRC-6 NR.
 
static const Parameters< crcpp_uint8, 7 > & CRC_7 ()
 Returns a set of parameters for CRC-7 JEDEC.
 
static const Parameters< crcpp_uint8, 8 > & CRC_8 ()
 Returns a set of parameters for CRC-8 SMBus.
 
static const Parameters< crcpp_uint8, 8 > & CRC_8_EBU ()
 Returns a set of parameters for CRC-8 EBU (aka CRC-8 AES).
 
static const Parameters< crcpp_uint8, 8 > & CRC_8_HDLC ()
 Returns a set of parameters for CRC-8 HDLC (ISO/IEC 13239:2002).
 
static const Parameters< crcpp_uint8, 8 > & CRC_8_MAXIM ()
 Returns a set of parameters for CRC-8 MAXIM (aka CRC-8 DOW-CRC).
 
static const Parameters< crcpp_uint8, 8 > & CRC_8_WCDMA ()
 Returns a set of parameters for CRC-8 WCDMA.
 
static const Parameters< crcpp_uint8, 8 > & CRC_8_LTE ()
 Returns a set of parameters for CRC-8 LTE.
 
static const Parameters< crcpp_uint16, 10 > & CRC_10 ()
 Returns a set of parameters for CRC-10 ITU.
 
static const Parameters< crcpp_uint16, 10 > & CRC_10_CDMA2000 ()
 Returns a set of parameters for CRC-10 CDMA2000.
 
static const Parameters< crcpp_uint16, 11 > & CRC_11 ()
 Returns a set of parameters for CRC-11 FlexRay.
 
static const Parameters< crcpp_uint16, 11 > & CRC_11_NR ()
 Returns a set of parameters for CRC-11 NR.
 
static const Parameters< crcpp_uint16, 12 > & CRC_12_CDMA2000 ()
 Returns a set of parameters for CRC-12 CDMA2000.
 
static const Parameters< crcpp_uint16, 12 > & CRC_12_DECT ()
 Returns a set of parameters for CRC-12 DECT (aka CRC-12 X-CRC).
 
static const Parameters< crcpp_uint16, 12 > & CRC_12_UMTS ()
 Returns a set of parameters for CRC-12 UMTS (aka CRC-12 3GPP).
 
static const Parameters< crcpp_uint16, 13 > & CRC_13_BBC ()
 Returns a set of parameters for CRC-13 BBC.
 
static const Parameters< crcpp_uint16, 15 > & CRC_15 ()
 Returns a set of parameters for CRC-15 CAN.
 
static const Parameters< crcpp_uint16, 15 > & CRC_15_MPT1327 ()
 Returns a set of parameters for CRC-15 MPT1327.
 
static const Parameters< crcpp_uint16, 16 > & CRC_16_ARC ()
 Returns a set of parameters for CRC-16 ARC (aka CRC-16 IBM, CRC-16 LHA).
 
static const Parameters< crcpp_uint16, 16 > & CRC_16_BUYPASS ()
 Returns a set of parameters for CRC-16 BUYPASS (aka CRC-16 VERIFONE, CRC-16 UMTS).
 
static const Parameters< crcpp_uint16, 16 > & CRC_16_CCITTFALSE ()
 Returns a set of parameters for CRC-16 CCITT FALSE.
 
static const Parameters< crcpp_uint16, 16 > & CRC_16_MCRF4XX ()
 Returns a set of parameters for CRC-16 MCRF4XX.
 
static const Parameters< crcpp_uint16, 16 > & CRC_16_CDMA2000 ()
 Returns a set of parameters for CRC-16 CDMA2000.
 
static const Parameters< crcpp_uint16, 16 > & CRC_16_CMS ()
 Returns a set of parameters for CRC-16 CMS.
 
static const Parameters< crcpp_uint16, 16 > & CRC_16_DECTR ()
 Returns a set of parameters for CRC-16 DECT-R (aka CRC-16 R-CRC).
 
static const Parameters< crcpp_uint16, 16 > & CRC_16_DECTX ()
 Returns a set of parameters for CRC-16 DECT-X (aka CRC-16 X-CRC).
 
static const Parameters< crcpp_uint16, 16 > & CRC_16_DNP ()
 Returns a set of parameters for CRC-16 DNP.
 
static const Parameters< crcpp_uint16, 16 > & CRC_16_GENIBUS ()
 Returns a set of parameters for CRC-16 GENIBUS (aka CRC-16 EPC, CRC-16 I-CODE, CRC-16 DARC).
 
static const Parameters< crcpp_uint16, 16 > & CRC_16_KERMIT ()
 Returns a set of parameters for CRC-16 KERMIT (aka CRC-16 CCITT, CRC-16 CCITT-TRUE).
 
static const Parameters< crcpp_uint16, 16 > & CRC_16_MAXIM ()
 Returns a set of parameters for CRC-16 MAXIM.
 
static const Parameters< crcpp_uint16, 16 > & CRC_16_MODBUS ()
 Returns a set of parameters for CRC-16 MODBUS.
 
static const Parameters< crcpp_uint16, 16 > & CRC_16_T10DIF ()
 Returns a set of parameters for CRC-16 T10-DIF.
 
static const Parameters< crcpp_uint16, 16 > & CRC_16_USB ()
 Returns a set of parameters for CRC-16 USB.
 
static const Parameters< crcpp_uint16, 16 > & CRC_16_X25 ()
 Returns a set of parameters for CRC-16 X-25 (aka CRC-16 IBM-SDLC, CRC-16 ISO-HDLC, CRC-16 B).
 
static const Parameters< crcpp_uint16, 16 > & CRC_16_XMODEM ()
 Returns a set of parameters for CRC-16 XMODEM (aka CRC-16 ZMODEM, CRC-16 ACORN, CRC-16 LTE).
 
static const Parameters< crcpp_uint32, 17 > & CRC_17_CAN ()
 Returns a set of parameters for CRC-17 CAN.
 
static const Parameters< crcpp_uint32, 21 > & CRC_21_CAN ()
 Returns a set of parameters for CRC-21 CAN.
 
static const Parameters< crcpp_uint32, 24 > & CRC_24 ()
 Returns a set of parameters for CRC-24 OPENPGP.
 
static const Parameters< crcpp_uint32, 24 > & CRC_24_FLEXRAYA ()
 Returns a set of parameters for CRC-24 FlexRay-A.
 
static const Parameters< crcpp_uint32, 24 > & CRC_24_FLEXRAYB ()
 Returns a set of parameters for CRC-24 FlexRay-B.
 
static const Parameters< crcpp_uint32, 24 > & CRC_24_LTEA ()
 Returns a set of parameters for CRC-24 LTE-A/NR-A.
 
static const Parameters< crcpp_uint32, 24 > & CRC_24_LTEB ()
 Returns a set of parameters for CRC-24 LTE-B/NR-B.
 
static const Parameters< crcpp_uint32, 24 > & CRC_24_NRC ()
 Returns a set of parameters for CRC-24 NR-C.
 
static const Parameters< crcpp_uint32, 30 > & CRC_30 ()
 Returns a set of parameters for CRC-30 CDMA.
 
static const Parameters< crcpp_uint32, 32 > & CRC_32 ()
 Returns a set of parameters for CRC-32 (aka CRC-32 ADCCP, CRC-32 PKZip).
 
static const Parameters< crcpp_uint32, 32 > & CRC_32_BZIP2 ()
 Returns a set of parameters for CRC-32 BZIP2 (aka CRC-32 AAL5, CRC-32 DECT-B, CRC-32 B-CRC).
 
static const Parameters< crcpp_uint32, 32 > & CRC_32_C ()
 Returns a set of parameters for CRC-32 C (aka CRC-32 ISCSI, CRC-32 Castagnoli, CRC-32 Interlaken).
 
static const Parameters< crcpp_uint32, 32 > & CRC_32_MPEG2 ()
 Returns a set of parameters for CRC-32 MPEG-2.
 
static const Parameters< crcpp_uint32, 32 > & CRC_32_POSIX ()
 Returns a set of parameters for CRC-32 POSIX.
 
static const Parameters< crcpp_uint32, 32 > & CRC_32_Q ()
 Returns a set of parameters for CRC-32 Q.
 
static const Parameters< crcpp_uint64, 40 > & CRC_40_GSM ()
 Returns a set of parameters for CRC-40 GSM.
 
static const Parameters< crcpp_uint64, 64 > & CRC_64 ()
 Returns a set of parameters for CRC-64 ECMA.
 

Static Private Member Functions

template<typename IntegerType >
static IntegerType Reflect (IntegerType value, crcpp_uint16 numBits)
 Reflects (i.e. reverses the bits within) an integer value.
 
template<typename CRCType , crcpp_uint16 CRCWidth>
static CRCType Finalize (CRCType remainder, CRCType finalXOR, bool reflectOutput)
 Computes the final reflection and XOR of a CRC remainder.
 
template<typename CRCType , crcpp_uint16 CRCWidth>
static CRCType UndoFinalize (CRCType remainder, CRCType finalXOR, bool reflectOutput)
 Undoes the process of computing the final reflection and XOR of a CRC remainder.
 
template<typename CRCType , crcpp_uint16 CRCWidth>
static CRCType CalculateRemainder (const void *data, crcpp_size size, const Parameters< CRCType, CRCWidth > &parameters, CRCType remainder)
 Computes a CRC remainder.
 
template<typename CRCType , crcpp_uint16 CRCWidth>
static CRCType CalculateRemainder (const void *data, crcpp_size size, const Table< CRCType, CRCWidth > &lookupTable, CRCType remainder)
 Computes a CRC remainder using lookup table.
 
template<typename CRCType , crcpp_uint16 CRCWidth>
static CRCType CalculateRemainderBits (unsigned char byte, crcpp_size numBits, const Parameters< CRCType, CRCWidth > &parameters, CRCType remainder)
 

Detailed Description

Static class for computing CRCs.

Note
This class supports computation of full and multi-part CRCs, using a bit-by-bit algorithm or a byte-by-byte lookup table. The CRCs are calculated using as many optimizations as is reasonable. If compiling with C++11, the constexpr keyword is used liberally so that many calculations are performed at compile-time instead of at runtime.

Constructor & Destructor Documentation

◆ CRC() [1/3]

CRC::CRC ( )
delete

◆ CRC() [2/3]

CRC::CRC ( const CRC & other)
delete

◆ CRC() [3/3]

CRC::CRC ( CRC && other)
delete

Member Function Documentation

◆ Calculate() [1/4]

template<typename CRCType , crcpp_uint16 CRCWidth>
CRCType CRC::Calculate ( const void * data,
crcpp_size size,
const Parameters< CRCType, CRCWidth > & parameters )
inlinestatic

Computes a CRC.

Parameters
[in]dataData over which CRC will be computed
[in]sizeSize of the data, in bytes
[in]parametersCRC parameters
Template Parameters
CRCTypeInteger type for storing the CRC result
CRCWidthNumber of bits in the CRC
Returns
CRC

◆ Calculate() [2/4]

template<typename CRCType , crcpp_uint16 CRCWidth>
CRCType CRC::Calculate ( const void * data,
crcpp_size size,
const Parameters< CRCType, CRCWidth > & parameters,
CRCType crc )
inlinestatic

Appends additional data to a previous CRC calculation.

Note
This function can be used to compute multi-part CRCs.
Parameters
[in]dataData over which CRC will be computed
[in]sizeSize of the data, in bytes
[in]parametersCRC parameters
[in]crcCRC from a previous calculation
Template Parameters
CRCTypeInteger type for storing the CRC result
CRCWidthNumber of bits in the CRC
Returns
CRC

◆ Calculate() [3/4]

template<typename CRCType , crcpp_uint16 CRCWidth>
CRCType CRC::Calculate ( const void * data,
crcpp_size size,
const Table< CRCType, CRCWidth > & lookupTable )
inlinestatic

Computes a CRC via a lookup table.

Parameters
[in]dataData over which CRC will be computed
[in]sizeSize of the data, in bytes
[in]lookupTableCRC lookup table
Template Parameters
CRCTypeInteger type for storing the CRC result
CRCWidthNumber of bits in the CRC
Returns
CRC

◆ Calculate() [4/4]

template<typename CRCType , crcpp_uint16 CRCWidth>
CRCType CRC::Calculate ( const void * data,
crcpp_size size,
const Table< CRCType, CRCWidth > & lookupTable,
CRCType crc )
inlinestatic

Appends additional data to a previous CRC calculation using a lookup table.

Note
This function can be used to compute multi-part CRCs.
Parameters
[in]dataData over which CRC will be computed
[in]sizeSize of the data, in bytes
[in]lookupTableCRC lookup table
[in]crcCRC from a previous calculation
Template Parameters
CRCTypeInteger type for storing the CRC result
CRCWidthNumber of bits in the CRC
Returns
CRC

◆ CalculateBits() [1/4]

template<typename CRCType , crcpp_uint16 CRCWidth>
CRCType CRC::CalculateBits ( const void * data,
crcpp_size size,
const Parameters< CRCType, CRCWidth > & parameters )
inlinestatic

Computes a CRC.

Parameters
[in]dataData over which CRC will be computed
[in]sizeSize of the data, in bits
[in]parametersCRC parameters
Template Parameters
CRCTypeInteger type for storing the CRC result
CRCWidthNumber of bits in the CRC
Returns
CRC

◆ CalculateBits() [2/4]

template<typename CRCType , crcpp_uint16 CRCWidth>
CRCType CRC::CalculateBits ( const void * data,
crcpp_size size,
const Parameters< CRCType, CRCWidth > & parameters,
CRCType crc )
inlinestatic

Appends additional data to a previous CRC calculation.

Note
This function can be used to compute multi-part CRCs.
Parameters
[in]dataData over which CRC will be computed
[in]sizeSize of the data, in bits
[in]parametersCRC parameters
[in]crcCRC from a previous calculation
Template Parameters
CRCTypeInteger type for storing the CRC result
CRCWidthNumber of bits in the CRC
Returns
CRC

◆ CalculateBits() [3/4]

template<typename CRCType , crcpp_uint16 CRCWidth>
CRCType CRC::CalculateBits ( const void * data,
crcpp_size size,
const Table< CRCType, CRCWidth > & lookupTable )
inlinestatic

Computes a CRC via a lookup table.

Parameters
[in]dataData over which CRC will be computed
[in]sizeSize of the data, in bits
[in]lookupTableCRC lookup table
Template Parameters
CRCTypeInteger type for storing the CRC result
CRCWidthNumber of bits in the CRC
Returns
CRC

◆ CalculateBits() [4/4]

template<typename CRCType , crcpp_uint16 CRCWidth>
CRCType CRC::CalculateBits ( const void * data,
crcpp_size size,
const Table< CRCType, CRCWidth > & lookupTable,
CRCType crc )
inlinestatic

Appends additional data to a previous CRC calculation using a lookup table.

Note
This function can be used to compute multi-part CRCs.
Parameters
[in]dataData over which CRC will be computed
[in]sizeSize of the data, in bits
[in]lookupTableCRC lookup table
[in]crcCRC from a previous calculation
Template Parameters
CRCTypeInteger type for storing the CRC result
CRCWidthNumber of bits in the CRC
Returns
CRC

◆ CalculateRemainder() [1/2]

template<typename CRCType , crcpp_uint16 CRCWidth>
CRCType CRC::CalculateRemainder ( const void * data,
crcpp_size size,
const Parameters< CRCType, CRCWidth > & parameters,
CRCType remainder )
inlinestaticprivate

Computes a CRC remainder.

Parameters
[in]dataData over which the remainder will be computed
[in]sizeSize of the data, in bytes
[in]parametersCRC parameters
[in]remainderRunning CRC remainder. Can be an initial value or the result of a previous CRC remainder calculation.
Template Parameters
CRCTypeInteger type for storing the CRC result
CRCWidthNumber of bits in the CRC
Returns
CRC remainder

◆ CalculateRemainder() [2/2]

template<typename CRCType , crcpp_uint16 CRCWidth>
CRCType CRC::CalculateRemainder ( const void * data,
crcpp_size size,
const Table< CRCType, CRCWidth > & lookupTable,
CRCType remainder )
inlinestaticprivate

Computes a CRC remainder using lookup table.

Parameters
[in]dataData over which the remainder will be computed
[in]sizeSize of the data, in bytes
[in]lookupTableCRC lookup table
[in]remainderRunning CRC remainder. Can be an initial value or the result of a previous CRC remainder calculation.
Template Parameters
CRCTypeInteger type for storing the CRC result
CRCWidthNumber of bits in the CRC
Returns
CRC remainder

◆ CalculateRemainderBits()

template<typename CRCType , crcpp_uint16 CRCWidth>
CRCType CRC::CalculateRemainderBits ( unsigned char byte,
crcpp_size numBits,
const Parameters< CRCType, CRCWidth > & parameters,
CRCType remainder )
inlinestaticprivate

◆ CRC_10()

const CRC::Parameters< crcpp_uint16, 10 > & CRC::CRC_10 ( )
inlinestatic

Returns a set of parameters for CRC-10 ITU.

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-10 ITU has the following parameters and check value:
  • polynomial = 0x233
  • initial value = 0x000
  • final XOR = 0x000
  • reflect input = false
  • reflect output = false
  • check value = 0x199
Returns
CRC-10 ITU parameters

◆ CRC_10_CDMA2000()

const CRC::Parameters< crcpp_uint16, 10 > & CRC::CRC_10_CDMA2000 ( )
inlinestatic

Returns a set of parameters for CRC-10 CDMA2000.

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-10 CDMA2000 has the following parameters and check value:
  • polynomial = 0x3D9
  • initial value = 0x3FF
  • final XOR = 0x000
  • reflect input = false
  • reflect output = false
  • check value = 0x233
Returns
CRC-10 CDMA2000 parameters

◆ CRC_11()

const CRC::Parameters< crcpp_uint16, 11 > & CRC::CRC_11 ( )
inlinestatic

Returns a set of parameters for CRC-11 FlexRay.

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-11 FlexRay has the following parameters and check value:
  • polynomial = 0x385
  • initial value = 0x01A
  • final XOR = 0x000
  • reflect input = false
  • reflect output = false
  • check value = 0x5A3
Returns
CRC-11 FlexRay parameters

◆ CRC_11_NR()

const CRC::Parameters< crcpp_uint16, 11 > & CRC::CRC_11_NR ( )
inlinestatic

Returns a set of parameters for CRC-11 NR.

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-11 NR has the following parameters and check value:
  • polynomial = 0x621
  • initial value = 0x000
  • final XOR = 0x000
  • reflect input = false
  • reflect output = false
  • check value = 0x5CA
Returns
CRC-11 NR parameters

◆ CRC_12_CDMA2000()

const CRC::Parameters< crcpp_uint16, 12 > & CRC::CRC_12_CDMA2000 ( )
inlinestatic

Returns a set of parameters for CRC-12 CDMA2000.

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-12 CDMA2000 has the following parameters and check value:
  • polynomial = 0xF13
  • initial value = 0xFFF
  • final XOR = 0x000
  • reflect input = false
  • reflect output = false
  • check value = 0xD4D
Returns
CRC-12 CDMA2000 parameters

◆ CRC_12_DECT()

const CRC::Parameters< crcpp_uint16, 12 > & CRC::CRC_12_DECT ( )
inlinestatic

Returns a set of parameters for CRC-12 DECT (aka CRC-12 X-CRC).

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-12 DECT has the following parameters and check value:
  • polynomial = 0x80F
  • initial value = 0x000
  • final XOR = 0x000
  • reflect input = false
  • reflect output = false
  • check value = 0xF5B
Returns
CRC-12 DECT parameters

◆ CRC_12_UMTS()

const CRC::Parameters< crcpp_uint16, 12 > & CRC::CRC_12_UMTS ( )
inlinestatic

Returns a set of parameters for CRC-12 UMTS (aka CRC-12 3GPP).

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-12 UMTS has the following parameters and check value:
  • polynomial = 0x80F
  • initial value = 0x000
  • final XOR = 0x000
  • reflect input = false
  • reflect output = true
  • check value = 0xDAF
Returns
CRC-12 UMTS parameters

◆ CRC_13_BBC()

const CRC::Parameters< crcpp_uint16, 13 > & CRC::CRC_13_BBC ( )
inlinestatic

Returns a set of parameters for CRC-13 BBC.

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-13 BBC has the following parameters and check value:
  • polynomial = 0x1CF5
  • initial value = 0x0000
  • final XOR = 0x0000
  • reflect input = false
  • reflect output = false
  • check value = 0x04FA
Returns
CRC-13 BBC parameters

◆ CRC_15()

const CRC::Parameters< crcpp_uint16, 15 > & CRC::CRC_15 ( )
inlinestatic

Returns a set of parameters for CRC-15 CAN.

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-15 CAN has the following parameters and check value:
  • polynomial = 0x4599
  • initial value = 0x0000
  • final XOR = 0x0000
  • reflect input = false
  • reflect output = false
  • check value = 0x059E
Returns
CRC-15 CAN parameters

◆ CRC_15_MPT1327()

const CRC::Parameters< crcpp_uint16, 15 > & CRC::CRC_15_MPT1327 ( )
inlinestatic

Returns a set of parameters for CRC-15 MPT1327.

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-15 MPT1327 has the following parameters and check value:
  • polynomial = 0x6815
  • initial value = 0x0000
  • final XOR = 0x0001
  • reflect input = false
  • reflect output = false
  • check value = 0x2566
Returns
CRC-15 MPT1327 parameters

◆ CRC_16_ARC()

const CRC::Parameters< crcpp_uint16, 16 > & CRC::CRC_16_ARC ( )
inlinestatic

Returns a set of parameters for CRC-16 ARC (aka CRC-16 IBM, CRC-16 LHA).

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-16 ARC has the following parameters and check value:
  • polynomial = 0x8005
  • initial value = 0x0000
  • final XOR = 0x0000
  • reflect input = true
  • reflect output = true
  • check value = 0xBB3D
Returns
CRC-16 ARC parameters

◆ CRC_16_BUYPASS()

const CRC::Parameters< crcpp_uint16, 16 > & CRC::CRC_16_BUYPASS ( )
inlinestatic

Returns a set of parameters for CRC-16 BUYPASS (aka CRC-16 VERIFONE, CRC-16 UMTS).

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-16 BUYPASS has the following parameters and check value:
  • polynomial = 0x8005
  • initial value = 0x0000
  • final XOR = 0x0000
  • reflect input = false
  • reflect output = false
  • check value = 0xFEE8
Returns
CRC-16 BUYPASS parameters

◆ CRC_16_CCITTFALSE()

const CRC::Parameters< crcpp_uint16, 16 > & CRC::CRC_16_CCITTFALSE ( )
inlinestatic

Returns a set of parameters for CRC-16 CCITT FALSE.

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-16 CCITT FALSE has the following parameters and check value:
  • polynomial = 0x1021
  • initial value = 0xFFFF
  • final XOR = 0x0000
  • reflect input = false
  • reflect output = false
  • check value = 0x29B1
Returns
CRC-16 CCITT FALSE parameters

◆ CRC_16_CDMA2000()

const CRC::Parameters< crcpp_uint16, 16 > & CRC::CRC_16_CDMA2000 ( )
inlinestatic

Returns a set of parameters for CRC-16 CDMA2000.

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-16 CDMA2000 has the following parameters and check value:
  • polynomial = 0xC867
  • initial value = 0xFFFF
  • final XOR = 0x0000
  • reflect input = false
  • reflect output = false
  • check value = 0x4C06
Returns
CRC-16 CDMA2000 parameters

◆ CRC_16_CMS()

const CRC::Parameters< crcpp_uint16, 16 > & CRC::CRC_16_CMS ( )
inlinestatic

Returns a set of parameters for CRC-16 CMS.

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-16 CMS has the following parameters and check value:
  • polynomial = 0x8005
  • initial value = 0xFFFF
  • final XOR = 0x0000
  • reflect input = false
  • reflect output = false
  • check value = 0xAEE7
Returns
CRC-16 CMS parameters

◆ CRC_16_DECTR()

const CRC::Parameters< crcpp_uint16, 16 > & CRC::CRC_16_DECTR ( )
inlinestatic

Returns a set of parameters for CRC-16 DECT-R (aka CRC-16 R-CRC).

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-16 DECT-R has the following parameters and check value:
  • polynomial = 0x0589
  • initial value = 0x0000
  • final XOR = 0x0001
  • reflect input = false
  • reflect output = false
  • check value = 0x007E
Returns
CRC-16 DECT-R parameters

◆ CRC_16_DECTX()

const CRC::Parameters< crcpp_uint16, 16 > & CRC::CRC_16_DECTX ( )
inlinestatic

Returns a set of parameters for CRC-16 DECT-X (aka CRC-16 X-CRC).

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-16 DECT-X has the following parameters and check value:
  • polynomial = 0x0589
  • initial value = 0x0000
  • final XOR = 0x0000
  • reflect input = false
  • reflect output = false
  • check value = 0x007F
Returns
CRC-16 DECT-X parameters

◆ CRC_16_DNP()

const CRC::Parameters< crcpp_uint16, 16 > & CRC::CRC_16_DNP ( )
inlinestatic

Returns a set of parameters for CRC-16 DNP.

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-16 DNP has the following parameters and check value:
  • polynomial = 0x3D65
  • initial value = 0x0000
  • final XOR = 0xFFFF
  • reflect input = true
  • reflect output = true
  • check value = 0xEA82
Returns
CRC-16 DNP parameters

◆ CRC_16_GENIBUS()

const CRC::Parameters< crcpp_uint16, 16 > & CRC::CRC_16_GENIBUS ( )
inlinestatic

Returns a set of parameters for CRC-16 GENIBUS (aka CRC-16 EPC, CRC-16 I-CODE, CRC-16 DARC).

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-16 GENIBUS has the following parameters and check value:
  • polynomial = 0x1021
  • initial value = 0xFFFF
  • final XOR = 0xFFFF
  • reflect input = false
  • reflect output = false
  • check value = 0xD64E
Returns
CRC-16 GENIBUS parameters

◆ CRC_16_KERMIT()

const CRC::Parameters< crcpp_uint16, 16 > & CRC::CRC_16_KERMIT ( )
inlinestatic

Returns a set of parameters for CRC-16 KERMIT (aka CRC-16 CCITT, CRC-16 CCITT-TRUE).

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-16 KERMIT has the following parameters and check value:
  • polynomial = 0x1021
  • initial value = 0x0000
  • final XOR = 0x0000
  • reflect input = true
  • reflect output = true
  • check value = 0x2189
Returns
CRC-16 KERMIT parameters

◆ CRC_16_MAXIM()

const CRC::Parameters< crcpp_uint16, 16 > & CRC::CRC_16_MAXIM ( )
inlinestatic

Returns a set of parameters for CRC-16 MAXIM.

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-16 MAXIM has the following parameters and check value:
  • polynomial = 0x8005
  • initial value = 0x0000
  • final XOR = 0xFFFF
  • reflect input = true
  • reflect output = true
  • check value = 0x44C2
Returns
CRC-16 MAXIM parameters

◆ CRC_16_MCRF4XX()

const CRC::Parameters< crcpp_uint16, 16 > & CRC::CRC_16_MCRF4XX ( )
inlinestatic

Returns a set of parameters for CRC-16 MCRF4XX.

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-16 MCRF4XX has the following parameters and check value:
  • polynomial = 0x1021
  • initial value = 0xFFFF
  • final XOR = 0x0000
  • reflect input = true
  • reflect output = true
  • check value = 0x6F91
Returns
CRC-16 MCRF4XX parameters

◆ CRC_16_MODBUS()

const CRC::Parameters< crcpp_uint16, 16 > & CRC::CRC_16_MODBUS ( )
inlinestatic

Returns a set of parameters for CRC-16 MODBUS.

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-16 MODBUS has the following parameters and check value:
  • polynomial = 0x8005
  • initial value = 0xFFFF
  • final XOR = 0x0000
  • reflect input = true
  • reflect output = true
  • check value = 0x4B37
Returns
CRC-16 MODBUS parameters

◆ CRC_16_T10DIF()

const CRC::Parameters< crcpp_uint16, 16 > & CRC::CRC_16_T10DIF ( )
inlinestatic

Returns a set of parameters for CRC-16 T10-DIF.

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-16 T10-DIF has the following parameters and check value:
  • polynomial = 0x8BB7
  • initial value = 0x0000
  • final XOR = 0x0000
  • reflect input = false
  • reflect output = false
  • check value = 0xD0DB
Returns
CRC-16 T10-DIF parameters

◆ CRC_16_USB()

const CRC::Parameters< crcpp_uint16, 16 > & CRC::CRC_16_USB ( )
inlinestatic

Returns a set of parameters for CRC-16 USB.

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-16 USB has the following parameters and check value:
  • polynomial = 0x8005
  • initial value = 0xFFFF
  • final XOR = 0xFFFF
  • reflect input = true
  • reflect output = true
  • check value = 0xB4C8
Returns
CRC-16 USB parameters

◆ CRC_16_X25()

const CRC::Parameters< crcpp_uint16, 16 > & CRC::CRC_16_X25 ( )
inlinestatic

Returns a set of parameters for CRC-16 X-25 (aka CRC-16 IBM-SDLC, CRC-16 ISO-HDLC, CRC-16 B).

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-16 X-25 has the following parameters and check value:
  • polynomial = 0x1021
  • initial value = 0xFFFF
  • final XOR = 0xFFFF
  • reflect input = true
  • reflect output = true
  • check value = 0x906E
Returns
CRC-16 X-25 parameters

◆ CRC_16_XMODEM()

const CRC::Parameters< crcpp_uint16, 16 > & CRC::CRC_16_XMODEM ( )
inlinestatic

Returns a set of parameters for CRC-16 XMODEM (aka CRC-16 ZMODEM, CRC-16 ACORN, CRC-16 LTE).

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-16 XMODEM has the following parameters and check value:
  • polynomial = 0x1021
  • initial value = 0x0000
  • final XOR = 0x0000
  • reflect input = false
  • reflect output = false
  • check value = 0x31C3
Returns
CRC-16 XMODEM parameters

◆ CRC_17_CAN()

const CRC::Parameters< crcpp_uint32, 17 > & CRC::CRC_17_CAN ( )
inlinestatic

Returns a set of parameters for CRC-17 CAN.

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-17 CAN has the following parameters and check value:
  • polynomial = 0x1685B
  • initial value = 0x00000
  • final XOR = 0x00000
  • reflect input = false
  • reflect output = false
  • check value = 0x04F03
Returns
CRC-17 CAN parameters

◆ CRC_21_CAN()

const CRC::Parameters< crcpp_uint32, 21 > & CRC::CRC_21_CAN ( )
inlinestatic

Returns a set of parameters for CRC-21 CAN.

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-21 CAN has the following parameters and check value:
  • polynomial = 0x102899
  • initial value = 0x000000
  • final XOR = 0x000000
  • reflect input = false
  • reflect output = false
  • check value = 0x0ED841
Returns
CRC-21 CAN parameters

◆ CRC_24()

const CRC::Parameters< crcpp_uint32, 24 > & CRC::CRC_24 ( )
inlinestatic

Returns a set of parameters for CRC-24 OPENPGP.

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-24 OPENPGP has the following parameters and check value:
  • polynomial = 0x864CFB
  • initial value = 0xB704CE
  • final XOR = 0x000000
  • reflect input = false
  • reflect output = false
  • check value = 0x21CF02
Returns
CRC-24 OPENPGP parameters

◆ CRC_24_FLEXRAYA()

const CRC::Parameters< crcpp_uint32, 24 > & CRC::CRC_24_FLEXRAYA ( )
inlinestatic

Returns a set of parameters for CRC-24 FlexRay-A.

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-24 FlexRay-A has the following parameters and check value:
  • polynomial = 0x5D6DCB
  • initial value = 0xFEDCBA
  • final XOR = 0x000000
  • reflect input = false
  • reflect output = false
  • check value = 0x7979BD
Returns
CRC-24 FlexRay-A parameters

◆ CRC_24_FLEXRAYB()

const CRC::Parameters< crcpp_uint32, 24 > & CRC::CRC_24_FLEXRAYB ( )
inlinestatic

Returns a set of parameters for CRC-24 FlexRay-B.

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-24 FlexRay-B has the following parameters and check value:
  • polynomial = 0x5D6DCB
  • initial value = 0xABCDEF
  • final XOR = 0x000000
  • reflect input = false
  • reflect output = false
  • check value = 0x1F23B8
Returns
CRC-24 FlexRay-B parameters

◆ CRC_24_LTEA()

const CRC::Parameters< crcpp_uint32, 24 > & CRC::CRC_24_LTEA ( )
inlinestatic

Returns a set of parameters for CRC-24 LTE-A/NR-A.

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-24 LTE-A has the following parameters and check value:
  • polynomial = 0x864CFB
  • initial value = 0x000000
  • final XOR = 0x000000
  • reflect input = false
  • reflect output = false
  • check value = 0xCDE703
Returns
CRC-24 LTE-A parameters

◆ CRC_24_LTEB()

const CRC::Parameters< crcpp_uint32, 24 > & CRC::CRC_24_LTEB ( )
inlinestatic

Returns a set of parameters for CRC-24 LTE-B/NR-B.

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-24 LTE-B has the following parameters and check value:
  • polynomial = 0x800063
  • initial value = 0x000000
  • final XOR = 0x000000
  • reflect input = false
  • reflect output = false
  • check value = 0x23EF52
Returns
CRC-24 LTE-B parameters

◆ CRC_24_NRC()

const CRC::Parameters< crcpp_uint32, 24 > & CRC::CRC_24_NRC ( )
inlinestatic

Returns a set of parameters for CRC-24 NR-C.

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-24 NR-C has the following parameters and check value:
  • polynomial = 0xB2B117
  • initial value = 0x000000
  • final XOR = 0x000000
  • reflect input = false
  • reflect output = false
  • check value = 0xF48279
Returns
CRC-24 NR-C parameters

◆ CRC_30()

const CRC::Parameters< crcpp_uint32, 30 > & CRC::CRC_30 ( )
inlinestatic

Returns a set of parameters for CRC-30 CDMA.

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-30 CDMA has the following parameters and check value:
  • polynomial = 0x2030B9C7
  • initial value = 0x3FFFFFFF
  • final XOR = 0x00000000
  • reflect input = false
  • reflect output = false
  • check value = 0x3B3CB540
Returns
CRC-30 CDMA parameters

◆ CRC_32()

const CRC::Parameters< crcpp_uint32, 32 > & CRC::CRC_32 ( )
inlinestatic

Returns a set of parameters for CRC-32 (aka CRC-32 ADCCP, CRC-32 PKZip).

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-32 has the following parameters and check value:
  • polynomial = 0x04C11DB7
  • initial value = 0xFFFFFFFF
  • final XOR = 0xFFFFFFFF
  • reflect input = true
  • reflect output = true
  • check value = 0xCBF43926
Returns
CRC-32 parameters

◆ CRC_32_BZIP2()

const CRC::Parameters< crcpp_uint32, 32 > & CRC::CRC_32_BZIP2 ( )
inlinestatic

Returns a set of parameters for CRC-32 BZIP2 (aka CRC-32 AAL5, CRC-32 DECT-B, CRC-32 B-CRC).

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-32 BZIP2 has the following parameters and check value:
  • polynomial = 0x04C11DB7
  • initial value = 0xFFFFFFFF
  • final XOR = 0xFFFFFFFF
  • reflect input = false
  • reflect output = false
  • check value = 0xFC891918
Returns
CRC-32 BZIP2 parameters

◆ CRC_32_C()

const CRC::Parameters< crcpp_uint32, 32 > & CRC::CRC_32_C ( )
inlinestatic

Returns a set of parameters for CRC-32 C (aka CRC-32 ISCSI, CRC-32 Castagnoli, CRC-32 Interlaken).

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-32 C has the following parameters and check value:
  • polynomial = 0x1EDC6F41
  • initial value = 0xFFFFFFFF
  • final XOR = 0xFFFFFFFF
  • reflect input = true
  • reflect output = true
  • check value = 0xE3069283
Returns
CRC-32 C parameters

◆ CRC_32_MPEG2()

const CRC::Parameters< crcpp_uint32, 32 > & CRC::CRC_32_MPEG2 ( )
inlinestatic

Returns a set of parameters for CRC-32 MPEG-2.

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-32 MPEG-2 has the following parameters and check value:
  • polynomial = 0x04C11DB7
  • initial value = 0xFFFFFFFF
  • final XOR = 0x00000000
  • reflect input = false
  • reflect output = false
  • check value = 0x0376E6E7
Returns
CRC-32 MPEG-2 parameters

◆ CRC_32_POSIX()

const CRC::Parameters< crcpp_uint32, 32 > & CRC::CRC_32_POSIX ( )
inlinestatic

Returns a set of parameters for CRC-32 POSIX.

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-32 POSIX has the following parameters and check value:
  • polynomial = 0x04C11DB7
  • initial value = 0x00000000
  • final XOR = 0xFFFFFFFF
  • reflect input = false
  • reflect output = false
  • check value = 0x765E7680
Returns
CRC-32 POSIX parameters

◆ CRC_32_Q()

const CRC::Parameters< crcpp_uint32, 32 > & CRC::CRC_32_Q ( )
inlinestatic

Returns a set of parameters for CRC-32 Q.

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-32 Q has the following parameters and check value:
  • polynomial = 0x814141AB
  • initial value = 0x00000000
  • final XOR = 0x00000000
  • reflect input = false
  • reflect output = false
  • check value = 0x3010BF7F
Returns
CRC-32 Q parameters

◆ CRC_40_GSM()

const CRC::Parameters< crcpp_uint64, 40 > & CRC::CRC_40_GSM ( )
inlinestatic

Returns a set of parameters for CRC-40 GSM.

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-40 GSM has the following parameters and check value:
  • polynomial = 0x0004820009
  • initial value = 0x0000000000
  • final XOR = 0xFFFFFFFFFF
  • reflect input = false
  • reflect output = false
  • check value = 0xD4164FC646
Returns
CRC-40 GSM parameters

◆ CRC_4_ITU()

const CRC::Parameters< crcpp_uint8, 4 > & CRC::CRC_4_ITU ( )
inlinestatic

Returns a set of parameters for CRC-4 ITU.

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-4 ITU has the following parameters and check value:
  • polynomial = 0x3
  • initial value = 0x0
  • final XOR = 0x0
  • reflect input = true
  • reflect output = true
  • check value = 0x7
Returns
CRC-4 ITU parameters

◆ CRC_5_EPC()

const CRC::Parameters< crcpp_uint8, 5 > & CRC::CRC_5_EPC ( )
inlinestatic

Returns a set of parameters for CRC-5 EPC.

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-5 EPC has the following parameters and check value:
  • polynomial = 0x09
  • initial value = 0x09
  • final XOR = 0x00
  • reflect input = false
  • reflect output = false
  • check value = 0x00
Returns
CRC-5 EPC parameters

◆ CRC_5_ITU()

const CRC::Parameters< crcpp_uint8, 5 > & CRC::CRC_5_ITU ( )
inlinestatic

Returns a set of parameters for CRC-5 ITU.

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-5 ITU has the following parameters and check value:
  • polynomial = 0x15
  • initial value = 0x00
  • final XOR = 0x00
  • reflect input = true
  • reflect output = true
  • check value = 0x07
Returns
CRC-5 ITU parameters

◆ CRC_5_USB()

const CRC::Parameters< crcpp_uint8, 5 > & CRC::CRC_5_USB ( )
inlinestatic

Returns a set of parameters for CRC-5 USB.

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-5 USB has the following parameters and check value:
  • polynomial = 0x05
  • initial value = 0x1F
  • final XOR = 0x1F
  • reflect input = true
  • reflect output = true
  • check value = 0x19
Returns
CRC-5 USB parameters

◆ CRC_64()

const CRC::Parameters< crcpp_uint64, 64 > & CRC::CRC_64 ( )
inlinestatic

Returns a set of parameters for CRC-64 ECMA.

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-64 ECMA has the following parameters and check value:
  • polynomial = 0x42F0E1EBA9EA3693
  • initial value = 0x0000000000000000
  • final XOR = 0x0000000000000000
  • reflect input = false
  • reflect output = false
  • check value = 0x6C40DF5F0B497347
Returns
CRC-64 ECMA parameters

◆ CRC_6_CDMA2000A()

const CRC::Parameters< crcpp_uint8, 6 > & CRC::CRC_6_CDMA2000A ( )
inlinestatic

Returns a set of parameters for CRC-6 CDMA2000-A.

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-6 CDMA2000-A has the following parameters and check value:
  • polynomial = 0x27
  • initial value = 0x3F
  • final XOR = 0x00
  • reflect input = false
  • reflect output = false
  • check value = 0x0D
Returns
CRC-6 CDMA2000-A parameters

◆ CRC_6_CDMA2000B()

const CRC::Parameters< crcpp_uint8, 6 > & CRC::CRC_6_CDMA2000B ( )
inlinestatic

Returns a set of parameters for CRC-6 CDMA2000-B.

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-6 CDMA2000-A has the following parameters and check value:
  • polynomial = 0x07
  • initial value = 0x3F
  • final XOR = 0x00
  • reflect input = false
  • reflect output = false
  • check value = 0x3B
Returns
CRC-6 CDMA2000-B parameters

◆ CRC_6_ITU()

const CRC::Parameters< crcpp_uint8, 6 > & CRC::CRC_6_ITU ( )
inlinestatic

Returns a set of parameters for CRC-6 ITU.

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-6 ITU has the following parameters and check value:
  • polynomial = 0x03
  • initial value = 0x00
  • final XOR = 0x00
  • reflect input = true
  • reflect output = true
  • check value = 0x06
Returns
CRC-6 ITU parameters

◆ CRC_6_NR()

const CRC::Parameters< crcpp_uint8, 6 > & CRC::CRC_6_NR ( )
inlinestatic

Returns a set of parameters for CRC-6 NR.

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-6 NR has the following parameters and check value:
  • polynomial = 0x21
  • initial value = 0x00
  • final XOR = 0x00
  • reflect input = false
  • reflect output = false
  • check value = 0x15
Returns
CRC-6 NR parameters

◆ CRC_7()

const CRC::Parameters< crcpp_uint8, 7 > & CRC::CRC_7 ( )
inlinestatic

Returns a set of parameters for CRC-7 JEDEC.

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-7 JEDEC has the following parameters and check value:
  • polynomial = 0x09
  • initial value = 0x00
  • final XOR = 0x00
  • reflect input = false
  • reflect output = false
  • check value = 0x75
Returns
CRC-7 JEDEC parameters

◆ CRC_8()

const CRC::Parameters< crcpp_uint8, 8 > & CRC::CRC_8 ( )
inlinestatic

Returns a set of parameters for CRC-8 SMBus.

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-8 SMBus has the following parameters and check value:
  • polynomial = 0x07
  • initial value = 0x00
  • final XOR = 0x00
  • reflect input = false
  • reflect output = false
  • check value = 0xF4
Returns
CRC-8 SMBus parameters

◆ CRC_8_EBU()

const CRC::Parameters< crcpp_uint8, 8 > & CRC::CRC_8_EBU ( )
inlinestatic

Returns a set of parameters for CRC-8 EBU (aka CRC-8 AES).

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-8 EBU has the following parameters and check value:
  • polynomial = 0x1D
  • initial value = 0xFF
  • final XOR = 0x00
  • reflect input = true
  • reflect output = true
  • check value = 0x97
Returns
CRC-8 EBU parameters

◆ CRC_8_HDLC()

const CRC::Parameters< crcpp_uint8, 8 > & CRC::CRC_8_HDLC ( )
inlinestatic

Returns a set of parameters for CRC-8 HDLC (ISO/IEC 13239:2002).

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-8 HDLC has the following parameters and check value:
  • polynomial = 0x07
  • initial value = 0xFF
  • final XOR = 0xFF
  • reflect input = true
  • reflect output = true
  • check value = 0x2F
Returns
CRC-8 HDLC parameters

◆ CRC_8_LTE()

const CRC::Parameters< crcpp_uint8, 8 > & CRC::CRC_8_LTE ( )
inlinestatic

Returns a set of parameters for CRC-8 LTE.

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-8 LTE has the following parameters and check value:
  • polynomial = 0x9B
  • initial value = 0x00
  • final XOR = 0x00
  • reflect input = false
  • reflect output = false
  • check value = 0xEA
Returns
CRC-8 LTE parameters

◆ CRC_8_MAXIM()

const CRC::Parameters< crcpp_uint8, 8 > & CRC::CRC_8_MAXIM ( )
inlinestatic

Returns a set of parameters for CRC-8 MAXIM (aka CRC-8 DOW-CRC).

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-8 MAXIM has the following parameters and check value:
  • polynomial = 0x31
  • initial value = 0x00
  • final XOR = 0x00
  • reflect input = true
  • reflect output = true
  • check value = 0xA1
Returns
CRC-8 MAXIM parameters

◆ CRC_8_WCDMA()

const CRC::Parameters< crcpp_uint8, 8 > & CRC::CRC_8_WCDMA ( )
inlinestatic

Returns a set of parameters for CRC-8 WCDMA.

Note
The parameters are static and are delayed-constructed to reduce memory footprint.
CRC-8 WCDMA has the following parameters and check value:
  • polynomial = 0x9B
  • initial value = 0x00
  • final XOR = 0x00
  • reflect input = true
  • reflect output = true
  • check value = 0x25
Returns
CRC-8 WCDMA parameters

◆ Finalize()

template<typename CRCType , crcpp_uint16 CRCWidth>
CRCType CRC::Finalize ( CRCType remainder,
CRCType finalXOR,
bool reflectOutput )
inlinestaticprivate

Computes the final reflection and XOR of a CRC remainder.

Parameters
[in]remainderCRC remainder to reflect and XOR
[in]finalXORFinal value to XOR with the remainder
[in]reflectOutputtrue to reflect each byte of the remainder before the XOR
Template Parameters
CRCTypeInteger type for storing the CRC result
CRCWidthNumber of bits in the CRC
Returns
Final CRC

◆ operator=() [1/2]

CRC & CRC::operator= ( const CRC & other)
delete

◆ operator=() [2/2]

CRC & CRC::operator= ( CRC && other)
delete

◆ Reflect()

template<typename IntegerType >
IntegerType CRC::Reflect ( IntegerType value,
crcpp_uint16 numBits )
inlinestaticprivate

Reflects (i.e. reverses the bits within) an integer value.

Parameters
[in]valueValue to reflect
[in]numBitsNumber of bits in the integer which will be reflected
Template Parameters
IntegerTypeInteger type of the value being reflected
Returns
Reflected value

◆ UndoFinalize()

template<typename CRCType , crcpp_uint16 CRCWidth>
CRCType CRC::UndoFinalize ( CRCType crc,
CRCType finalXOR,
bool reflectOutput )
inlinestaticprivate

Undoes the process of computing the final reflection and XOR of a CRC remainder.

Note
This function allows for computation of multi-part CRCs
Calling UndoFinalize() followed by Finalize() (or vice versa) will always return the original remainder value:
CRCType x = ...;
CRCType y = Finalize(x, finalXOR, reflectOutput);
CRCType z = UndoFinalize(y, finalXOR, reflectOutput);
assert(x == z);
Parameters
[in]crcReflected and XORed CRC
[in]finalXORFinal value XORed with the remainder
[in]reflectOutputtrue if the remainder is to be reflected
Template Parameters
CRCTypeInteger type for storing the CRC result
CRCWidthNumber of bits in the CRC
Returns
Un-finalized CRC remainder

The documentation for this class was generated from the following file: