leveldb
Classes | Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
leveldb::Iterator Class Referenceabstract

#include <iterator.h>

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

Classes

struct  Cleanup
 

Public Types

typedef void(* CleanupFunction) (void *arg1, void *arg2)
 

Public Member Functions

 Iterator ()
 
virtual ~Iterator ()
 
virtual bool Valid () const =0
 
virtual void SeekToFirst ()=0
 
virtual void SeekToLast ()=0
 
virtual void Seek (const Slice &target)=0
 
virtual void Next ()=0
 
virtual void Prev ()=0
 
virtual Slice key () const =0
 
virtual Slice value () const =0
 
virtual Status status () const =0
 
void RegisterCleanup (CleanupFunction function, void *arg1, void *arg2)
 

Private Member Functions

 Iterator (const Iterator &)
 
void operator= (const Iterator &)
 

Private Attributes

Cleanup cleanup_
 

Detailed Description

Definition at line 23 of file iterator.h.


Class Documentation

§ leveldb::Iterator::Cleanup

struct leveldb::Iterator::Cleanup

Definition at line 79 of file iterator.h.

Collaboration diagram for leveldb::Iterator::Cleanup:
Class Members
void * arg1
void * arg2
CleanupFunction function
Cleanup * next

Member Typedef Documentation

§ CleanupFunction

typedef void(* leveldb::Iterator::CleanupFunction) (void *arg1, void *arg2)

Definition at line 75 of file iterator.h.

Constructor & Destructor Documentation

§ Iterator() [1/2]

leveldb::Iterator::Iterator ( )

Definition at line 9 of file iterator.cc.

9  {
10  cleanup_.function = NULL;
11  cleanup_.next = NULL;
12 }
Cleanup cleanup_
Definition: iterator.h:85
CleanupFunction function
Definition: iterator.h:80

§ ~Iterator()

leveldb::Iterator::~Iterator ( )
virtual

Definition at line 14 of file iterator.cc.

14  {
15  if (cleanup_.function != NULL) {
17  for (Cleanup* c = cleanup_.next; c != NULL; ) {
18  (*c->function)(c->arg1, c->arg2);
19  Cleanup* next = c->next;
20  delete c;
21  c = next;
22  }
23  }
24 }
Cleanup cleanup_
Definition: iterator.h:85
CleanupFunction function
Definition: iterator.h:80

§ Iterator() [2/2]

leveldb::Iterator::Iterator ( const Iterator )
private

Member Function Documentation

§ key()

virtual Slice leveldb::Iterator::key ( ) const
pure virtual

§ Next()

virtual void leveldb::Iterator::Next ( )
pure virtual

§ operator=()

void leveldb::Iterator::operator= ( const Iterator )
private

§ Prev()

virtual void leveldb::Iterator::Prev ( )
pure virtual

§ RegisterCleanup()

void leveldb::Iterator::RegisterCleanup ( CleanupFunction  function,
void *  arg1,
void *  arg2 
)

Definition at line 26 of file iterator.cc.

26  {
27  assert(func != NULL);
28  Cleanup* c;
29  if (cleanup_.function == NULL) {
30  c = &cleanup_;
31  } else {
32  c = new Cleanup;
33  c->next = cleanup_.next;
34  cleanup_.next = c;
35  }
36  c->function = func;
37  c->arg1 = arg1;
38  c->arg2 = arg2;
39 }
Cleanup cleanup_
Definition: iterator.h:85
CleanupFunction function
Definition: iterator.h:80
Here is the caller graph for this function:

§ Seek()

virtual void leveldb::Iterator::Seek ( const Slice target)
pure virtual

§ SeekToFirst()

virtual void leveldb::Iterator::SeekToFirst ( )
pure virtual

§ SeekToLast()

virtual void leveldb::Iterator::SeekToLast ( )
pure virtual

§ status()

virtual Status leveldb::Iterator::status ( ) const
pure virtual

§ Valid()

virtual bool leveldb::Iterator::Valid ( ) const
pure virtual

§ value()

virtual Slice leveldb::Iterator::value ( ) const
pure virtual

Member Data Documentation

§ cleanup_

Cleanup leveldb::Iterator::cleanup_
private

Definition at line 85 of file iterator.h.


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