hamigaki.png

前のページ 上に戻る ホーム 次のページ

Struct template binary_io_traits

hamigaki::binary_io_traits —

Synopsis

template<endianness E, typename T> 
struct binary_io_traits {
  static void read(const char*, T&);
  static void write(char*, const T&);
};

// binary input functions
template<typename T> void binary_read(const char*, T&);
template<endianness E, typename T> void binary_read(const char*, T&);
template<typename T> T binary_read(const char*);
template<endianness E, typename T> T binary_read(const char*);

// binary output functions
template<typename T> void binary_write(char*, const T&);
template<endianness E, typename T> void binary_write(char*, const T&);
template<typename T> void binary_write(std::string&, const T&);
template<endianness E, typename T> void binary_write(std::string&, const T&);

Description

static void read(const char* s, T& x);

特殊化されたstruct_traits<T>が存在すれば、typename struct_traits<T>::membersの内容に従い、構造体の各メンバを読み出す。

Tが符号付き整数または符号なし整数の場合、x = hamigaki::decode_int<E,sizeof(x)>(s)を行う。

Tが上記の型の配列である場合は、配列の要素数だけ上記の操作を繰り返す。

static void write(char* s, const T& x);

特殊化されたstruct_traits<T>が存在すれば、typename struct_traits<T>::membersの内容に従い、構造体の各メンバを書き出す。

Tが符号付き整数または符号なし整数の場合、hamigaki::encode_int<E,sizeof(x)>(s, x)を呼び出す。

Tが上記の型の配列である場合は、配列の要素数だけ上記の操作を繰り返す。

製作著作 © 2006, 2007 Takeshi Mouri

前のページ 上に戻る ホーム 次のページ