Struct collections::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>
fn new(x: T) -> Box<T>
Allocates memory on the heap and then moves x`x` into it.
Examples
fn main() { let x = Box::new(5); }let x = Box::new(5);
impl<T> Box<T> where T: ?Sized
unsafe fn from_raw(raw: *mut T) -> Box<T>
: 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 + 'static>
fn downcast<T>(self) -> Result<Box<T>, Box<Any + 'static>> where T: Any
Attempt to downcast the box to a concrete type.
impl Box<Any + 'static + Send>
fn downcast<T>(self) -> Result<Box<T>, Box<Any + 'static + Send>> where T: Any
Attempt to downcast the box to a concrete type.