Home | History | Annotate | Download | only in table
      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 extern Iterator* NewMergingIterator(
     22     const Comparator* comparator, Iterator** children, int n);
     23 
     24 }  // namespace leveldb
     25 
     26 #endif  // STORAGE_LEVELDB_TABLE_MERGER_H_
     27