mqsdx 310.0.1 MQPluginSDK Extention Library / mqsdkをC++またはCLI(.Net)拡張するサポートライブラリ

- メインページ
- 関連ページ
- モジュール
- クラス
- ファイル

- 構成
- 構成索引
- クラス階層
- 構成メンバ

全て クラス 関数 変数 型定義 プロパティ グループ ページ
Public メソッド | Static Public メソッド | Static Public 変数 | すべてのメンバ一覧
構造体 テンプレート MQ0x::CollectionHashCode< T_OUT, default_seed >
MQ0xの一覧

組込型配列からハッシュコードを生成するクラス [詳細]

`#include <MQ0x.hpp>`

## Public メソッド
| CollectionHashCode (const T_OUT seed=defaultSeed)
| デフォルトコンストラクタ
template<typename T_IN >
| CollectionHashCode (const T_IN *pSrc, const size_t ct, const T_OUT seed=defaultSeed)
| 配列の先頭ポインタと個数を指定してハッシュコードを生成 [詳細]
| CollectionHashCode (const char *pSrc, const T_OUT seed=defaultSeed)
| 文字列を指定してハッシュコードを生成 [詳細]
| CollectionHashCode (const wchar_t *pSrc, const T_OUT seed=defaultSeed)
| ワイド文字列を指定してハッシュコードを生成 [詳細]
| operator T_OUT ()
| 暗黙のキャストを介して戻り値を取得

## Static Public メソッド
template<typename T_IN >
static CollectionHashCode | FromTrailCodeCollection (const T_IN *pSrc, const T_IN trailCode, const T_OUT seed=defaultSeed)
| 配列の先頭ポインタと配列の終端値を指定してハッシュコードを生成 [詳細]

## Static Public 変数
static const T_OUT | defaultSeed = (T_OUT)default_seed
| T_OUTにキャストされたデフォルトの初期値

## 説明

### template<typename T_OUT, const size_t default_seed = 17>
struct MQ0x::CollectionHashCode< T_OUT, default_seed >

組込型配列からハッシュコードを生成するクラス

Template Parameters

  T_OUT | ハッシュコードの戻り値型を指定
  default_seed | ハッシュコードのデフォルトの初期値を指定。省略時は整数の17を使用します。

// 文字列のハッシュコードを取得する
DWORD hashOfString = CollectionHashCode<DWORD>("ソース配列（文字列）");
// short配列のハッシュコードを取得する
const short array[] = { 0, 1, 2, 3 };
unsigned int hashOfString = CollectionHashCode<unsigned int>(array, sizeof(array)/sizeof(array[0]));

配列の各要素に対して次のような計算を繰り返してハッシュコードを生成します。四則演算に対応した組込型で、とくに浮動小数点ではない整数系の処理に向きます。

T_OUT hashCode = seed;
(配列要素総当りループ) {
hashCode = hashCode * ((sizeof(T_IN)*8)-1) ^ 配列要素;
}
return hashCode;

## コンストラクタとデストラクタ

template<typename T_OUT , const size_t default_seed = 17>
template<typename T_IN >

MQ0x::CollectionHashCode< T_OUT, default_seed >::CollectionHashCode | ( | const T_IN * | pSrc,
|  | const size_t | ct,
|  | const T_OUT | seed = `defaultSeed`
| ) |  |
| inline

配列の先頭ポインタと個数を指定してハッシュコードを生成

Template Parameters

  T_IN | ソース配列の型を指定

覚え書き
  pSrcがNULLまたは配列数が0である場合、与えられた初期値がそのままハッシュコードとして記録されます。

template<typename T_OUT , const size_t default_seed = 17>

MQ0x::CollectionHashCode< T_OUT, default_seed >::CollectionHashCode | ( | const char * | pSrc,
|  | const T_OUT | seed = `defaultSeed`
| ) |  |
| inline

文字列を指定してハッシュコードを生成

覚え書き
  pSrcがNULLまたは長さが0の空の文字列である場合、与えられた初期値がそのままハッシュコードとして記録されます。

template<typename T_OUT , const size_t default_seed = 17>

MQ0x::CollectionHashCode< T_OUT, default_seed >::CollectionHashCode | ( | const wchar_t * | pSrc,
|  | const T_OUT | seed = `defaultSeed`
| ) |  |
| inline

ワイド文字列を指定してハッシュコードを生成

覚え書き
  pSrcがNULLまたは長さが0の空の文字列である場合、与えられた初期値がそのままハッシュコードとして記録されます。

## 関数

template<typename T_OUT , const size_t default_seed = 17>
template<typename T_IN >

static CollectionHashCode MQ0x::CollectionHashCode< T_OUT, default_seed >::FromTrailCodeCollection | ( | const T_IN * | pSrc,
|  | const T_IN | trailCode,
|  | const T_OUT | seed = `defaultSeed`
| ) |  |
| inline static

配列の先頭ポインタと配列の終端値を指定してハッシュコードを生成

Template Parameters

  T_IN | ソース配列の型を指定

覚え書き
  pSrcがNULLまたは、最初のデータで終端する空の配列である場合、与えられた初期値がそのままハッシュコードとして記録されます。