CTR-Pia
5.4.3
Game Communication Engine
|
クローンエレメントに設定する値のシリアライズ・デシリアライズの方法を定義します。 [詳細]
Static Public メソッド | |
static void | Deserialize (Type *pValue, const void *cpData) |
デシリアライズします。 | |
static uint32_t | GetSerializedSize () |
シリアライズされたサイズです。 | |
static void | Serialize (void *pBuffer, const Type &value) |
シリアライズします。 | |
クローンエレメントに設定する値のシリアライズ・デシリアライズの方法を定義します。
Type_ | シリアライズ対象のデータ型です。 |
このクラスが実装されているのは、 Type が uint8_t, int8_t, uint16_t, int16_t, uint32_t, int32_t, uint64_t, int64_t, float, double のものだけです。 任意の型に対してこのクラスを使用するためには、その型に対応したシリアライズ関数とデシリアライズ関数を実装し、シリアライズ後のサイズを GetSerializedSize() の戻り値として定義する必要があります。
例えば、
という型に対して、
と実装する必要があります。
異種プラットフォーム間マッチメイクによる異なるプラットフォーム間での通信を行う際には、パディングによる構造体のサイズ変動やエンディアンの不一致等が起こる可能性があります。 その場合に、Serialize / Deserialize / GetSerializedSize 関数で構造体のメモリコピーや sizeof() によるデータサイズ取得を行うように実装すると、正常に通信を行うことができません。 将来にわたって異種プラットフォーム間マッチメイクを行わない場合は、構造体のメモリコピーや sizeof() によるデータサイズ取得を行うように実装することも可能です。
|
static |
デシリアライズします。
[out] | pValue | デシリアライズされたデータの保存先です。 |
[in] | cpData | デシリアライズするバイト列です。 |
|
static |
|
static |
シリアライズします。
[out] | pBuffer | 出力先バッファです。 |
[in] | value | シリアライズ対象のデータです。 |