2008年11月7日

持久化的多键映射,使用BerkeleyDB

摘要: 如前介绍,相当于 std::map >,但接口也不完全相同,这里只贴代码:/*vim:settabstop=4:*/#ifndef__febird_bdb_kmapdset_h__ #define__febird_bdb_kmapdset_h__ #ifdefined(_MSC_VER)&&(_MSC_VER>=1020) #pragmaonce #endif #include #include"native_compare.h" #include"../io/DataIO.h" #include"../io/Mem 阅读全文

posted @ 2008-11-07 18:29 能发波 阅读(167) 评论(0) 推荐(0)

持久化的 map ,使用 BerkeleyDB

摘要: 使用前面介绍的序列化框架,可以非常简单地将Bekeley DB作为存储层,实现一个易于使用的,强类型的,持久化的map。这个设计的的基本原则就是:模板作为一个薄的、类型安全的包装层,实现层的代码可以多个模板实例来公用,这样不但加快了编译时间,也减小了生成的代码尺寸。这个实现相当于std::map,但接口上也不完全相同,主要是基于易实现和性能考虑。下一篇介绍std::map >的BerkeleyDB实现。多的不说,贴上代码。file: dbmap.h/*vim:settabstop=4:*/#ifndef__febird_bdb_dbmap_h__ #define__febird_bdb_ 阅读全文

posted @ 2008-11-07 18:14 能发波 阅读(346) 评论(0) 推荐(0)

最便捷、最强大、速度最快的C++序列化框架

摘要: 项目地址:http://code.google.com/p/febird最便捷、最强大、速度最快的C++序列化框架。特别注意:vc6太古老,不符合C++规范,无法使用该框架1.高性能,速度非常快,比你能找到的同类产品至少快一个数量级2.在网络通讯,数据库存储中非常好用。3.预先支持所有基本类型,所有stl容器类型(除stack/queue之外)4.支持变长int32/uint32/int64/uint645.支持stl::pair,boost::tuple6.可选的版本控制,而非强制a)对于小对象,通常不需要版本控制b)boost::serialization的版本号是强制的,当初我设计这个序 阅读全文

posted @ 2008-11-07 18:08 能发波 阅读(203) 评论(0) 推荐(0)

导航