#include <diff_manager.hpp>
求两个集合的差集的管理器
在文件 diff_manager.hpp 第 15 行定义.
◆ diff_manager()
acl::diff_manager::diff_manager |
( |
long long |
range_from = -1 , |
|
|
long long |
range_to = -1 |
|
) |
| |
◆ ~diff_manager()
acl::diff_manager::~diff_manager |
( |
void |
| ) |
|
◆ diff_changes()
void acl::diff_manager::diff_changes |
( |
const std::vector< diff_object * > & |
curr_objs, |
|
|
const std::vector< diff_object * > & |
old_olds |
|
) |
| |
比较两个集合的差集,从而获得两个集合新增的对象集合、删除的对象集合 以及变化的对象集合
- 参数
-
curr_objs | {const std::vector<diff_object*>&} 当前对象的集合 |
old_olds | {const std::list<diff_object*>&} 旧元素集合,内部 用该集合生成哈希表,使当前集合与该旧集合进行差异化比较 |
◆ get_dbuf()
◆ get_deleted()
const std::vector<diff_object*>& acl::diff_manager::get_deleted |
( |
void |
| ) |
const |
|
inline |
当 diff_changes 进行差异化比较成功后,本函数用于返回相对于旧集合, 在当前集合中不存在的(即被删除的)元素集合
- 返回
- {std::vector<diff_object*>&}
在文件 diff_manager.hpp 第 53 行定义.
◆ get_extra_added()
const std::vector<diff_object*>& acl::diff_manager::get_extra_added |
( |
void |
| ) |
const |
|
inline |
获得新增的不在指定区间范围内的对象集合
- 返回
- {const std::vector<diff_object*>&}
在文件 diff_manager.hpp 第 94 行定义.
96 return objs_new_extra_;
◆ get_extra_deleted()
const std::vector<diff_object*>& acl::diff_manager::get_extra_deleted |
( |
void |
| ) |
const |
|
inline |
获得删除的不在指定区间范围内的对象集合
- 返回
- {const std::vector<diff_object*>&}
在文件 diff_manager.hpp 第 103 行定义.
105 return objs_del_extra_;
◆ get_extra_updated()
const std::vector<std::pair<diff_object*, diff_object*> >& acl::diff_manager::get_extra_updated |
( |
void |
| ) |
const |
|
inline |
获得修改的不在指定区间范围内的对象集合
- 返回
- {const std::vector<diff_object*>&}
在文件 diff_manager.hpp 第 113 行定义.
115 return objs_upd_extra_;
◆ get_new()
const std::vector<diff_object*>& acl::diff_manager::get_new |
( |
void |
| ) |
const |
|
inline |
◆ get_same()
const std::vector<diff_object*>& acl::diff_manager::get_same |
( |
void |
| ) |
const |
|
inline |
当 diff_manger 进行差异华比较成功后,本函数用于返回相同对象的集合
- 返回
- {std::vector<diff_object*>&}
在文件 diff_manager.hpp 第 85 行定义.
◆ get_updated()
当 diff_changes 进行差异化比较成功后,本函数用于返回相对于旧集合, 在当前集合中对象值发生变化的变化集合对象
- 返回
- {std::vector<std::pair<diff_object*, diff_object*> >&} 返回产生变化的对象的集合,其中 pair 中的 first 为新对象,second 为旧对象 @sample const std::vector<std::pair<diff_object*, diff_object*> >& results = manager.get_updated(); std::vector<std::pair<diff_object*, diff_object*> >::const_iterator cit = results.begin(); for (; cit != results.end(); ++cit) printf(">> key: %s, curr value:%s, old value: %s\r\n", (*cit).first->get_key(), (*cit).first->get_val(), (*cit).second->get_val());
在文件 diff_manager.hpp 第 76 行定义.
◆ reset()
void acl::diff_manager::reset |
( |
void |
| ) |
|
该类的文档由以下文件生成: