use alloc::vec::Vec;
use super::IndexKey;
use super::dense_key_index::DenseKeyIndex;
mod creation;
mod inconsistency;
mod insert;
mod lookup;
mod remove;
mod replace;
pub use creation::UniqueIndexCreationError;
pub use inconsistency::UniqueIndexInconsistency;
pub use insert::{PreparedUniqueIndexInsert, UniqueIndexInsertError, UniqueIndexInsertOutcome};
pub use lookup::{UniqueIndexLookupError, UniqueIndexLookupOutcome};
pub use remove::{PreparedUniqueIndexRemove, UniqueIndexRemoveError, UniqueIndexRemoveOutcome};
pub use replace::{PreparedUniqueIndexReplace, UniqueIndexReplaceError, UniqueIndexReplaceOutcome};
pub struct UniqueIndex<Key: IndexKey> {
maximum_keys: usize,
keys: Vec<Key>,
key_index: DenseKeyIndex,
}
#[cfg(test)]
mod tests;