leveldb
Public Member Functions | Public Attributes | List of all members
leveldb_filterpolicy_t Struct Reference
Inheritance diagram for leveldb_filterpolicy_t:
Inheritance graph
[legend]
Collaboration diagram for leveldb_filterpolicy_t:
Collaboration graph
[legend]

Public Member Functions

virtual ~leveldb_filterpolicy_t ()
 
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 ()
 

Public Attributes

void * state_
 
void(* destructor_ )(void *)
 
const char *(* name_ )(void *)
 
char *(* create_ )(void *, const char *const *key_array, const size_t *key_length_array, int num_keys, size_t *filter_length)
 
unsigned char(* key_match_ )(void *, const char *key, size_t length, const char *filter, size_t filter_length)
 

Detailed Description

Definition at line 86 of file c.cc.

Constructor & Destructor Documentation

§ ~leveldb_filterpolicy_t()

virtual leveldb_filterpolicy_t::~leveldb_filterpolicy_t ( )
inlinevirtual

Definition at line 100 of file c.cc.

100  {
101  (*destructor_)(state_);
102  }
void * state_
Definition: c.cc:87

Member Function Documentation

§ CreateFilter()

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

Implements leveldb::FilterPolicy.

Definition at line 108 of file c.cc.

108  {
109  std::vector<const char*> key_pointers(n);
110  std::vector<size_t> key_sizes(n);
111  for (int i = 0; i < n; i++) {
112  key_pointers[i] = keys[i].data();
113  key_sizes[i] = keys[i].size();
114  }
115  size_t len;
116  char* filter = (*create_)(state_, &key_pointers[0], &key_sizes[0], n, &len);
117  dst->append(filter, len);
118  free(filter);
119  }
const char * data() const
Definition: slice.h:40
void * state_
Definition: c.cc:87
size_t size() const
Definition: slice.h:43
Here is the call graph for this function:

§ KeyMayMatch()

virtual bool leveldb_filterpolicy_t::KeyMayMatch ( const Slice key,
const Slice filter 
) const
inlinevirtual

Implements leveldb::FilterPolicy.

Definition at line 121 of file c.cc.

121  {
122  return (*key_match_)(state_, key.data(), key.size(),
123  filter.data(), filter.size());
124  }
const char * data() const
Definition: slice.h:40
void * state_
Definition: c.cc:87
unsigned char(* key_match_)(void *, const char *key, size_t length, const char *filter, size_t filter_length)
Definition: c.cc:95
size_t size() const
Definition: slice.h:43
Here is the call graph for this function:

§ Name()

virtual const char* leveldb_filterpolicy_t::Name ( ) const
inlinevirtual

Implements leveldb::FilterPolicy.

Definition at line 104 of file c.cc.

104  {
105  return (*name_)(state_);
106  }
const char *(* name_)(void *)
Definition: c.cc:89
void * state_
Definition: c.cc:87

Member Data Documentation

§ create_

char*(* leveldb_filterpolicy_t::create_) (void *, const char *const *key_array, const size_t *key_length_array, int num_keys, size_t *filter_length)

Definition at line 90 of file c.cc.

§ destructor_

void(* leveldb_filterpolicy_t::destructor_) (void *)

Definition at line 88 of file c.cc.

§ key_match_

unsigned char(* leveldb_filterpolicy_t::key_match_) (void *, const char *key, size_t length, const char *filter, size_t filter_length)

Definition at line 95 of file c.cc.

§ name_

const char*(* leveldb_filterpolicy_t::name_) (void *)

Definition at line 89 of file c.cc.

§ state_

void* leveldb_filterpolicy_t::state_

Definition at line 87 of file c.cc.


The documentation for this struct was generated from the following file: