5DK27MY64PYEWKEMY5DLZBYR5YPPTTFACSE3HECYRQFFPRZZPHIAC
AWW3HMEVLO6Y3I5WC6GU2KAC5CPKRXBAYPXCYX3XTCJ5CTIDLXHAC
IOHM3NIST5FMQDSRXXXOBNK2DKQKHDFB4YWJWRB6B2ROWVB7W75QC
W4IAZWGKQDDFZOU3KD52ZBRMGA5LLSO33JJHQUYH2TCT6OCHPWSQC
VXKHXMQLNMD7OG4CKSZTX75WMHYTGXJG7AL7YTQBMI2WJ3GQC6JQC
U5KNSQ77TIOWPR7H276RHQJMVHC4TWCDGGRM65LQ5VSPPGHUCY7QC
HL3B7CBVIFOE5UDQ4PFYFLTSHWY6ITXMWSLNKFAI7QQHLD5GRF2AC
Z5WCQLAHVRIRZRE6K3AO6IP7Y5F4AMAMA6Q7U4ANGHA5TUCNOC2QC
//! The crate also provides threaded debouncers built on top of the buffers,
//! which is what you probably want to use most of the time.
//! The crate also provides [threaded debouncers](thread) built on top of the
//! buffers, which is what you probably want to use most of the time.
/// Returns an iterator over all `State::Ready` elements of the buffer.
/// Stops when either the next element is in (`State::Wait`) or the buffer
/// is `State::Empty`.
/// Returns an iterator over all [State::Ready] elements of the buffer.
/// Stops when either the next element is in [State::Wait] or the buffer
/// is [State::Empty].
/// Wraps a mutable reference to a buffer and implements an `Iterator` returning
/// elements in `State::Ready`. Commonly instantiated by `buffer.iter()`.
/// Wraps a mutable reference to a buffer and implements an [Iterator] returning
/// elements in [State::Ready]. Commonly instantiated by [Get::iter()].
/// `.put()` which tracks the time of the event and de-duplicates them against
/// the current buffer content. Subsequent call to `.get()` which returns the
/// `State` of the buffer.
/// [EventBuffer::put()] which tracks the time of events and de-duplicates them
/// against the current buffer content. Subsequent call to [EventBuffer::get
/// ()] which returns the [State] of the buffer.
/// Debouncing buffer with per-event delays. Accepts events via `.put(T, delay)`
/// which tracks the time of the event and de-duplicates them against the
/// current buffer content. Subsequent call to `.get()` which returns the
/// `State` of the buffer.
/// Debouncing buffer with per-event delays. Accepts events via
/// [MixedEventBuffer::put()] passing a `delay` as an argument. The call
/// tracks the time of events and de-duplicates them against the current buffer
/// content. Subsequent call to [MixedEventBuffer::get()] which returns the
/// [State] of the buffer.