Trait borsh::maybestd::borrow::ToOwned 1.0.0[−][src]
A generalization of Clone
to borrowed data.
Some types make it possible to go from borrowed to owned, usually by
implementing the Clone
trait. But Clone
works only for going from &T
to T
. The ToOwned
trait generalizes Clone
to construct owned data
from any borrow of a given type.
Associated Types
Required methods
pub fn to_owned(&self) -> Self::Owned
[src][−]
Creates owned data from borrowed data, usually by cloning.
Examples
Basic usage:
let s: &str = "a"; let ss: String = s.to_owned(); let v: &[i32] = &[1, 2]; let vv: Vec<i32> = v.to_owned();
Provided methods
pub fn clone_into(&self, target: &mut Self::Owned)
[src][−]
🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning.
This is borrow-generalized version of Clone::clone_from
.
Examples
Basic usage:
let mut s: String = String::new(); "hello".clone_into(&mut s); let mut v: Vec<i32> = Vec::new(); [1, 2][..].clone_into(&mut v);
Implementations on Foreign Types
impl ToOwned for Path
[src][−]
type Owned = PathBuf
pub fn to_owned(&self) -> PathBuf
[src]
pub fn clone_into(&self, target: &mut PathBuf)
[src]
impl ToOwned for CStr
[src][−]
type Owned = CString
pub fn to_owned(&self) -> CString
[src]
pub fn clone_into(&self, target: &mut CString)
[src]
impl ToOwned for OsStr
[src][−]
type Owned = OsString
pub fn to_owned(&self) -> OsString
[src]
pub fn clone_into(&self, target: &mut OsString)
[src]
impl<T> ToOwned for [T] where
T: Clone,
[src][−]
T: Clone,
type Owned = Vec<T, Global>
pub fn to_owned(&self) -> Vec<T, Global>ⓘ
[src]
pub fn clone_into(&self, target: &mut Vec<T, Global>)
[src]
impl ToOwned for str
[src][−]
type Owned = String
pub fn to_owned(&self) -> String
[src]
pub fn clone_into(&self, target: &mut String)
[src]
Implementors
impl<T> ToOwned for T where
T: Clone,
[src][+]
T: Clone,
impl ToOwned for AsciiStr
impl ToOwned for AsciiStr
impl<O, T> ToOwned for BitSlice<O, T> where
O: BitOrder,
T: BitStore,
impl<O, T> ToOwned for BitSlice<O, T> where
O: BitOrder,
T: BitStore,
impl ToOwned for BStr
impl ToOwned for BStr
impl<T> ToOwned for DsaRef<T>
impl<T> ToOwned for DsaRef<T>
impl<T> ToOwned for EcKeyRef<T>
impl<T> ToOwned for EcKeyRef<T>
impl<T> ToOwned for PKeyRef<T>
impl<T> ToOwned for PKeyRef<T>
impl<T> ToOwned for RsaRef<T>
impl<T> ToOwned for RsaRef<T>
impl ToOwned for SslContextRef
impl ToOwned for SslContextRef
impl ToOwned for SslSessionRef
impl ToOwned for SslSessionRef
impl ToOwned for X509Ref
impl ToOwned for X509Ref
impl ToOwned for Bytes
impl ToOwned for Bytes
impl<T: Clone> ToOwned for Node<T>
impl<T: Clone> ToOwned for Node<T>
impl<T: Clone> ToOwned for Node<T>
impl<T: Clone> ToOwned for Node<T>