クラス テンプレート langedge::InputSerializer< STORAGE >

入力用基本シリアライザクラス. [詳細]

#include <BasicSerializer.hpp>

langedge::InputSerializer< STORAGE >に対する継承グラフ

Inheritance graph
[凡例]
langedge::InputSerializer< STORAGE >のコラボレーション図

Collaboration graph
[凡例]
すべてのメンバ一覧

Public メソッド

 InputSerializer ()
 コンストラクタ
 ~InputSerializer ()
 デストラクタ
unsigned long loadInteger ()
 整数型のアンパック.
unsigned long unpackULong ()
 unsigned long の取り出し.
InputSerializeroperator>> (bool &val)
 ブール値の取り出し (可変バイト長)
InputSerializeroperator>> (char &val)
 char の取り出し (可変バイト長)
InputSerializeroperator>> (unsigned char &val)
 unsigned char の取り出し (可変バイト長)
InputSerializeroperator>> (short &val)
 short の取り出し (可変バイト長)
InputSerializeroperator>> (unsigned short &val)
 unsigned short の取り出し (可変バイト長)
InputSerializeroperator>> (int &val)
 int の取り出し (可変バイト長)
InputSerializeroperator>> (unsigned int &val)
 unsigned int の取り出し (可変バイト長)
InputSerializeroperator>> (long &val)
 long の取り出し (可変バイト長)
InputSerializeroperator>> (unsigned long &val)
 unsigned long の取り出し (可変バイト長)
InputSerializeroperator>> (float &val)
 浮動小数点の取り出し
InputSerializeroperator>> (double &val)
 倍精度浮動小数点の取り出し.
void loadCString (char *buffer, size_t buffsize)
 c-string の取り出し (オペレータはない。関数を使う).
void loadCString (unsigned char *buffer, size_t buffsize)
 unsigned c-string の取り出し
InputSerializeroperator>> (std::string &str)
 std::string の取り出し
InputSerializeroperator>> (FLBufferHandle &dataBlock)
 データブロックの取り出し.
size_t loadDataBlock (char *buffer, size_t buffsize)
 データブロックの取り出し.
size_t loadDataBlock (std::vector< char > &buffer)
 データブロックの取り出し.
InputSerializeroperator>> (std::vector< char > &vec)
 vector<char> の取り出し
InputSerializeroperator>> (std::vector< unsigned char > &vec)
 vector<unsigned char> の取り出し
template<typename T>
size_t loadArray (T *array, size_t arraysize)
 配列の取り出し.
template<class COMPOUND>
void loadCompound (COMPOUND &obj)
 構造体などの複合型のデシリアライズ
template<class CONTAINER>
void loadPrimitiveContainer (CONTAINER &container)
 プリミティブオブジェクトのシーケンシャルコンテナの取り出し.
template<class CONTAINER>
void loadCompoundContainer (CONTAINER &container)
 複合型オブジェクトのシーケンシャルコンテナの取り出し.

Protected 変数

STORAGE * a_storageObject
 シリアライズされたデータを格納しているオブジェクト.

説明

template<class STORAGE>
class langedge::InputSerializer< STORAGE >

入力用基本シリアライザクラス.

様々なオブジェクトをシリアライザから取り出す。
一般に、ユーザ定義型オブジェクトのデシリアライズをサポートしたい場合は、 ユーザ定義クラスごとに以下のような メンバ関数 (仮に名前は deserialize とする) を定義し、

 class FOO {
     int x;
     short y;
     char z;
 public:
     template<class STORAGE>
     void deserialize( InputSerializer<STORAGE>& serializer ) {
         serializer >> x >> y >> z;
     }
 }; 
さらに、非メンバ関数で
 template<class STORAGE>
 InputSerializer<STORAGE>& operator>> ( InputSerializer<STORAGE>& serializer, FOO& obj ) {
     obj.deserialize( serializer );
     return serializer;
 }
を定義する。
引数:
STORAGE データの格納してあるクラス。 SerializerInputFileStream や SerializerInputMemoryBuffer。


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

template<class STORAGE>
langedge::InputSerializer< STORAGE >::InputSerializer  )  [inline]
 

コンストラクタ

template<class STORAGE>
langedge::InputSerializer< STORAGE >::~InputSerializer  )  [inline]
 

デストラクタ


関数

template<class STORAGE>
unsigned long langedge::InputSerializer< STORAGE >::loadInteger  ) 
 

整数型のアンパック.

4バイト固定、ビッグエンディアン

template<class STORAGE>
unsigned long langedge::InputSerializer< STORAGE >::unpackULong  ) 
 

unsigned long の取り出し.

バッファから可変バイト長の unsigned long をアンパックして取り出す

template<class STORAGE>
InputSerializer& langedge::InputSerializer< STORAGE >::operator>> bool &  val  )  [inline]
 

ブール値の取り出し (可変バイト長)

