#![cfg_attr(feature = "lender", doc = " [`lender::Lender`]: lender::Lender")]
#![cfg_attr(
feature = "lending-iterator",
doc = " [`lending_iterator::LendingIterator`]: lending_iterator::LendingIterator",
)]
#![cfg_attr(
feature = "alloc",
doc = " [`MergingIter`]: merging_iter::MergingIter",
)]
#![cfg_attr(
feature = "alloc",
doc = " [`PooledIter`]: pooled_iter::PooledIter",
)]
#![cfg_attr(
feature = "std",
doc = " [`ThreadsafePooledIter`]: threadsafe_pooled_iter::ThreadsafePooledIter",
)]
#![cfg_attr(doc, doc = include_str!("../README.md"))]
#![cfg_attr(
feature = "lending-iterator",
expect(
non_ascii_idents, clippy::disallowed_script_idents,
reason = "`gat` uses non-ascii character",
),
)]
#![cfg_attr(docsrs, feature(doc_cfg))]
#![no_std]
#[cfg(feature = "alloc")]
extern crate alloc;
#[cfg(feature = "std")]
extern crate std;
mod comparator;
mod cursor;
mod pooled;
mod seekable;
mod seekable_iterators;
mod lending_iterator_support;
#[cfg(feature = "alloc")]
mod merging_iter;
#[cfg(feature = "anchored-pool")]
mod pooled_iter;
#[cfg(feature = "anchored-pool")]
mod threadsafe_pooled_iter;
#[cfg(test)]
mod test_iter;
#[cfg(feature = "lender")]
mod lender_adapter;
#[cfg(feature = "lending-iterator")]
mod lending_iterator_adapter;
pub use self::{
comparator::{Comparator, OrdComparator},
cursor::{CursorIterator, CursorLendingIterator, CursorPooledIterator},
lending_iterator_support::{ImplyBound, LendItem, LentItem},
pooled::{OutOfBuffers, PooledIterator},
seekable::{ItemToKey, Seekable},
seekable_iterators::{SeekableIterator, SeekableLendingIterator, SeekablePooledIterator},
};
#[cfg(feature = "lender")]
#[cfg_attr(docsrs, doc(cfg(feature = "lender")))]
pub use self::lender_adapter::{LenderAdapter, PooledLenderAdapter};
#[cfg(feature = "lending-iterator")]
#[cfg_attr(docsrs, doc(cfg(feature = "lending-iterator")))]
pub use self::lending_iterator_adapter::{LendingIteratorAdapter, PooledLendingIteratorAdapter};
#[cfg(feature = "alloc")]
#[cfg_attr(docsrs, doc(cfg(feature = "alloc")))]
pub use self::merging_iter::MergingIter;
#[cfg(feature = "anchored-pool")]
#[cfg_attr(docsrs, doc(cfg(feature = "anchored-pool")))]
pub use self::{
pooled_iter::{PooledIter, PoolItem},
threadsafe_pooled_iter::{ThreadsafePooledIter, ThreadsafePoolItem},
};