summaryrefslogtreecommitdiff
path: root/tests/headers/class_with_inner_struct.hpp
blob: fd195fb7890b2876c2c52ac8aca1cb578be0b56f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
// bindgen-flags: --with-derive-hash --with-derive-partialeq --with-derive-eq --rustified-enum ".*"
// bindgen-flags: -- -std=c++11

class A {
    unsigned c;
    struct Segment { int begin, end; };
    union {
        int f;
    } named_union;
    union {
        int d;
    };
};

class B {
    unsigned d;
    struct Segment { int begin, end; };
};


enum class StepSyntax {
    Keyword,                     // step-start and step-end
    FunctionalWithoutKeyword,    // steps(...)
    FunctionalWithStartKeyword,  // steps(..., start)
    FunctionalWithEndKeyword,    // steps(..., end)
};

class C {
    unsigned d;
    union {
        struct {
            float mX1;
            float mY1;
            float mX2;
            float mY2;
        } mFunc;
        struct {
            StepSyntax mStepSyntax;
            unsigned int mSteps;
        };
    };
    // To ensure it doesn't collide
    struct Segment { int begin, end; };
};