Struct proc_macro::bridge::handle::OwnedStore
source · pub(super) struct OwnedStore<T: 'static> {
counter: &'static AtomicUsize,
data: BTreeMap<NonZeroU32, T>,
}
🔬This is a nightly-only experimental API. (
proc_macro_internals
#27812)Expand description
A store that associates values of type T
with numeric handles. A value can
be looked up using its handle.
Fields§
§counter: &'static AtomicUsize
🔬This is a nightly-only experimental API. (
§proc_macro_internals
#27812)data: BTreeMap<NonZeroU32, T>
🔬This is a nightly-only experimental API. (
proc_macro_internals
#27812)Implementations§
source§impl<T> OwnedStore<T>
impl<T> OwnedStore<T>
pub(super) fn new(counter: &'static AtomicUsize) -> Self
🔬This is a nightly-only experimental API. (
proc_macro_internals
#27812)source§impl<T> OwnedStore<T>
impl<T> OwnedStore<T>
pub(super) fn alloc(&mut self, x: T) -> NonZeroU32
🔬This is a nightly-only experimental API. (
proc_macro_internals
#27812)pub(super) fn take(&mut self, h: NonZeroU32) -> T
🔬This is a nightly-only experimental API. (
proc_macro_internals
#27812)Trait Implementations§
source§impl<T> Index<NonZeroU32> for OwnedStore<T>
impl<T> Index<NonZeroU32> for OwnedStore<T>
source§impl<T> IndexMut<NonZeroU32> for OwnedStore<T>
impl<T> IndexMut<NonZeroU32> for OwnedStore<T>
Auto Trait Implementations§
impl<T> RefUnwindSafe for OwnedStore<T>where T: RefUnwindSafe,
impl<T> Send for OwnedStore<T>where T: Send,
impl<T> Sync for OwnedStore<T>where T: Sync,
impl<T> Unpin for OwnedStore<T>
impl<T> UnwindSafe for OwnedStore<T>where T: RefUnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more