Struct alloc::boxed::Box
[−]
[src]
pub struct Box<T>(_);
A pointer type for heap allocation.
See the module-level documentation for more.
Methods
impl<T> Box<T>
impl<T: ?Sized> Box<T>
unsafe fn from_raw(raw: *mut T) -> Self
: may be renamed or moved out of Box scope
Constructs a box from the raw pointer.
After this function call, pointer is owned by resulting box.
In particular, it means that Box
`Boxdestructor calls destructor of
` destructor calls destructor
of T
`Tand releases memory. Since the way
` and releases memory. Since the way Box
`Boxallocates and releases memory is unspecified, the only valid pointer to pass to this function is the one taken from another
` allocates and
releases memory is unspecified, the only valid pointer to pass
to this function is the one taken from another Box
`Boxwith
` with
boxed::into_raw
`boxed::into_raw` function.
Function is unsafe, because improper use of this function may lead to memory problems like double-free, for example if the function is called twice on the same raw pointer.
impl Box<Any>
fn downcast<T: Any>(self) -> Result<Box<T>, Box<Any>>
Attempt to downcast the box to a concrete type.
impl Box<Any + Send>
fn downcast<T: Any>(self) -> Result<Box<T>, Box<Any + Send>>
Attempt to downcast the box to a concrete type.