stack_queue/
lib.rs

1#![cfg_attr(docsrs, feature(doc_cfg))]
2#![cfg_attr(loom, allow(dead_code))]
3#![allow(clippy::missing_transmute_annotations)]
4
5#[macro_use(assert_cfg)]
6extern crate static_assertions;
7extern crate self as stack_queue;
8
9assert_cfg!(not(target_pointer_width = "16"));
10
11#[doc(hidden)]
12#[cfg(loom)]
13pub extern crate loom;
14
15const MIN_BUFFER_LEN: usize = 64;
16
17#[cfg(target_pointer_width = "64")]
18const MAX_BUFFER_LEN: usize = u32::MAX as usize;
19#[cfg(target_pointer_width = "32")]
20const MAX_BUFFER_LEN: usize = u16::MAX as usize;
21
22pub mod assignment;
23mod helpers;
24mod queue;
25pub mod task;
26
27pub use derive_stack_queue::local_queue;
28#[doc(hidden)]
29pub use queue::BufferCell;
30pub use queue::{BackgroundQueue, BatchReducer, LocalQueue, StackQueue, TaskQueue};