|
TNB Library
|
シリアライズタグクラス. [詳解]
#include <TnbSerializer.h>
CSerializeTag の継承関係図公開メンバ関数 | |
| CSerializeTag (LPCTSTR tagName) | |
| コンストラクタ [詳解] | |
| virtual void | Deserialize (const IDeserializer &ds) |
| [通知] デシリアライズ [詳解] | |
| virtual void | Serialize (ISerializer &_sr) const |
| [通知] シリアライズ [詳解] | |
シリアライズタグクラス.
シリアライズ機能のサポートクラスです。 シリアライズ時に、タグ(情報名)を持った本クラスのインスタンスを入れることで、 デシリアライズ時に、タグ(情報名)チェックを行うことで誤ったデータのデシリアライズをガードできます (情報名に差異があると、 CInvalidParamException がスローされる)。
void CFoo::Serialize(ISerializer& _sr)
{
int i;
CStr str;
_sr << CSerializeTag(_T("CFooData")); //情報名を追加
_sr << i << str; // int と文字列をシリアライズする。
}
void CFoo::Deserialize(IDeserializer& ds)
{
int i;
CStr str;
ds >> CSerializeTag(_T("CFooData")); //情報名をチェック
ds >> i >> str; // int と文字列を取り出す。
}
|
TnbSerializer.h の 331 行目に定義があります。
| CSerializeTag | ( | LPCTSTR | tagName | ) |
|
virtual |
[通知] デシリアライズ
| ds | デシリアライザー。これからメンバの内容を取り出してください。 |
| CInvalidParamException | タグ名が異なる時、スローされます。 |
| CTnbException | 失敗時は、任意のスローの可能性があります。 |
ISerializableを実装しています。
TnbSerializer.h の 362 行目に定義があります。
|
virtual |
[通知] シリアライズ
| [out] | _sr | シリアライザー。 これに対しメンバの内容を追加してください。 |
| CTnbException | 失敗時は、任意のスローの可能性があります。 |
ISerializableを実装しています。
TnbSerializer.h の 350 行目に定義があります。