Crate cglue_macro

Source
Expand description

CGlue procedural macros

Macros§

as_mut
Checked cast to a list of optional traits.
as_ref
Checked cast to a list of optional traits.
cast
Checked cast to a list of optional traits.
cglue_builtin_ext_forward
Implement cglue_forward_ext for all builtin external traits.
cglue_builtin_ext_traits
Implement builtin external traits.
cglue_impl_group
Implement a CGlue group for a specific type.
cglue_trait_group
Define a CGlue trait group.
check
Check if the group can be cast to the specified traits.
group_obj
Convert into a CGlue trait group.
into
Checked cast to a list of optional traits.
trait_obj
Convert into a CGlue compatible object.

Attribute Macros§

cglue_forward
Generate forward trait implementation for Fwd.
cglue_forward_ext
Generate forward trait implementation for Fwd.
cglue_trait
Make a trait CGlue compatible.
cglue_trait_ext
Make an external trait CGlue compatible.
custom_impl
Add custom wrapping for a trait impl and the C interface.
int_result
Mark the trait or function to use IntResult.
no_int_result
Exclude a single function from using IntResult.
no_unwind_abi
Make the resulting C function NOT support C++ unwinding (overrides default).
return_wrap
Specify return type conversion with a closure.
skip_func
Skip reimplementing this function.
unwind_abi
Make the resulting C function support C++ unwinding (overrides default).
vtbl_only
Emit a vtable entry, but do not use it in Rust.
wrap_with
Wrap the associated type with a custom type.
wrap_with_group
Wrap the associated type with a CGlue trait group.
wrap_with_group_mut
Wrap the associated type with a CGlue trait group mutable reference.
wrap_with_group_ref
Wrap the associated type with a CGlue trait group reference.
wrap_with_obj
Wrap the associated type with a CGlue trait object.
wrap_with_obj_mut
Wrap the associated type with a CGlue trait object mutable reference.
wrap_with_obj_ref
Wrap the associated type with a CGlue trait object reference.