leveldb-rs-binding 2.0.1

An interface for the LevelDB
Documentation
//! Rust interface for Google's LevelDB key-value storage library.
//!
//! [Examples](https://github.com/rim99/leveldb-rs-binding/tree/trunk/example).

#![crate_type = "lib"]
#![crate_name = "leveldb"]
#![deny(missing_docs)]

extern crate libc;
#[macro_use]
extern crate ffi_opaque;

pub use crate::binding::{leveldb_major_version, leveldb_minor_version};
pub use crate::database::batch;
pub use crate::database::compaction;
pub use crate::database::comparator;
pub use crate::database::error;
pub use crate::database::iterator;
pub use crate::database::kv;
pub use crate::database::management;
pub use crate::database::options;
pub use crate::database::property;
pub use crate::database::snapshots;
pub use crate::database::statistics;

mod binding;
#[allow(missing_docs)]
pub mod database;

/// Library version information
///
/// Need a recent version of LevelDB to be used.
pub trait Version {
    /// The major version.
    fn major() -> isize {
        unsafe { leveldb_major_version() as isize }
    }

    /// The minor version
    fn minor() -> isize {
        unsafe { leveldb_minor_version() as isize }
    }
}