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.