![]() |
hamigaki::binary_io_traits —
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&);
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 |