merger.h raw

   1  // Copyright (c) 2011 The LevelDB Authors. All rights reserved.
   2  // Use of this source code is governed by a BSD-style license that can be
   3  // found in the LICENSE file. See the AUTHORS file for names of contributors.
   4  
   5  #ifndef STORAGE_LEVELDB_TABLE_MERGER_H_
   6  #define STORAGE_LEVELDB_TABLE_MERGER_H_
   7  
   8  namespace leveldb {
   9  
  10  class Comparator;
  11  class Iterator;
  12  
  13  // Return an iterator that provided the union of the data in
  14  // children[0,n-1].  Takes ownership of the child iterators and
  15  // will delete them when the result iterator is deleted.
  16  //
  17  // The result does no duplicate suppression.  I.e., if a particular
  18  // key is present in K child iterators, it will be yielded K times.
  19  //
  20  // REQUIRES: n >= 0
  21  Iterator* NewMergingIterator(const Comparator* comparator, Iterator** children,
  22                               int n);
  23  
  24  }  // namespace leveldb
  25  
  26  #endif  // STORAGE_LEVELDB_TABLE_MERGER_H_
  27