TNB Library
公開メンバ関数 | 全メンバ一覧
CSerializeTag クラス

シリアライズタグクラス. [詳解]

#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
日付
08/04/16 新規作成

TnbSerializer.h331 行目に定義があります。

構築子と解体子

◆ CSerializeTag()

CSerializeTag ( LPCTSTR  tagName)

コンストラクタ

引数
tagNameタグネーム

TnbSerializer.h339 行目に定義があります。

関数詳解

◆ Deserialize()

virtual void Deserialize ( const IDeserializer ds)
virtual

[通知] デシリアライズ

引数
dsデシリアライザー。これからメンバの内容を取り出してください。
例外
CInvalidParamExceptionタグ名が異なる時、スローされます。
CTnbException失敗時は、任意のスローの可能性があります。

ISerializableを実装しています。

TnbSerializer.h362 行目に定義があります。

◆ Serialize()

virtual void Serialize ( ISerializer _sr) const
virtual

[通知] シリアライズ

引数
[out]_srシリアライザー。 これに対しメンバの内容を追加してください。
例外
CTnbException失敗時は、任意のスローの可能性があります。

ISerializableを実装しています。

TnbSerializer.h350 行目に定義があります。