[−][src]Type Definition obj_pool::OptionObjId
type OptionObjId = Optioned<ObjId>;
Optimization for Option<ObjId>
which treats ObjId
of u32::max_value()
as None
.
It's safe to store any ObjPool
ObjId
in this wrapper as long as the size of the ObjPool
is
less than u32::max_value() / 2
.
use obj_pool::{ObjPool, ObjId, OptionObjId}; let mut obj_pool = ObjPool::default(); let mut n: OptionObjId = obj_pool.insert(10).into(); assert!(n.is_some()); assert_eq!(10, obj_pool[n.unwrap()]); n = OptionObjId::none(); assert!(n.is_none()); assert_eq!(None, n.into_option());