blob: cbcf882b27e35012c3e249af98c823f205ac2967 [file] [log] [blame]
Alex Denisovbfa859b2015-07-23 14:45:41 +00001#ifndef NSVALUE_BOXED_EXPRESSIONS_SUPPORT_H
2#define NSVALUE_BOXED_EXPRESSIONS_SUPPORT_H
3
4#define BOXABLE __attribute__((objc_boxable))
5
6typedef unsigned long NSUInteger;
7typedef double CGFloat;
8
9typedef struct BOXABLE _NSRange {
10 NSUInteger location;
11 NSUInteger length;
12} NSRange;
13
14typedef struct BOXABLE _NSPoint {
15 CGFloat x;
16 CGFloat y;
17} NSPoint;
18
19typedef struct BOXABLE _NSSize {
20 CGFloat width;
21 CGFloat height;
22} NSSize;
23
24typedef struct BOXABLE _NSRect {
25 NSPoint origin;
26 NSSize size;
27} NSRect;
28
29struct CGPoint {
30 CGFloat x;
31 CGFloat y;
32};
33typedef struct BOXABLE CGPoint CGPoint;
34
35struct CGSize {
36 CGFloat width;
37 CGFloat height;
38};
39typedef struct BOXABLE CGSize CGSize;
40
41struct CGRect {
42 CGPoint origin;
43 CGSize size;
44};
45typedef struct BOXABLE CGRect CGRect;
46
47struct NSEdgeInsets {
48 CGFloat top;
49 CGFloat left;
50 CGFloat bottom;
51 CGFloat right;
52};
53typedef struct BOXABLE NSEdgeInsets NSEdgeInsets;
54
55@interface NSValue
56
57+ (NSValue *)valueWithBytes:(const void *)value objCType:(const char *)type;
58
59@end
60
61NSRange getRange();
62
63#endif // NSVALUE_BOXED_EXPRESSIONS_SUPPORT_H