pub trait CppPeerConstructor<CppPeer: CppSubclassCppPeer>: Sized {
// Required method
fn make_peer(
&mut self,
peer_holder: CppSubclassRustPeerHolder<Self>,
) -> UniquePtr<CppPeer> ⓘ;
}Expand description
A trait to be implemented by a subclass which knows how to construct its C++
peer object. Specifically, the implementation here will arrange to call one
or other of the new methods to be found on the peer type. If the C++
superclass has a single trivial constructor, then this is implemented
automatically for you. If there are multiple constructors, or a single
constructor which takes parameters, you’ll need to implement this trait for
your subclass in order to call the correct constructor.
Required Methods§
Sourcefn make_peer(
&mut self,
peer_holder: CppSubclassRustPeerHolder<Self>,
) -> UniquePtr<CppPeer> ⓘ
fn make_peer( &mut self, peer_holder: CppSubclassRustPeerHolder<Self>, ) -> UniquePtr<CppPeer> ⓘ
Create the C++ peer. This method will be automatically generated
for you except in cases where the superclass has multiple constructors,
or its only constructor takes parameters. In such a case you’ll need to
implement this by calling a new method on the <my subclass name>Cpp
type, passing peer_holder as the first argument.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".