crate::ix!();
fn reverse(key_: &Slice) -> String {
todo!();
}
struct ReverseKeyComparator {
}
impl SliceComparator for ReverseKeyComparator {
}
impl Name for ReverseKeyComparator {
fn name(&self) -> *const u8 {
todo!();
}
}
impl Compare for ReverseKeyComparator {
fn compare(&self,
a: &Slice,
b: &Slice) -> i32 {
todo!();
}
}
impl FindShortestSeparator for ReverseKeyComparator {
fn find_shortest_separator(&self,
start: *mut String,
limit: &Slice) {
todo!();
}
}
impl FindShortSuccessor for ReverseKeyComparator {
fn find_short_successor(&self, key_: *mut String) {
todo!();
}
}
lazy_static!{
}
fn increment(
cmp: Box<dyn SliceComparator>,
key_: *mut String) {
todo!();
}
struct StringSink {
contents: String,
}
impl WritableFile for StringSink { }
impl StringSink {
pub fn contents(&self) -> &String {
todo!();
}
}
impl WritableFileClose for StringSink {
fn close(&mut self) -> crate::Status {
todo!();
}
}
impl WritableFileFlush for StringSink {
fn flush(&mut self) -> crate::Status {
todo!();
}
}
impl WritableFileSync for StringSink {
fn sync(&mut self) -> crate::Status {
todo!();
}
}
impl WritableFileAppend for StringSink {
fn append(&mut self, data: &Slice) -> crate::Status {
todo!();
}
}
impl GetName for StringSink {
fn get_name(&self) -> &'static str {
todo!();
}
}
struct StringSource {
contents: String,
}
impl RandomAccessFile for StringSource {
}
impl RandomAccessFileRead for StringSource {
fn read(&self,
offset: u64,
n: usize,
result: *mut Slice,
scratch: *mut u8) -> crate::Status {
todo!();
}
}
impl GetName for StringSource {
fn get_name(&self) -> &'static str {
todo!();
}
}
impl StringSource {
pub fn new(contents: &Slice) -> Self {
todo!();
}
pub fn size(&self) -> u64 {
todo!();
}
}
struct BlockConstructor {
base: Constructor,
comparator: Box<dyn SliceComparator>,
data: String,
block: *mut Block,
}
impl Drop for BlockConstructor {
fn drop(&mut self) {
todo!();
}
}
impl BlockConstructor {
pub fn new(cmp: Box<dyn SliceComparator>) -> Self {
todo!();
}
pub fn finish_impl(&mut self,
options: &Options,
data: &KVMap) -> crate::Status {
todo!();
}
pub fn new_iterator(&self) -> *mut LevelDBIterator {
todo!();
}
}
struct TableConstructor {
base: Constructor,
source: *mut StringSource,
table: *mut Table,
}
impl Drop for TableConstructor {
fn drop(&mut self) {
todo!();
}
}
impl TableConstructor {
pub fn new(cmp: Box<dyn SliceComparator>) -> Self {
todo!();
}
pub fn finish_impl(&mut self,
options: &Options,
data: &KVMap) -> crate::Status {
todo!();
}
pub fn new_iterator(&self) -> *mut LevelDBIterator {
todo!();
}
pub fn approximate_offset_of(&self, key_: &Slice) -> u64 {
todo!();
}
pub fn reset(&mut self) {
todo!();
}
}
struct KeyConvertingIterator {
base: LevelDBIterator,
status: RefCell<Status>,
iter: *mut LevelDBIterator,
}
impl Drop for KeyConvertingIterator {
fn drop(&mut self) {
todo!();
}
}
impl KeyConvertingIterator {
pub fn new(iter: *mut LevelDBIterator) -> Self {
todo!();
}
pub fn valid(&self) -> bool {
todo!();
}
pub fn seek(&mut self, target: &Slice) {
todo!();
}
pub fn seek_to_first(&mut self) {
todo!();
}
pub fn seek_to_last(&mut self) {
todo!();
}
pub fn next(&mut self) {
todo!();
}
pub fn prev(&mut self) {
todo!();
}
pub fn key(&self) -> Slice {
todo!();
}
pub fn value(&self) -> Slice {
todo!();
}
pub fn status(&self) -> crate::Status {
todo!();
}
}