1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
#![feature(const_option)] #![no_std] extern crate alloc; use core::sync::atomic::AtomicI64; mod triarena; mod triptr; pub use triarena::Arena; pub use triptr::TriPtr; pub mod prelude { pub use crate::{Arena, TriPtr}; } /// For generating unique Arena IDs. Starts at 2 so that `NonZeroU64` for enum /// optimization and a guaranteed invalid id can exist. static GLOBAL_ARENA_ID: AtomicI64 = AtomicI64::new(2); /// For generating unique invalid `TriPtr`s static GLOBAL_UNIQUE_INVALID_GEN: AtomicI64 = AtomicI64::new(2);