Struct ffi_support::handle_map::HandleMap [−][src]
HandleMap
is a collection type which can hold any type of value, and
offers a stable handle which can be used to retrieve it on insertion. These
handles offer methods for converting to and
from 64 bit integers, meaning they’re very easy to pass
over the FFI (they also implement IntoFfi
for the same purpose).
See the module level docs for more information.
Note: In FFI code, most usage of HandleMap
will be done through the
ConcurrentHandleMap
type, which is a thin wrapper around a
RwLock<HandleMap<Mutex<T>>>
.
Implementations
impl<T> HandleMap<T>
[src]
pub fn new() -> Self
[src]
Create a new HandleMap
with the default capacity.
pub fn new_with_capacity(request: usize) -> Self
[src]
Allocate a new HandleMap
. Note that the actual capacity may be larger
than the requested value.
Panics if request
is greater than handle_map::MAX_CAPACITY
pub fn len(&self) -> usize
[src]
Get the number of entries in the HandleMap
.
pub fn is_empty(&self) -> bool
[src]
Returns true if the HandleMap is empty.
pub fn capacity(&self) -> usize
[src]
Returns the number of slots allocated in the handle map.
pub fn insert(&mut self, v: T) -> Handle
[src]
Insert an item into the map, and return a handle to it.
pub fn delete(&mut self, h: Handle) -> Result<(), HandleError>
[src]
Delete an item from the HandleMap.
pub fn remove(&mut self, h: Handle) -> Result<T, HandleError>
[src]
Remove an item from the HandleMap, returning the old value.
pub fn get(&self, h: Handle) -> Result<&T, HandleError>
[src]
Get a reference to the item referenced by the handle, or return a
HandleError
describing the problem.
pub fn get_mut(&mut self, h: Handle) -> Result<&mut T, HandleError>
[src]
Get a mut reference to the item referenced by the handle, or return a
HandleError
describing the problem.
Trait Implementations
impl<T: Clone> Clone for HandleMap<T>
[src]
impl<T: Debug> Debug for HandleMap<T>
[src]
impl<T> Default for HandleMap<T>
[src]
impl<T> Index<Handle> for HandleMap<T>
[src]
Auto Trait Implementations
impl<T> RefUnwindSafe for HandleMap<T> where
T: RefUnwindSafe,
T: RefUnwindSafe,
impl<T> Send for HandleMap<T> where
T: Send,
T: Send,
impl<T> Sync for HandleMap<T> where
T: Sync,
T: Sync,
impl<T> Unpin for HandleMap<T> where
T: Unpin,
T: Unpin,
impl<T> UnwindSafe for HandleMap<T> where
T: UnwindSafe,
T: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,