Skip to main content

orx_concurrent_vec/
lib.rs

1#![doc = include_str!("../README.md")]
2#![warn(
3    missing_docs,
4    clippy::unwrap_in_result,
5    clippy::unwrap_used,
6    clippy::panic,
7    clippy::panic_in_result_fn,
8    clippy::float_cmp,
9    clippy::float_cmp_const,
10    clippy::missing_panics_doc,
11    clippy::todo
12)]
13#![cfg_attr(test, allow(clippy::unwrap_in_result, clippy::unwrap_used))]
14#![no_std]
15
16extern crate alloc;
17
18mod common_traits;
19/// Concurrent counterpart of a slice.
20mod concurrent_slice;
21/// A concurrent element providing thread safe access to elements of the concurrent vector or slice.
22mod elem;
23/// Methods requiring `&mut self` reference.
24mod exclusive;
25/// Methods adding elements.
26mod grow;
27mod helpers;
28/// Methods providing shorthands for reducing verbosity of iterators.
29mod iter_shorthands;
30/// Methods that mutate existing elements.
31mod mut_elem;
32mod new;
33mod partial_eq;
34mod split;
35mod state;
36mod to_vec;
37/// Unsafe methods providing direct access to elements.
38mod unsafe_api;
39mod vec;
40
41pub use concurrent_slice::ConcurrentSlice;
42pub use elem::ConcurrentElement;
43pub use orx_fixed_vec::FixedVec;
44pub use orx_pinned_vec::{
45    ConcurrentPinnedVec, IntoConcurrentPinnedVec, PinnedVec, PinnedVecGrowthError,
46};
47pub use orx_split_vec::{Doubling, Linear, SplitVec};
48pub use vec::ConcurrentVec;