#ifdef __clang__ #define CBINDGEN_NONNULL _Nonnull #else #define CBINDGEN_NONNULL #endif #include #include #include #include struct Opaque; template struct Pointers { float * CBINDGEN_NONNULL a; T * CBINDGEN_NONNULL b; Opaque * CBINDGEN_NONNULL c; T * CBINDGEN_NONNULL * CBINDGEN_NONNULL d; float * CBINDGEN_NONNULL * CBINDGEN_NONNULL e; Opaque * CBINDGEN_NONNULL * CBINDGEN_NONNULL f; T *g; int32_t *h; int32_t * CBINDGEN_NONNULL *i; const T *j; T *k; }; struct References { const Opaque * CBINDGEN_NONNULL a; Opaque * CBINDGEN_NONNULL b; const Opaque *c; Opaque *d; }; extern "C" { void mut_ref_arg(const Pointers * CBINDGEN_NONNULL arg); void mutltiple_args(int32_t * CBINDGEN_NONNULL arg, Pointers *foo, Opaque * CBINDGEN_NONNULL * CBINDGEN_NONNULL d); void nullable_const_ptr(const Pointers *arg); void nullable_mut_ptr(Pointers *arg); void optional_mut_ref_arg(const Pointers *arg); void optional_ref_arg(Pointers *arg); void ref_arg(Pointers * CBINDGEN_NONNULL arg); void value_arg(References arg); } // extern "C"