nlib
nn::nlib::Crc32 クラスfinal

データ(ストリーム)のCRC-32を計算するためのクラスです。 [詳解]

#include "nn/nlib/Crc.h"

公開メンバ関数

errno_t Update (const void *buf, size_t len) noexcept
 チェックサムを与えられた領域のデータを用いて更新します。 [詳解]
 
errno_t Update (int b) noexcept
 チェックサムを1バイトのデータを用いて更新します。 [詳解]
 
uint32_t GetValue () const noexcept
 CRC-32の値を返します。 [詳解]
 

詳解

データ(ストリーム)のCRC-32を計算するためのクラスです。

説明
CRC-32の計算方法は複数ありますが、このクラスではRFC2083(PNG), RFC1952(gzip)と同じ方式で計算を行います。
// 文字列のチェックサムを取る
Crc32 c;
const char str[] = "This is a string";
c.Update(&str[0], std::strlen(str));
c.GetValue(); // 0x0876633FUL

Crc.h10 行目に定義があります。

関数詳解

nn::nlib::Crc32::GetValue ( ) const
noexcept

CRC-32の値を返します。

戻り値
CRC-32の値
nn::nlib::Crc32::Update ( const void *  buf,
size_t  len 
)
noexcept

チェックサムを与えられた領域のデータを用いて更新します。

引数
[in]bufチェックサムの更新に使用するメモリ領域
[in]lenメモリ領域のサイズ
戻り値
最初に実行する場合のみENOMEMを返す可能性があります。
nn::nlib::Crc32::Update ( int  b)
noexcept

チェックサムを1バイトのデータを用いて更新します。

引数
[in]bチェックサムの更新に使用するバイトデータ
戻り値
最初に実行する場合のみENOMEMを返す可能性があります。

このクラス詳解は次のファイルから抽出されました: