crc
上游未提供说明。
libs/utils/crc/crc.hpp:510.1.0+855c407f828e21 / 24 个公开 API 符号没有说明。
上游未提供说明。
libs/utils/crc/crc.hpp:51上游未提供说明。
libs/utils/crc/crc.hpp:53上游未提供说明。
libs/utils/crc/crc.hpp:93上游未提供说明。
libs/utils/crc/crc.hpp:63上游未提供说明。
libs/utils/crc/crc.hpp:69上游未提供说明。
libs/utils/crc/crc.hpp:73上游未提供说明。
libs/utils/crc/crc.hpp:77上游未提供说明。
libs/utils/crc/crc.hpp:81上游未提供说明。
libs/utils/crc/crc.hpp:65
static constexpr value_type crc::CRCX< Bits, Poly, Init, Rin, Rout, XorOut >::calc (const std::array< uint8_t, N > &data)
上游未提供说明。
libs/utils/crc/crc.hpp:168
static value_type crc::CRCX< Bits, Poly, Init, Rin, Rout, XorOut >::calc (const uint8_t *data, size_t len)
上游未提供说明。
libs/utils/crc/crc.hpp:140
static constexpr std::array< value_type, 256 > crc::CRCX< Bits, Poly, Init, Rin, Rout, XorOut >::generate_table ()
生成 256 项查找表。 运行时计算 CRC 时只需要做表查找,不必每个 bit 都手工移位。
libs/utils/crc/crc.hpp:129
static constexpr value_type crc::CRCX< Bits, Poly, Init, Rin, Rout, XorOut >::table_entry (uint8_t index)
计算查找表中的单个表项。 这个函数在编译期生成 256 项查找表时被调用,因此运行时不会重复做这部分计算。
libs/utils/crc/crc.hpp:106
T crc::detail::bit_reverse (T value, unsigned bits)
上游未提供说明。
libs/utils/crc/crc.hpp:55
using crc::CRCX< Bits, Poly, Init, Rin, Rout, XorOut >::value_type = detail::uint_of_bits_t<Bits>
上游未提供说明。
libs/utils/crc/crc.hpp:97
using crc::detail::uint_of_bits< 16 >::type = uint16_t
上游未提供说明。
libs/utils/crc/crc.hpp:71
using crc::detail::uint_of_bits< 24 >::type = uint32_t
上游未提供说明。
libs/utils/crc/crc.hpp:75
using crc::detail::uint_of_bits< 32 >::type = uint32_t
上游未提供说明。
libs/utils/crc/crc.hpp:79
using crc::detail::uint_of_bits< 64 >::type = uint64_t
上游未提供说明。
libs/utils/crc/crc.hpp:83
using crc::detail::uint_of_bits< 8 >::type = uint8_t
上游未提供说明。
libs/utils/crc/crc.hpp:67
using crc::detail::uint_of_bits_t = typename uint_of_bits<Bits>::type
上游未提供说明。
libs/utils/crc/crc.hpp:86
value_type crc::CRCX< Bits, Poly, Init, Rin, Rout, XorOut >::mask
上游未提供说明。
libs/utils/crc/crc.hpp:99
auto crc::CRCX< Bits, Poly, Init, Rin, Rout, XorOut >::table
上游未提供说明。
libs/utils/crc/crc.hpp:137通用 CRC 模板库。 syhanjin 2026-03-01 这个文件把常见 CRC 算法统一抽象成一个模板:多项式、初值、输入/输出是否反转、最终异或值都可以配置。 对使用者来说,最常见的用法就是直接 typedef 一个别名,然后在协议校验、数据帧完整性检查里调用 calc()。 下面这些别名样例可以直接复制到自己的代码里: //CRC-8 using crc::CRCX<8, 0x07, 0x00, false, false, 0x00> CRC8_ATM=; //CRC-8/MAXIM using crc::CRCX<8, 0x31, 0x00, true, true, 0x00> CRC8_MAXIM=; //CRC-16/MODBUS using crc::CRCX<16, 0x8005, 0xFFFF, true, true, 0x0000> CRC16_MODBUS=; //CRC-16/CCITT-FALSE using crc::CRCX<16, 0x1021, 0xFFFF, false, false, 0x0000> CRC16_CCITT=; //CRC-24/OpenPGP using crc::CRCX<24, 0x864CFB, 0xB704CE, false, false, 0x000000> CRC24_PGP=; //CRC-32(Ethernet) using crc::CRCX<32, 0x04C11DB7, 0xFFFFFFFF, true, true, 0xFFFFFFFF> CRC32=; //CRC-32C using crc::CRCX<32, 0x1EDC6F41, 0xFFFFFFFF, true, true, 0xFFFFFFFF> CRC32C=; //CRC-64/ECMA using crc::CRCX CRC64_ECMA=<64, 0x42F0E1EBA9EA3693ULL, 0x0000000000000000ULL, false , false , 0x0000000000000000ULL>;
libs/utils/crc/crc.hpp