最便捷、最强大、速度最快的C++序列化框架【二】
2009-01-02 14:24
323 查看
项目地址:http://code.google.com/p/febird
目前该框架(DataIO)仅支持二进制。想起序列化支持只需要一个宏DATA_IO_LOAD_S***E/DATA_IO_LOAD_S***E_V,对象成员基本上用“&”连接起来,这样,可以写一个简单的语法分析器,将成员序列化表达转化成字符串,然后进行语法分析,这样,就可以在不用改变客户代码的情况下,进行文本方式(如XML)的序列化了,比boost的要简单许多。
如,目前的宏这样定义:
#define DATA_IO_LOAD_S***E(Class, Members) /
template<class DataIO> void load(DataIO& dio) { dio Members; } /
template<class DataIO> void save(DataIO& dio) const { dio Members; } /
DATA_IO_REG_LOAD_S***E(Class)
可以改成这样:
#define DATA_IO_LOAD_S***E(Class, Members) /
template<class DataIO> void load(DataIO& dio) { static Grammar gram = dio.parse(#Members); Loader ld(gram, dio); ld Members; } /
template<class DataIO> void save(DataIO& dio) const { static Grammar gram = dio.parse(#Members); Saver sv(gram, dio); sv Members; /
DATA_IO_REG_LOAD_S***E(Class)
项目地址:http://code.google.com/p/febird
目前该框架(DataIO)仅支持二进制。想起序列化支持只需要一个宏DATA_IO_LOAD_S***E/DATA_IO_LOAD_S***E_V,对象成员基本上用“&”连接起来,这样,可以写一个简单的语法分析器,将成员序列化表达转化成字符串,然后进行语法分析,这样,就可以在不用改变客户代码的情况下,进行文本方式(如XML)的序列化了,比boost的要简单许多。
如,目前的宏这样定义:
#define DATA_IO_LOAD_S***E(Class, Members) /
template<class DataIO> void load(DataIO& dio) { dio Members; } /
template<class DataIO> void save(DataIO& dio) const { dio Members; } /
DATA_IO_REG_LOAD_S***E(Class)
可以改成这样:
#define DATA_IO_LOAD_S***E(Class, Members) /
template<class DataIO> void load(DataIO& dio) { static Grammar gram = dio.parse(#Members); Loader ld(gram, dio); ld Members; } /
template<class DataIO> void save(DataIO& dio) const { static Grammar gram = dio.parse(#Members); Saver sv(gram, dio); sv Members; /
DATA_IO_REG_LOAD_S***E(Class)
项目地址:http://code.google.com/p/febird
相关文章推荐
- 最便捷、最强大、速度最快的C++序列化框架
- 最便捷、最强大、速度最快的C++序列化框架【二】
- 最便捷、最强大、速度最快的C++序列化框架
- 最便捷、最强大、速度最快的C++序列化框架
- 最便捷、最强大、速度最快的C++序列化框架
- 最便捷、最强大、速度最快的C++序列化框架
- 值得推荐的C/C++框架和库 (真的很强大)
- 值得推荐的C/C++框架和库 (真的很强大)
- 值得推荐的C/C++框架和库 (真的很强大)
- 值得推荐的C/C++框架和库 (真的很强大)
- 值得推荐的C/C++框架和库 (真的很强大)
- 值得推荐的C/C++框架和库 (真的很强大)
- 值得推荐的C/C++框架和库 (真的很强大)
- 值得推荐的C/C++框架和库 (真的很强大)
- 值得推荐的C/C++框架和库 (真的很强大)
- 值得推荐的C/C++框架和库 (真的很强大)
- 值得推荐的C/C++框架和库 (真的很强大)〔转〕
- 值得推荐的C/C++框架和库 (真的很强大)
- 值得推荐的C/C++框架和库 (真的很强大) (转)
- 值得推荐的C/C++框架和库 (真的很强大)