template<class STORAGE>
InputSerializer& langedge::InputSerializer< STORAGE >::operator>> char &  val  )  [inline]
 

char の取り出し (可変バイト長)

template<class STORAGE>
InputSerializer& langedge::InputSerializer< STORAGE >::operator>> unsigned char &  val  )  [inline]
 

unsigned char の取り出し (可変バイト長)

template<class STORAGE>
InputSerializer& langedge::InputSerializer< STORAGE >::operator>> short &  val  )  [inline]
 

short の取り出し (可変バイト長)

template<class STORAGE>
InputSerializer& langedge::InputSerializer< STORAGE >::operator>> unsigned short &  val  )  [inline]
 

unsigned short の取り出し (可変バイト長)

template<class STORAGE>
InputSerializer& langedge::InputSerializer< STORAGE >::operator>> int &  val  )  [inline]
 

int の取り出し (可変バイト長)

template<class STORAGE>
InputSerializer& langedge::InputSerializer< STORAGE >::operator>> unsigned int &  val  )  [inline]
 

unsigned int の取り出し (可変バイト長)

template<class STORAGE>
InputSerializer& langedge::InputSerializer< STORAGE >::operator>> long &  val  )  [inline]
 

long の取り出し (可変バイト長)

template<class STORAGE>
InputSerializer& langedge::InputSerializer< STORAGE >::operator>> unsigned long &  val  )  [inline]
 

unsigned long の取り出し (可変バイト長)

template<class STORAGE>
InputSerializer& langedge::InputSerializer< STORAGE >::operator>> float &  val  )  [inline]
 

浮動小数点の取り出し

template<class STORAGE>
InputSerializer& langedge::InputSerializer< STORAGE >::operator>> double &  val  )  [inline]
 

倍精度浮動小数点の取り出し.

template<class STORAGE>
void langedge::InputSerializer< STORAGE >::loadCString char *  buffer,
size_t  buffsize
[inline]
 

c-string の取り出し (オペレータはない。関数を使う).

template<class STORAGE>
void langedge::InputSerializer< STORAGE >::loadCString unsigned char *  buffer,
size_t  buffsize
[inline]
 

unsigned c-string の取り出し

template<class STORAGE>
InputSerializer& langedge::InputSerializer< STORAGE >::operator>> std::string &  str  )  [inline]
 

std::string の取り出し

template<class STORAGE>
InputSerializer& langedge::InputSerializer< STORAGE >::operator>> FLBufferHandle &  dataBlock  )  [inline]
 

データブロックの取り出し.

データブロックを固定長バッファに取り出す

template<class STORAGE>
size_t langedge::InputSerializer< STORAGE >::loadDataBlock char *  buffer,
size_t  buffsize
[inline]
 

データブロックの取り出し.

データブロックを固定長バッファに取り出す

例外:
langedge::Exception 引数として渡されたバッファのサイズが小さかった

template<class STORAGE>
size_t langedge::InputSerializer< STORAGE >::loadDataBlock std::vector< char > &  buffer  )  [inline]
 

データブロックの取り出し.

データブロックを可変長バッファに取り出す

template<class STORAGE>
InputSerializer& langedge::InputSerializer< STORAGE >::operator>> std::vector< char > &  vec  )  [inline]
 

vector<char> の取り出し

template<class STORAGE>
InputSerializer& langedge::InputSerializer< STORAGE >::operator>> std::vector< unsigned char > &  vec  )  [inline]
 

vector<unsigned char> の取り出し

template<class STORAGE>
template<typename T>
size_t langedge::InputSerializer< STORAGE >::loadArray T *  array,
size_t  arraysize
[inline]
 

配列の取り出し.

戻り値:
読み込まれた要素数
例外:
langedge::Exception 引数として渡された配列のサイズが小さかった

template<class STORAGE>
template<class COMPOUND>
void langedge::InputSerializer< STORAGE >::loadCompound COMPOUND &  obj  )  [inline]
 

構造体などの複合型のデシリアライズ

template<class STORAGE>
template<class CONTAINER>
void langedge::InputSerializer< STORAGE >::loadPrimitiveContainer CONTAINER &  container  )  [inline]
 

プリミティブオブジェクトのシーケンシャルコンテナの取り出し.

template<class STORAGE>
template<class CONTAINER>
void langedge::InputSerializer< STORAGE >::loadCompoundContainer CONTAINER &  container  )  [inline]
 

複合型オブジェクトのシーケンシャルコンテナの取り出し.


変数

template<class STORAGE>
STORAGE* langedge::InputSerializer< STORAGE >::a_storageObject [protected]
 

シリアライズされたデータを格納しているオブジェクト.

データの格納先の違いにより、SerializerBuffer の適切な派生クラスを用いる。


このクラスの説明は次のファイルから生成されました:
LangEdge ライブラリに対してFri May 6 22:43:04 2005に生成されました。  doxygen 1.4.2