1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
#![feature(generic_associated_types)]
// #![cfg_attr(not(feature = "std"), no_std)]
//!
//! A trait formulation of the Entry API, to make working with collections more flexible.
//!
//! Particularly if you may need to do some number of unknown operations on multiple collections,
//! it can be helpful to keep the current entries you're working with so you don't need to
//! keep requesting them from the collection.
//!
//! overuse is potentially confusing, but flexibility is powerful, and these functions can be
//! used to create other useful operations on data structures.
//!
mod internal;
/// This module allows you to manipulate entries you have acquired
pub mod entry {
use super::internal;
pub use internal::entry::*;
pub use internal::occupied_entry::*;
pub use internal::vacant_entry::*;
}
/// This module allows you to aquire entries from collections.
///
/// This requires generic associated types.
pub mod get_entry {
use super::internal;
pub use internal::get_entry::*;
}
/// This module contains stubbed out examples of what this API looks like for standard collections.
pub mod dummy_collections {
use super::internal;
pub use internal::dummy_collections::*;
}
/// This module contains implementations of traits on collections, and struct definitions for the entries pertaining to those collections.
pub mod implementations {
use super::internal;
pub use internal::implementations::*;
}