# [−] [src] Struct heapless::pool::singleton::Box

    pub struct Box<POOL, STATE = Init> where
        POOL: Pool,
        STATE: 'static,  { /* fields omitted */ }

A memory block that belongs to the global memory pool, `POOL`

## Implementations

### `impl<P> Box<P, Uninit> where
P: Pool,` [src]

#### `pub fn init(self, val: P::Data) -> Box<P, Init>` [src]

Initializes this memory block

### `impl<P> Box<P, Uninit> where
P: Pool,
P::Data: AsSlice<Element = u8>,` [src]

#### `pub fn freeze(self) -> Box<P, Init>` [src]

Freezes the contents of this memory block

See rust-lang/rust#58363 for details.

### `impl<P> Box<P, Init> where
P: Pool,` [src]

#### `pub fn forget(self) -> Box<P, Uninit>` [src]

Forgets the contents of this memory block without running its destructor.

Note that this this does not return the memory block to the pool. The block can be reused, or returned to the pool by dropping it.

## Trait Implementations

### `impl<P, T> AsMutSlice for Box<P> where
P: Pool,
P::Data: AsMutSlice<Element = T>,` [src]

#### `fn as_mut_slice(&mut self) -> &mut [T]` [src]

Returns the mutable slice view of `Self`

### `impl<P, T> AsSlice for Box<P> where
P: Pool,
P::Data: AsSlice<Element = T>,` [src]

#### `type Element = T`

The element type of the slice view

#### `fn as_slice(&self) -> &[T]` [src]

Returns the immutable slice view of `Self`

### `impl<P> Debug for Box<P> where
P: Pool,
P::Data: Debug,` [src]

#### `fn fmt(&self, f: &mut Formatter<'_>) -> Result` [src]

Formats the value using the given formatter. Read more

### `impl<P> Deref for Box<P> where
P: Pool,` [src]

#### `type Target = P::Data`

The resulting type after dereferencing.

#### `fn deref(&self) -> &P::Data` [src]

Dereferences the value.

### `impl<P> DerefMut for Box<P> where
P: Pool,` [src]

#### `fn deref_mut(&mut self) -> &mut P::Data` [src]

Mutably dereferences the value.

### `impl<P> Display for Box<P> where
P: Pool,
P::Data: Display,` [src]

#### `fn fmt(&self, f: &mut Formatter<'_>) -> Result` [src]

Formats the value using the given formatter. Read more

### `impl<P, S> Drop for Box<P, S> where
P: Pool,
S: 'static,` [src]

#### `fn drop(&mut self)` [src]

Executes the destructor for this type. Read more

### `impl<P> Eq for Box<P> where
P: Pool,
P::Data: Eq,` [src]

### `impl<P> Hash for Box<P> where
P: Pool,
P::Data: Hash,` [src]

#### `fn hash<H>(&self, state: &mut H) where
H: Hasher,` [src]

Feeds this value into the given `Hasher`. Read more

#### `pub fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,` 1.3.0 [src]

Feeds a slice of this type into the given `Hasher`. Read more

### `impl<P> Ord for Box<P> where
P: Pool,
P::Data: Ord,` [src]

#### `fn cmp(&self, rhs: &Box<P>) -> Ordering` [src]

This method returns an `Ordering` between `self` and `other`. Read more

#### `#[must_use]pub fn max(self, other: Self) -> Self` 1.21.0 [src]

Compares and returns the maximum of two values. Read more

#### `#[must_use]pub fn min(self, other: Self) -> Self` 1.21.0 [src]

Compares and returns the minimum of two values. Read more

#### `#[must_use]pub fn clamp(self, min: Self, max: Self) -> Self` 1.50.0 [src]

Restrict a value to a certain interval. Read more

### `impl<P> PartialEq<Box<P, Init>> for Box<P> where
P: Pool,
P::Data: PartialEq,` [src]

#### `fn eq(&self, rhs: &Box<P>) -> bool` [src]

This method tests for `self` and `other` values to be equal, and is used by `==`. Read more

#### `#[must_use]pub fn ne(&self, other: &Rhs) -> bool` 1.0.0 [src]

This method tests for `!=`.

### `impl<P> PartialOrd<Box<P, Init>> for Box<P> where
P: Pool,
P::Data: PartialOrd,` [src]

#### `fn partial_cmp(&self, rhs: &Box<P>) -> Option<Ordering>` [src]

This method returns an ordering between `self` and `other` values if one exists. Read more

#### `#[must_use]pub fn lt(&self, other: &Rhs) -> bool` 1.0.0 [src]

This method tests less than (for `self` and `other`) and is used by the `<` operator. Read more

#### `#[must_use]pub fn le(&self, other: &Rhs) -> bool` 1.0.0 [src]

This method tests less than or equal to (for `self` and `other`) and is used by the `<=` operator. Read more

#### `#[must_use]pub fn gt(&self, other: &Rhs) -> bool` 1.0.0 [src]

This method tests greater than (for `self` and `other`) and is used by the `>` operator. Read more

#### `#[must_use]pub fn ge(&self, other: &Rhs) -> bool` 1.0.0 [src]

This method tests greater than or equal to (for `self` and `other`) and is used by the `>=` operator. Read more

### `impl<P, S> Send for Box<P, S> where
P: Pool,
P::Data: Send,` [src]

### `impl<P: Pool> StableDeref for Box<P>` [src]

### `impl<P, S> Sync for Box<P, S> where
P: Pool,
P::Data: Sync,` [src]

## Auto Trait Implementations

### `impl<POOL, STATE> Unpin for Box<POOL, STATE> where
POOL: Unpin,
STATE: Unpin,` [src]

## Blanket Implementations

### `impl<T> Any for T where
T: 'static + ?Sized,` [src]

#### `pub fn type_id(&self) -> TypeId` [src]

Gets the `TypeId` of `self`. Read more

### `impl<T> Borrow<T> for T where
T: ?Sized,` [src]

#### `pub fn borrow(&self) -> &T` [src]

Immutably borrows from an owned value. Read more

### `impl<T> BorrowMut<T> for T where
T: ?Sized,` [src]

#### `pub fn borrow_mut(&mut self) -> &mut T` [src]

Mutably borrows from an owned value. Read more

### `impl<T> From<T> for T` [src]

#### `pub fn from(t: T) -> T` [src]

Performs the conversion.

### `impl<T, U> Into<U> for T where
U: From<T>,` [src]

#### `pub fn into(self) -> U` [src]

Performs the conversion.

### `impl<T> Same<T> for T` [src]

#### `type Output = T`

Should always be `Self`

### `impl<T, U> TryFrom<U> for T where
U: Into<T>,` [src]

#### `type Error = Infallible`

The type returned in the event of a conversion error.

#### `pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>` [src]

Performs the conversion.

### `impl<T, U> TryInto<U> for T where
U: TryFrom<T>,` [src]

#### `type Error = <U as TryFrom<T>>::Error`

The type returned in the event of a conversion error.

#### `pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>` [src]

Performs the conversion.