pub trait InPlace<Data>: Place<Data> where Data: ?Sized, { type Owner; unsafe fn finalize(self) -> Self::Owner; }
Specialization of Place
trait supporting PLACE <- EXPR
.
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).
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.
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, T> InPlace<T> for BackPlace<'a, T> type Owner = ();
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 BinaryHeapPlace<'a, T> where
T: Clone + Ord, type Owner = &'a T;
impl<'a, T> InPlace<T> for std::collections::vec_deque::PlaceBack<'a, T> type Owner = &'a mut T;
impl<'a, K, V> InPlace<V> for EntryPlace<'a, K, V> type Owner = ();
© 2010 The Rust Project Developers
Licensed under the Apache License, Version 2.0 or the MIT license, at your option.
https://doc.rust-lang.org/std/ops/trait.InPlace.html