mmtkvdb 0.0.5

Memory-mapped key-value database using LMDB
# mmtkvdb

`mmtkvdb` is a crate for Rust which provides a memory-mapped key-value
database. It uses LMDB and links with an existing `liblmdb` on the system.

## API Documentation

For documentation on how to use this crate, refer to the example in
`src/lib.rs`.

## License

See contained `LICENSE` file (MIT License).

## Changelog

* 2022-04-30: Version 0.0.5
    * Method `EnvRo::txn` moved to `Env` trait and renamed to `Env::txn_ro`.
    * Method `EnvRw::txn` renamed to `EnvRw::txn_rw`.
    * Improved documentation of `EnvRo` and `EnvRw` (doc comment explains how
      to create them now, i.e. how to start a transaction)
* 2022-04-22: Version 0.0.4
    * No longer use `PhantomData` to store unit-like structs which indicate
      constraints on key uniqueness in `DbOptions` and `Db` (`KeysUnique` and
      `KeysDuplicate` are `Copy` now and contained directly)
    * Minor fixes in documentation
        * Changed argument name for passing `DbOptions` to `Env::open_dbs`
        * Added link to `Sized` in doc comment on private trait `IsType`
* 2022-04-16: Version 0.0.3
    * Avoid transmute on references: To avoid issues with (possible) future
      changes in Rust, the `storable` module doesn't use `transmute` on
      references anymore. Instead, `std::slice::from_raw_parts`,
      `std::str::from_utf8_unchecked`, and `str::as_bytes()` are used.
* 2022-04-11: Version 0.0.2
    * Moved `Storable`, `StorableConstBytesLen`, and `StorableWithOwned` traits
      to new (public) `storable` module (but `Storable` gets re-exported by
      crate-level module)
    * Added method to clear stale readers
    * Improved documentation on (un)safety
    * Avoid unnecessary re-alignment in some cases of `u8` and `i8`
    * Make type `bool` storable (i.e. implement `Storable` for `bool`)
    * Added documentation comments for private items
    * Code cleanup (moved private `IsType` trait to `helpers` module)
* 2022-04-10: Version 0.0.1
    * First release