macro_rules! foreign_type {
(
$(#[$impl_attr:meta])*
type CType = $ctype:ty;
fn drop = $drop:expr;
$(fn clone = $clone:expr;)*
$(#[$owned_attr:meta])*
pub struct $owned:ident;
$(#[$borrowed_attr:meta])*
pub struct $borrowed:ident;
) => { ... };
}
Expand description
A macro to easily define wrappers for foreign types.
ยงExamples
#[macro_use]
extern crate foreign_types;
foreign_type! {
type CType = openssl_sys::SSL;
fn drop = openssl_sys::SSL_free;
fn clone = openssl_sys::SSL_dup;
/// Documentation for the owned type.
pub struct Ssl;
/// Documentation for the borrowed type.
pub struct SslRef;
}