TNB Library
|
シリアライズタグクラス. [詳解]
#include <TnbSerializer.h>
公開メンバ関数 | |
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 行目に定義があります。