Trait std::ops::InPlace
[−]
[src]
pub trait InPlace<Data>: Place<Data> where
Data: ?Sized, { type Owner; unsafe fn finalize(self) -> Self::Owner; }
Specialization of Place
trait supporting PLACE <- EXPR
.
Associated Types
type Owner
Owner
is the type of the end value of PLACE <- EXPR
Note that when PLACE <- EXPR
is solely used for
side-effecting an existing data-structure,
e.g. Vec::emplace_back
, then Owner
need not carry any
information at all (e.g. it can be the unit type ()
in that
case).
Required Methods
unsafe fn finalize(self) -> Self::Owner
Converts self into the final value, shifting
deallocation/cleanup responsibilities (if any remain), over to
the returned instance of Owner
and forgetting self.
Implementors
impl<T> InPlace<T> for IntermediateBox<T> type Owner = Box<T>;
impl<'a, T> InPlace<T> for std::vec::PlaceBack<'a, T> type Owner = &'a mut T;
impl<'a, T> InPlace<T> for std::collections::vec_deque::PlaceBack<'a, T> type Owner = &'a mut T;
impl<'a, T> InPlace<T> for BinaryHeapPlace<'a, T> where
T: Clone + Ord, type Owner = &'a T;impl<'a, T> InPlace<T> for BackPlace<'a, T> type Owner = ();
impl<'a, T> InPlace<T> for FrontPlace<'a, T> type Owner = ();
impl<'a, T> InPlace<T> for PlaceFront<'a, T> type Owner = &'a mut T;
impl<'a, K, V> InPlace<V> for EntryPlace<'a, K, V> type Owner = ();