1 // bindgen-flags: --respect-cxx-access-specs 2 // bindgen-parse-callbacks: field-visibility-default-public 3 4 class PubPriv { 5 public: 6 int x; 7 private: 8 int y; 9 }; 10 11 class PrivateBitFields { 12 unsigned int a : 4; 13 unsigned int b : 4; 14 }; 15 class PublicBitFields { 16 public: 17 unsigned int a : 4; 18 unsigned int b : 4; 19 }; 20 class MixedBitFields { 21 unsigned int a : 4; 22 public: 23 unsigned int d : 4; 24 }; 25 26 class Base { 27 public: 28 int member; 29 }; 30 31 class InheritsPrivately : Base {}; 32 class InheritsPublically : public Base {}; 33 34 class WithAnonStruct { 35 struct { 36 int a; 37 }; 38 public: 39 struct { 40 int b; 41 }; 42 }; 43 44 class WithAnonUnion { 45 union {}; 46 }; 47 48 class Override { 49 public: 50 unsigned int a; 51 // override with annotation 52 /** <div rustbindgen private></div> */ 53 unsigned int b; 54 // override with callback 55 unsigned int private_c; 56 57 unsigned int bf_a : 4; 58 // override with annotation 59 /** <div rustbindgen private></div> */ 60 unsigned int bf_b : 4; 61 // override with callback 62 unsigned int private_bf_c : 4; 63 }; 64