filter.h 745 B

1234567891011121314151617181920212223242526272829303132
  1. namespace nanxing_extend
  2. {
  3. //这是个意外,本来是想工厂类和不同的过滤器划分到不同文件的,但是由于贯彻head_only,还没想出来怎么组织文件,只能丢在一起了
  4. //但是但是相信我不会有God class
  5. class FilterPolicy
  6. {
  7. FilterPolicy* creat_Bloomfilter();
  8. FilterPolicy* creat_Cuckoofilter(); //两个工厂函数用于生成不同的过滤器
  9. };
  10. class bloomfilter:public FilterPolicy
  11. {
  12. };
  13. class Cuckoofilter:public FilterPolicy
  14. {
  15. };
  16. FilterPolicy* FilterPolicy::creat_Bloomfilter()
  17. {
  18. return new bloomfilter;
  19. }
  20. FilterPolicy* FilterPolicy::creat_Cuckoofilter()
  21. {
  22. return new Cuckoofilter;
  23. }
  24. }