717 const std::vector<FileMetaData*>& base_files =
base_->
files_[level];
718 std::vector<FileMetaData*>::const_iterator base_iter = base_files.begin();
719 std::vector<FileMetaData*>::const_iterator base_end = base_files.end();
721 v->files_[level].reserve(base_files.size() + added->size());
722 for (FileSet::const_iterator added_iter = added->begin();
723 added_iter != added->end();
726 for (std::vector<FileMetaData*>::const_iterator bpos
727 = std::upper_bound(base_iter, base_end, *added_iter, cmp);
737 for (; base_iter != base_end; ++base_iter) {
744 for (uint32_t i = 1; i < v->files_[level].size(); i++) {
745 const InternalKey& prev_end = v->files_[level][i-1]->largest;
746 const InternalKey& this_begin = v->files_[level][i]->smallest;
748 fprintf(stderr,
"overlapping ranges in same level %s vs. %s\n",
749 prev_end.DebugString().c_str(),
750 this_begin.DebugString().c_str());
virtual int Compare(const Slice &a, const Slice &b) const
std::vector< FileMetaData * > files_[config::kNumLevels]
std::set< FileMetaData *, BySmallestKey > FileSet
static const int kNumLevels
LevelState levels_[config::kNumLevels]
const InternalKeyComparator icmp_
void MaybeAddFile(Version *v, int level, FileMetaData *f)