seekable_iterator/
lib.rs

1// See https://linebender.org/blog/doc-include for this README inclusion strategy
2// File links are not supported by rustdoc
3//!
4//! [LICENSE-APACHE]: https://github.com/robofinch/generic-container/blob/main/LICENSE-APACHE
5//! [LICENSE-MIT]: https://github.com/robofinch/generic-container/blob/main/LICENSE-MIT
6//!
7//! [`PooledIterator`]: PooledIterator
8//!
9//! [`SeekableIterator`]: SeekableIterator
10//! [`SeekableLendingIterator`]: SeekableLendingIterator
11//! [`SeekablePooledIterator`]: SeekablePooledIterator
12//!
13//! [`CursorIterator`]: CursorIterator
14//! [`CursorLendingIterator`]: CursorLendingIterator
15//! [`CursorPooledIterator`]: CursorPooledIterator
16//!
17//! [`Seekable`]: Seekable
18//! [`Comparator`]: Comparator
19//! [`DefaultComparator`]: DefaultComparator
20//!
21//! [`Ord`]: Ord
22//! [`FusedIterator`]: core::iter::FusedIterator
23#![cfg_attr(feature = "lender", doc = " [`lender::Lender`]: lender::Lender")]
24#![cfg_attr(
25    feature = "lending-iterator",
26    doc = " [`lending_iterator::LendingIterator`]: lending_iterator::LendingIterator",
27)]
28//!
29//! <style>
30//! .rustdoc-hidden { display: none; }
31//! </style>
32#![cfg_attr(doc, doc = include_str!("../README.md"))]
33
34#![cfg_attr(
35    feature = "lending-iterator",
36    expect(
37        non_ascii_idents, clippy::disallowed_script_idents,
38        reason = "`gat` uses non-ascii character",
39    ),
40)]
41
42#![no_std]
43
44mod comparator;
45mod cursor;
46mod pooled;
47mod seekable;
48mod seekable_iterators;
49
50#[cfg(feature = "lender")]
51mod lender_adapter;
52#[cfg(feature = "lending-iterator")]
53mod lending_iterator_adapter;
54
55
56pub use self::{
57    comparator::{Comparator, DefaultComparator},
58    cursor::{CursorIterator, CursorLendingIterator, CursorPooledIterator},
59    pooled::{OutOfBuffers, PooledIterator},
60    seekable::Seekable,
61    seekable_iterators::{SeekableIterator, SeekableLendingIterator, SeekablePooledIterator},
62};
63
64#[cfg(feature = "lender")]
65pub use self::lender_adapter::{LenderAdapter, PooledLenderAdapter};
66#[cfg(feature = "lending-iterator")]
67pub use self::lending_iterator_adapter::{LendingIteratorAdapter, PooledLendingIteratorAdapter};