sync with upstream @21627589
Minor changes: * Reformat the bodies of the iterator interface routines in IteratorWrapper to make them a bit easier to read * Switched the default in the leveldb makefile to be optimized mode, rather than debug mode * Fix build problem in chromium port git-svn-id: https://leveldb.googlecode.com/svn/trunk@30 62dab493-f737-651d-591e-8d6aee1b9529
This commit is contained in:
parent
740d8b3d00
commit
c4f5514948
12
Makefile
12
Makefile
@ -4,9 +4,15 @@
|
|||||||
|
|
||||||
CC = g++
|
CC = g++
|
||||||
|
|
||||||
# Uncomment one of the following to switch between debug and opt mode
|
#-----------------------------------------------
|
||||||
#OPT = -O2 -DNDEBUG
|
# Uncomment exactly one of the lines labelled (A), (B), and (C) below
|
||||||
OPT = -g2
|
# to switch between compilation modes.
|
||||||
|
|
||||||
|
OPT = -O2 -DNDEBUG # (A) Production use (optimized mode)
|
||||||
|
# OPT = -g2 # (B) Debug mode, w/ full line-level debugging symbols
|
||||||
|
# OPT = -O2 -g2 -DNDEBUG # (C) Profiling mode: opt, but w/debugging symbols
|
||||||
|
#-----------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
UNAME := $(shell uname)
|
UNAME := $(shell uname)
|
||||||
|
|
||||||
|
@ -35,6 +35,9 @@
|
|||||||
# The base libary is a lightweight abstraction layer for things like
|
# The base libary is a lightweight abstraction layer for things like
|
||||||
# threads and IO. http://src.chromium.org/viewvc/chrome/trunk/src/base/
|
# threads and IO. http://src.chromium.org/viewvc/chrome/trunk/src/base/
|
||||||
'../../base/base.gyp:base',
|
'../../base/base.gyp:base',
|
||||||
|
# base::LazyInstance is a template that pulls in dynamic_annotations so
|
||||||
|
# we need to explictly link in the code for dynamic_annotations.
|
||||||
|
'../../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations',
|
||||||
],
|
],
|
||||||
'conditions': [
|
'conditions': [
|
||||||
['use_snappy', {
|
['use_snappy', {
|
||||||
|
@ -34,16 +34,16 @@ class IteratorWrapper {
|
|||||||
|
|
||||||
|
|
||||||
// Iterator interface methods
|
// Iterator interface methods
|
||||||
bool Valid() const { return valid_; }
|
bool Valid() const { return valid_; }
|
||||||
Slice key() const { assert(Valid()); return key_; }
|
Slice key() const { assert(Valid()); return key_; }
|
||||||
Slice value() const { assert(Valid()); return iter_->value(); }
|
Slice value() const { assert(Valid()); return iter_->value(); }
|
||||||
// Methods below require iter() != NULL
|
// Methods below require iter() != NULL
|
||||||
Status status() const { assert(iter_); return iter_->status(); }
|
Status status() const { assert(iter_); return iter_->status(); }
|
||||||
void Next() { assert(iter_); iter_->Next(); Update(); }
|
void Next() { assert(iter_); iter_->Next(); Update(); }
|
||||||
void Prev() { assert(iter_); iter_->Prev(); Update(); }
|
void Prev() { assert(iter_); iter_->Prev(); Update(); }
|
||||||
void Seek(const Slice& k) { assert(iter_); iter_->Seek(k); Update(); }
|
void Seek(const Slice& k) { assert(iter_); iter_->Seek(k); Update(); }
|
||||||
void SeekToFirst() { assert(iter_); iter_->SeekToFirst(); Update(); }
|
void SeekToFirst() { assert(iter_); iter_->SeekToFirst(); Update(); }
|
||||||
void SeekToLast() { assert(iter_); iter_->SeekToLast(); Update(); }
|
void SeekToLast() { assert(iter_); iter_->SeekToLast(); Update(); }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void Update() {
|
void Update() {
|
||||||
|
Loading…
Reference in New Issue
Block a user