pub trait CPtr {
type Target;
// Required methods
fn as_c_ptr(&self) -> *const Self::Target;
fn as_mut_c_ptr(&mut self) -> *mut Self::Target;
}
Expand description
A trait for producing pointers that will always be valid in C (assuming NULL pointer is a valid no-op).
Rust does not guarantee pointers to Zero Sized Types (https://doc.rust-lang.org/nomicon/exotic-sizes.html#zero-sized-types-zsts). In case the type is empty this trait will return a NULL pointer, which should be handled in C.
Required Associated Types§
Required Methods§
fn as_c_ptr(&self) -> *const Self::Target
fn as_mut_c_ptr(&mut self) -> *mut Self::Target
Implementations on Foreign Types§
Implementors§
Source§impl CPtr for derive::secp256k1::PublicKey
This trait enables interaction with the FFI layer and even though it is part of the public API
normal users should never need to directly interact with FFI types.
impl CPtr for derive::secp256k1::PublicKey
This trait enables interaction with the FFI layer and even though it is part of the public API normal users should never need to directly interact with FFI types.