Struct alloc::boxed::BoxStable
[-] [+]
[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) -> Box<T>
Constructs a box from the raw pointer.
After this function call, pointer is owned by resulting box.
In particular, it means that Box
destructor calls destructor
of T
and releases memory. Since the way Box
allocates and
releases memory is unspecified, so the only valid pointer to
pass to this function is the one taken from another Box
with
box::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.
Trait Implementations
impl<T: Default> Default for Box<T>
impl<T> Default for Box<[T]>
impl<T: Clone> Clone for Box<T>
fn clone(&self) -> Box<T>
Returns a new box with a clone()
of this box's contents.
Examples
let x = Box::new(5); let y = x.clone();
fn clone_from(&mut self, source: &Box<T>)
Copies source
's contents into self
without creating a new allocation.
Examples
let x = Box::new(5); let mut y = Box::new(10); y.clone_from(&x); assert_eq!(*y, 5);