aboutsummaryrefslogtreecommitdiff
path: root/src/leveldb/table/merger.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/leveldb/table/merger.h')
-rw-r--r--src/leveldb/table/merger.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/leveldb/table/merger.h b/src/leveldb/table/merger.h
new file mode 100644
index 000000000..91ddd80fa
--- /dev/null
+++ b/src/leveldb/table/merger.h
@@ -0,0 +1,26 @@
+// Copyright (c) 2011 The LevelDB Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file. See the AUTHORS file for names of contributors.
+
+#ifndef STORAGE_LEVELDB_TABLE_MERGER_H_
+#define STORAGE_LEVELDB_TABLE_MERGER_H_
+
+namespace leveldb {
+
+class Comparator;
+class Iterator;
+
+// Return an iterator that provided the union of the data in
+// children[0,n-1]. Takes ownership of the child iterators and
+// will delete them when the result iterator is deleted.
+//
+// The result does no duplicate suppression. I.e., if a particular
+// key is present in K child iterators, it will be yielded K times.
+//
+// REQUIRES: n >= 0
+extern Iterator* NewMergingIterator(
+ const Comparator* comparator, Iterator** children, int n);
+
+} // namespace leveldb
+
+#endif // STORAGE_LEVELDB_TABLE_MERGER_H_