xref: /aosp_15_r20/external/clang/test/CodeGenObjC/Inputs/nsvalue-boxed-expressions-support.h (revision 67e74705e28f6214e480b399dd47ea732279e315)
1*67e74705SXin Li #ifndef NSVALUE_BOXED_EXPRESSIONS_SUPPORT_H
2*67e74705SXin Li #define NSVALUE_BOXED_EXPRESSIONS_SUPPORT_H
3*67e74705SXin Li 
4*67e74705SXin Li #define BOXABLE __attribute__((objc_boxable))
5*67e74705SXin Li 
6*67e74705SXin Li typedef unsigned long NSUInteger;
7*67e74705SXin Li typedef double CGFloat;
8*67e74705SXin Li 
9*67e74705SXin Li typedef struct BOXABLE _NSRange {
10*67e74705SXin Li     NSUInteger location;
11*67e74705SXin Li     NSUInteger length;
12*67e74705SXin Li } NSRange;
13*67e74705SXin Li 
14*67e74705SXin Li typedef struct BOXABLE _NSPoint {
15*67e74705SXin Li     CGFloat x;
16*67e74705SXin Li     CGFloat y;
17*67e74705SXin Li } NSPoint;
18*67e74705SXin Li 
19*67e74705SXin Li typedef struct BOXABLE _NSSize {
20*67e74705SXin Li     CGFloat width;
21*67e74705SXin Li     CGFloat height;
22*67e74705SXin Li } NSSize;
23*67e74705SXin Li 
24*67e74705SXin Li typedef struct BOXABLE _NSRect {
25*67e74705SXin Li     NSPoint origin;
26*67e74705SXin Li     NSSize size;
27*67e74705SXin Li } NSRect;
28*67e74705SXin Li 
29*67e74705SXin Li struct CGPoint {
30*67e74705SXin Li   CGFloat x;
31*67e74705SXin Li   CGFloat y;
32*67e74705SXin Li };
33*67e74705SXin Li typedef struct BOXABLE CGPoint CGPoint;
34*67e74705SXin Li 
35*67e74705SXin Li struct CGSize {
36*67e74705SXin Li   CGFloat width;
37*67e74705SXin Li   CGFloat height;
38*67e74705SXin Li };
39*67e74705SXin Li typedef struct BOXABLE CGSize CGSize;
40*67e74705SXin Li 
41*67e74705SXin Li struct CGRect {
42*67e74705SXin Li   CGPoint origin;
43*67e74705SXin Li   CGSize size;
44*67e74705SXin Li };
45*67e74705SXin Li typedef struct BOXABLE CGRect CGRect;
46*67e74705SXin Li 
47*67e74705SXin Li struct NSEdgeInsets {
48*67e74705SXin Li   CGFloat top;
49*67e74705SXin Li   CGFloat left;
50*67e74705SXin Li   CGFloat bottom;
51*67e74705SXin Li   CGFloat right;
52*67e74705SXin Li };
53*67e74705SXin Li typedef struct BOXABLE NSEdgeInsets NSEdgeInsets;
54*67e74705SXin Li 
55*67e74705SXin Li @interface NSValue
56*67e74705SXin Li 
57*67e74705SXin Li + (NSValue *)valueWithBytes:(const void *)value objCType:(const char *)type;
58*67e74705SXin Li 
59*67e74705SXin Li @end
60*67e74705SXin Li 
61*67e74705SXin Li NSRange getRange();
62*67e74705SXin Li 
63*67e74705SXin Li #endif // NSVALUE_BOXED_EXPRESSIONS_SUPPORT_H
64