febird.dataio 序列化宏

序列化宏

DATA_IO_LOAD_SAVE(Class,Members)

在类定义内调用,无版本,可以优化

DATA_IO_LOAD_SAVE_E(Class, Members)

在类定义外调用,无版本,可以优化

DATA_IO_LOAD_SAVE_V(Class, CurrentVersion, Members)

在类定义内调用,有版本,不可优化

DATA_IO_LOAD_SAVE_EV(Class, CurrentVersion, Members)

在类定义外调用,有版本,不可优化

DATA_IO_DUMP_RAW_MEM(Class)

序列化就是直接dump的类,不需要转字节序,可优化

DATA_IO_DISABLE_LOAD_SAVE(Class)

不可序列化,引发任何误用下的编译错误

DataIO_IsDump_TypeTrue1(Class)

dump的类,但可能需要转字节序,和DATA_IO_LOAD_SAVE[XXX]配合使用,用该宏声明后可以内嵌在其他类中并正确优化,必须位于namespace febird

 

参数:

Class

/结构名

CurrentVersion

整数文字常量,或者宏定义的常量,如:1,2,3

不可是用const int ver = 2;中的ver,这是为了将来可能的parse并序列化文本

Members

形如 &a&b&ca,b,cClass的成员

如果使用带版本的宏可以使用:vmg.since(ver, m)

表示从ver版本开始增加了成员m

 

项目地址:http://code.google.com/p/febird

你可能感兴趣的:(C++,c,Google,C#)