| // bindgen-flags: --allowlist-type Allowlisted --opaque-type Opaque --with-derive-hash --with-derive-partialeq --with-derive-eq -- -std=c++11 |
| |
| // These types are not explicitly allowlisted, but are reachable through the |
| // opaque type. |
| class Pupper {}; |
| class Doggo {}; |
| class SuchWow {}; |
| |
| // These types are not allowlisted, and would be reachable through `Opaque` if |
| // it were not marked opaque, but since it is, there should be no bindings |
| // generated for them. |
| class NoBindingsShouldBeGeneratedForMe1 {}; |
| class NoBindingsShouldBeGeneratedForMe2 {}; |
| |
| // Exercise the different kinds of outgoing edges from an opaque type. |
| class Opaque |
| // Base member edge. |
| : public NoBindingsShouldBeGeneratedForMe1 { |
| |
| protected: |
| // Field edge. |
| NoBindingsShouldBeGeneratedForMe2 field; |
| |
| // Constructor edge. |
| Opaque(Pupper pup); |
| |
| // Inner static variable edge. |
| static Doggo MAJESTIC_AF; |
| |
| // Method edge. |
| SuchWow eleven_out_of_ten(); |
| }; |
| |
| class Allowlisted { |
| Opaque some_member; |
| }; |