• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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