leveldb
Public Member Functions | Private Attributes | List of all members
leveldb::InternalFilterPolicy Class Reference

#include <dbformat.h>

Inheritance diagram for leveldb::InternalFilterPolicy:
Inheritance graph
[legend]
Collaboration diagram for leveldb::InternalFilterPolicy:
Collaboration graph
[legend]

Public Member Functions

 InternalFilterPolicy (const FilterPolicy *p)
 
virtual const char * Name () const
 
virtual void CreateFilter (const Slice *keys, int n, std::string *dst) const
 
virtual bool KeyMayMatch (const Slice &key, const Slice &filter) const
 
- Public Member Functions inherited from leveldb::FilterPolicy
virtual ~FilterPolicy ()
 

Private Attributes

const FilterPolicy *const user_policy_
 

Detailed Description

Definition at line 131 of file dbformat.h.

Constructor & Destructor Documentation

§ InternalFilterPolicy()

leveldb::InternalFilterPolicy::InternalFilterPolicy ( const FilterPolicy p)
inlineexplicit

Definition at line 135 of file dbformat.h.

135 : user_policy_(p) { }
const FilterPolicy *const user_policy_
Definition: dbformat.h:133

Member Function Documentation

§ CreateFilter()

void leveldb::InternalFilterPolicy::CreateFilter ( const Slice keys,
int  n,
std::string *  dst 
) const
virtual

Implements leveldb::FilterPolicy.

Definition at line 105 of file dbformat.cc.

106  {
107  // We rely on the fact that the code in table.cc does not mind us
108  // adjusting keys[].
109  Slice* mkey = const_cast<Slice*>(keys);
110  for (int i = 0; i < n; i++) {
111  mkey[i] = ExtractUserKey(keys[i]);
112  // TODO(sanjay): Suppress dups?
113  }
114  user_policy_->CreateFilter(keys, n, dst);
115 }
Slice ExtractUserKey(const Slice &internal_key)
Definition: dbformat.h:98
const FilterPolicy *const user_policy_
Definition: dbformat.h:133
virtual void CreateFilter(const Slice *keys, int n, std::string *dst) const =0
Here is the call graph for this function:

§ KeyMayMatch()

bool leveldb::InternalFilterPolicy::KeyMayMatch ( const Slice key,
const Slice filter 
) const
virtual

Implements leveldb::FilterPolicy.

Definition at line 117 of file dbformat.cc.

117  {
118  return user_policy_->KeyMayMatch(ExtractUserKey(key), f);
119 }
virtual bool KeyMayMatch(const Slice &key, const Slice &filter) const =0
Slice ExtractUserKey(const Slice &internal_key)
Definition: dbformat.h:98
const FilterPolicy *const user_policy_
Definition: dbformat.h:133
Here is the call graph for this function:

§ Name()

const char * leveldb::InternalFilterPolicy::Name ( ) const
virtual

Implements leveldb::FilterPolicy.

Definition at line 101 of file dbformat.cc.

101  {
102  return user_policy_->Name();
103 }
virtual const char * Name() const =0
const FilterPolicy *const user_policy_
Definition: dbformat.h:133

Member Data Documentation

§ user_policy_

const FilterPolicy* const leveldb::InternalFilterPolicy::user_policy_
private

Definition at line 133 of file dbformat.h.


The documentation for this class was generated from the following files: