acl  3.5.3.0
diff_string.hpp
浏览该文件的文档.
1 #pragma once
2 #include "../acl_cpp_define.hpp"
3 #include "diff_object.hpp"
4 
5 namespace acl
6 {
7 
8 class diff_string : public diff_object
9 {
10 public:
11  /**
12  * 构造函数
13  * @param manager {diff_manager&}
14  * @param key {const char*} 以字符串方式表示的键,非空字符串
15  * @param val {const char*} 以字符串方式表示的值,非空字符串
16  */
17  diff_string(diff_manager& manager, const char* key, const char* val);
18 
19  /**
20  * 设置本对象所在的区间值
21  * @param range {long long}
22  */
23  void set_range(long long range);
24 
25  /**
26  * 获得本对象所在的区间值
27  * @return {long long}
28  */
29  long long get_range(void) const
30  {
31  return range_;
32  }
33 
34 public:
35  // override: 基类纯虚函数的实现
36  const char* get_key(void) const;
37 
38  // override: 基类纯虚函数的实现
39  const char* get_val(void) const;
40 
41  // override: 基类纯函数的实现
42  bool operator== (const diff_object& obj) const;
43 
44  // @override
45  bool check_range(long long range_from, long long range_to) const;
46 
47 private:
48  const char* key_;
49  const char* val_;
50  long long range_;
51 
52  // 析构函数声明为私有的,从而要求动态创建本类对象
53  ~diff_string(void);
54 };
55 
56 } // namespace acl
bool check_range(long long range_from, long long range_to) const
diff_string(diff_manager &manager, const char *key, const char *val)
bool operator==(const diff_object &obj) const
void set_range(long long range)
const char * get_key(void) const
const char * get_val(void) const
long long get_range(void) const
Definition: diff_string.hpp:29