pipecircuit 0.0.14

Correct. Robust. Fast. Portable.
Documentation
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;