Struct vecstorage::VecStorage [−][src]
pub struct VecStorage<T> { /* fields omitted */ }
Re-usable memory for creating a vector of references.
See the module-level documentation for more information.
Implementations
impl<T> VecStorage<T>
[src]
impl<T> VecStorage<T>
[src]pub fn with_capacity(capacity: usize) -> Self
[src]
pub fn with_capacity(capacity: usize) -> Self
[src]Create a new VecStorage<T>
with the provided capacity.
Example
use vecstorage::VecStorage; let storage = VecStorage::<u32>::with_capacity(5); assert_eq!(storage.capacity(), 5);
pub fn capacity(&self) -> usize
[src]
pub fn capacity(&self) -> usize
[src]Get the capacity of the VecStorage
.
Example
use vecstorage::VecStorage; let storage = VecStorage::<u32>::with_capacity(5); assert_eq!(storage.capacity(), 5);
pub fn vec_guard<'s, TGuard>(&'s mut self) -> VecGuard<'s, T, TGuard>
[src]
pub fn vec_guard<'s, TGuard>(&'s mut self) -> VecGuard<'s, T, TGuard>
[src]Creates a new VecGuard
using the memory allocated by self
.
This VecGuard` will automatically clear the vector when it goes out of scope.
Panics
Panics if TGuard
doesn’t have the same size and alignment as T
.
Panics if mem::forget()
was called on a VecGuard
that was created previously on the same VecStorage
.
Example
use vecstorage::VecStorage; let mut storage = VecStorage::<u32>::with_capacity(2); { let mut guard = storage.vec_guard(); assert_eq!(guard.capacity(), 2); assert_eq!(guard.len(), 0); guard.push(3); guard.push(2); } { let mut guard = storage.vec_guard::<u32>(); assert_eq!(guard.capacity(), 2); // The memory of the `storage` is reused assert_eq!(guard.len(), 0); // But its contents has been "cleared". }
Trait Implementations
impl<T: Debug> Debug for VecStorage<T>
[src]
impl<T: Debug> Debug for VecStorage<T>
[src]impl<T> Drop for VecStorage<T>
[src]
impl<T> Drop for VecStorage<T>
[src]impl<T> Send for VecStorage<T> where
T: Send,
[src]
T: Send,
impl<T> Sync for VecStorage<T> where
T: Sync,
[src]
T: Sync,
Auto Trait Implementations
impl<T> RefUnwindSafe for VecStorage<T> where
T: RefUnwindSafe,
T: RefUnwindSafe,
impl<T> Unpin for VecStorage<T> where
T: Unpin,
T: Unpin,
impl<T> UnwindSafe for VecStorage<T> where
T: UnwindSafe,
T: UnwindSafe,