Trait value_box::ValueBoxPointer
source · [−]pub trait ValueBoxPointer<T> {
Show 21 methods
fn to_ref(&self) -> Result<BoxRef<T>>;
fn take_value(&self) -> Result<T>;
fn release(self);
fn with_ref<R, F>(&self, op: F) -> Result<R>
where
F: FnOnce(&T) -> R,
{ ... }
fn with_clone<R, F>(&self, op: F) -> Result<R>
where
F: FnOnce(T) -> R,
T: Clone,
{ ... }
fn has_value(&self) -> bool { ... }
fn get_ptr(&self) -> *const T { ... }
fn to_value(&self) -> Result<T> { ... }
fn is_valid(&self) -> bool { ... }
fn mutate(&self, object: T) { ... }
fn with_box<DefaultBlock, Block, Return>(
&self,
default: DefaultBlock,
block: Block
) -> Return
where
DefaultBlock: FnOnce() -> Return,
Block: FnOnce(&mut Box<ValueBox<T>>, DefaultBlock) -> Return,
{ ... }
fn with<DefaultBlock, Block, Return>(
&self,
default: DefaultBlock,
block: Block
) -> Return
where
DefaultBlock: FnOnce() -> Return,
Block: FnOnce(&mut T) -> Return,
{ ... }
fn with_not_null<Block>(&self, block: Block)
where
Block: FnOnce(&mut T),
{ ... }
fn with_not_null_return<Block, Return>(
&self,
default: Return,
block: Block
) -> Return
where
Block: FnOnce(&mut T) -> Return,
{ ... }
fn with_value<DefaultBlock, Block, Return>(
&self,
default: DefaultBlock,
block: Block
) -> Return
where
DefaultBlock: FnOnce() -> Return,
Block: FnOnce(T) -> Return,
T: Clone,
{ ... }
fn with_not_null_value<Block>(&self, block: Block)
where
Block: FnOnce(T),
T: Clone,
{ ... }
fn with_not_null_value_return<Block, Return>(
&self,
default: Return,
block: Block
) -> Return
where
Block: FnOnce(T) -> Return,
T: Clone,
{ ... }
fn with_not_null_value_mutate<Block>(&mut self, block: Block)
where
Block: FnOnce(T) -> T,
{ ... }
fn with_value_consumed<DefaultBlock, Block, Return>(
&mut self,
default: DefaultBlock,
block: Block
) -> Return
where
DefaultBlock: FnOnce() -> Return,
Block: FnOnce(T, &mut Box<ValueBox<T>>) -> Return,
{ ... }
fn with_not_null_value_consumed<Block>(&mut self, block: Block)
where
Block: FnOnce(T),
{ ... }
fn with_not_null_value_consumed_return<Block, Return>(
&mut self,
default: Return,
block: Block
) -> Return
where
Block: FnOnce(T) -> Return,
{ ... }
}Required Methods
sourcefn to_ref(&self) -> Result<BoxRef<T>>
fn to_ref(&self) -> Result<BoxRef<T>>
Get the reference to the underlying value without dropping it.
sourcefn take_value(&self) -> Result<T>
fn take_value(&self) -> Result<T>
Take the value out of the box.
fn release(self)
Provided Methods
sourcefn with_ref<R, F>(&self, op: F) -> Result<R>where
F: FnOnce(&T) -> R,
fn with_ref<R, F>(&self, op: F) -> Result<R>where
F: FnOnce(&T) -> R,
Evaluate a given function with a reference to the boxed value. The lifetime of the reference can not outlive the closure.
sourcefn with_clone<R, F>(&self, op: F) -> Result<R>where
F: FnOnce(T) -> R,
T: Clone,
fn with_clone<R, F>(&self, op: F) -> Result<R>where
F: FnOnce(T) -> R,
T: Clone,
Evaluate a given function with a clone of the boxed value.
The boxed type T must implement Clone.
fn has_value(&self) -> bool
fn get_ptr(&self) -> *const T
sourcefn with_box<DefaultBlock, Block, Return>(
&self,
default: DefaultBlock,
block: Block
) -> Returnwhere
DefaultBlock: FnOnce() -> Return,
Block: FnOnce(&mut Box<ValueBox<T>>, DefaultBlock) -> Return,
fn with_box<DefaultBlock, Block, Return>(
&self,
default: DefaultBlock,
block: Block
) -> Returnwhere
DefaultBlock: FnOnce() -> Return,
Block: FnOnce(&mut Box<ValueBox<T>>, DefaultBlock) -> Return,
👎Deprecated since 0.1.0: please use
to_ref insteadsourcefn with<DefaultBlock, Block, Return>(
&self,
default: DefaultBlock,
block: Block
) -> Returnwhere
DefaultBlock: FnOnce() -> Return,
Block: FnOnce(&mut T) -> Return,
fn with<DefaultBlock, Block, Return>(
&self,
default: DefaultBlock,
block: Block
) -> Returnwhere
DefaultBlock: FnOnce() -> Return,
Block: FnOnce(&mut T) -> Return,
👎Deprecated since 0.1.0: please use
to_ref insteadsourcefn with_not_null<Block>(&self, block: Block)where
Block: FnOnce(&mut T),
fn with_not_null<Block>(&self, block: Block)where
Block: FnOnce(&mut T),
👎Deprecated since 0.1.0: please use
to_ref insteadsourcefn with_not_null_return<Block, Return>(
&self,
default: Return,
block: Block
) -> Returnwhere
Block: FnOnce(&mut T) -> Return,
fn with_not_null_return<Block, Return>(
&self,
default: Return,
block: Block
) -> Returnwhere
Block: FnOnce(&mut T) -> Return,
👎Deprecated since 0.1.0: please use
to_ref insteadsourcefn with_value<DefaultBlock, Block, Return>(
&self,
default: DefaultBlock,
block: Block
) -> Returnwhere
DefaultBlock: FnOnce() -> Return,
Block: FnOnce(T) -> Return,
T: Clone,
fn with_value<DefaultBlock, Block, Return>(
&self,
default: DefaultBlock,
block: Block
) -> Returnwhere
DefaultBlock: FnOnce() -> Return,
Block: FnOnce(T) -> Return,
T: Clone,
👎Deprecated since 0.1.0: please use
to_ref insteadsourcefn with_not_null_value<Block>(&self, block: Block)where
Block: FnOnce(T),
T: Clone,
fn with_not_null_value<Block>(&self, block: Block)where
Block: FnOnce(T),
T: Clone,
👎Deprecated since 0.1.0: please use
to_ref insteadsourcefn with_not_null_value_return<Block, Return>(
&self,
default: Return,
block: Block
) -> Returnwhere
Block: FnOnce(T) -> Return,
T: Clone,
fn with_not_null_value_return<Block, Return>(
&self,
default: Return,
block: Block
) -> Returnwhere
Block: FnOnce(T) -> Return,
T: Clone,
👎Deprecated since 0.1.0: please use
to_ref insteadsourcefn with_not_null_value_mutate<Block>(&mut self, block: Block)where
Block: FnOnce(T) -> T,
fn with_not_null_value_mutate<Block>(&mut self, block: Block)where
Block: FnOnce(T) -> T,
👎Deprecated since 0.1.0: please use
to_ref insteadsourcefn with_value_consumed<DefaultBlock, Block, Return>(
&mut self,
default: DefaultBlock,
block: Block
) -> Returnwhere
DefaultBlock: FnOnce() -> Return,
Block: FnOnce(T, &mut Box<ValueBox<T>>) -> Return,
fn with_value_consumed<DefaultBlock, Block, Return>(
&mut self,
default: DefaultBlock,
block: Block
) -> Returnwhere
DefaultBlock: FnOnce() -> Return,
Block: FnOnce(T, &mut Box<ValueBox<T>>) -> Return,
👎Deprecated since 0.1.0: please use
to_ref insteadsourcefn with_not_null_value_consumed<Block>(&mut self, block: Block)where
Block: FnOnce(T),
fn with_not_null_value_consumed<Block>(&mut self, block: Block)where
Block: FnOnce(T),
👎Deprecated since 0.1.0: please use
take_value insteadsourcefn with_not_null_value_consumed_return<Block, Return>(
&mut self,
default: Return,
block: Block
) -> Returnwhere
Block: FnOnce(T) -> Return,
fn with_not_null_value_consumed_return<Block, Return>(
&mut self,
default: Return,
block: Block
) -> Returnwhere
Block: FnOnce(T) -> Return,
👎Deprecated since 0.1.0: please use
take_value instead