Trait cxx::memory::SharedPtrTarget
source · pub unsafe trait SharedPtrTarget { }
Expand description
Trait bound for types which may be used as the T
inside of a
SharedPtr<T>
in generic code.
This trait has no publicly callable or implementable methods. Implementing it outside of the CXX codebase is not supported.
Example
A bound T: SharedPtrTarget
may be necessary when manipulating
SharedPtr
in generic code.
use cxx::memory::{SharedPtr, SharedPtrTarget};
use std::fmt::Display;
pub fn take_generic_ptr<T>(ptr: SharedPtr<T>)
where
T: SharedPtrTarget + Display,
{
println!("the shared_ptr points to: {}", *ptr);
}
Writing the same generic function without a SharedPtrTarget
trait bound
would not compile.