19#ifndef CPPREALM_MACROS_HPP
20CPREALM_MACROS_HPP を定義する
23#define FE_ 1 (WAT, cls, X) WAT(cls, X)
24#define FE_ 2 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 1 (WAT, クラスター, __VAL_ARGS__)
25#define FE_ 3 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 2 (WAT, クラスター, __VAL_ARGS__)
26#define FE_ 4 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 3 (WAT, クラスター, __VAL_ARGS__)
27#define FE_ 5 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 4 (WAT, クラスター, __VAL_ARGS__)
28#define FE_ 6 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 5 (WAT, クラスター, __VAL_ARGS__)
29#define FE_ 7 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 6 (WAT, クラスター, __VAL_ARGS__)
30#define FE_ 8 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 7 (WAT, クラスター, __VAL_ARGS__)
31#define FE_ 9 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 8 (WAT, クラスター, __VAL_ARGS__)
32#define FE_ 10 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 9 (WAT, クラスター, __VAL_ARGS__)
33#define FE_ 11 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 10 (WAT, クラスター, __VAL_ARGS__)
34#define FE_ 12 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 11 (WAT, クラスター, __VAL_ARGS__)
35#define FE_ 13 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 12 (WAT, クラスター, __VAL_ARGS__)
36#define FE_ 14 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 13 (WAT, クラスター, __VAL_ARGS__)
37#define FE_ 15 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 14 (WAT, クラスター, __VAL_ARGS__)
38#define FE_ 16 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 15 (WAT, クラスター, __VAL_ARGS__)
39#define FE_ 17 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 16 (WAT, クラスター, __VAL_ARGS__)
40#define FE_ 18 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 17 (WAT, クラスター, __VAL_ARGS__)
41#define FE_ 19 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 18 (WAT, クラスター, __VAL_ARGS__)
42#define FE_ 20 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 19 (WAT, クラスター, __VAL_ARGS__)
43#define FE_ 21 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 20 (WAT, クラスター, __VAL_ARGS__)
44#define FE_ 22 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 21 (WAT, クラスター, __VAL_ARGS__)
45#define FE_ 23 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 22 (WAT, クラスター, __VAL_ARGS__)
46#define FE_ 24 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 23 (WAT, クラスター, __VAL_ARGS__)
47#define FE_ 25 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 24 (WAT, クラスター, __VAL_ARGS__)
48#define FE_ 26 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 25 (WAT, クラスター, __VAL_ARGS__)
49#define FE_ 27 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 26 (WAT, クラスター, __VAL_ARGS__)
50#define FE_ 28 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 27 (WAT, クラスター, __VAL_ARGS__)
51#define FE_ 29 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 28 (WAT, クラスター, __VAL_ARGS__)
52#define FE_ 30 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 29 (WAT, クラスター, __VAL_ARGS__)
53#define FE_ 31 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 30 (WAT, クラスター, __VAL_ARGS__)
54#define FE_ 32 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 31 (WAT, クラスター, __VAL_ARGS__)
55#define FE_ 33 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 32 (WAT, クラスター, __VAL_ARGS__)
56#define FE_ 34 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 33 (WAT, クラスター, __VAL_ARGS__)
57#define FE_ 35 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 34 (WAT, クラスター, __VAL_ARGS__)
58#define FE_ 36 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 35 (WAT, クラスター, __VAL_ARGS__)
59#define FE_ 37 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 36 (WAT, クラスター, __VAL_ARGS__)
60#define FE_ 38 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 37 (WAT, クラスター, __VAL_ARGS__)
61#define FE_ 39 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 38 (WAT, クラスター, __VAL_ARGS__)
62#define FE_ 40 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 39 (WAT, クラスター, __VAL_ARGS__)
63#define FE_ 41 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 40 (WAT, クラスター, __VAL_ARGS__)
64#define FE_ 42 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 41 (WAT, クラスター, __VAL_ARGS__)
65#define FE_ 43 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 42 (WAT, クラスター, __VAL_ARGS__)
66#define FE_ 44 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 43 (WAT, クラスター, __VAL_ARGS__)
67#define FE_ 45 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 44 (WAT, クラスター, __VAL_ARGS__)
68#define FE_ 46 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 45 (WAT, クラスター, __VAL_ARGS__)
69#define FE_ 47 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 46 (WAT, クラスター, __VAL_ARGS__)
70#define FE_ 48 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 47 (WAT, クラスター, __VAL_ARGS__)
71#define FE_ 49 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 48 (WAT, クラスター, __VAL_ARGS__)
72#define FE_ 50 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 49 (WAT, クラスター, __VAL_ARGS__)
73#define FE_ 51 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 50 (WAT, クラスター, __VAL_ARGS__)
74#define FE_ 52 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 51 (WAT, クラスター, __VAL_ARGS__)
75#define FE_ 53 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 52 (WAT, クラスター, __VAL_ARGS__)
76#define FE_ 54 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 53 (WAT, クラスター, __VAL_ARGS__)
77#define FE_ 55 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 54 (WAT, クラスター, __VAL_ARGS__)
78#define FE_ 56 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 55 (WAT, クラスター, __VAL_ARGS__)
79#define FE_ 57 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 56 (WAT, クラスター, __VAL_ARGS__)
80#define FE_ 58 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 57 (WAT, クラスター, __VAL_ARGS__)
81#define FE_ 59 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 58 (WAT, クラスター, __VAL_ARGS__)
82#define FE_ 60 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 59 (WAT, クラスター, __VAL_ARGS__)
83#define FE_ 61 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 60 (WAT, クラスター, __VAL_ARGS__)
84#define FE_ 62 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 61 (WAT, クラスター, __VAL_ARGS__)
85#define FE_ 63 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 62 (WAT, クラスター, __VAL_ARGS__)
86#define FE_ 64 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 63 (WAT, クラスター, __VAL_ARGS__)
87#define FE_ 65 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 64 (WAT, クラスター, __VAL_ARGS__)
88#define FE_ 66 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 65 (WAT, クラスター, __VAL_ARGS__)
89#define FE_ 67 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 66 (WAT, クラスター, __VAL_ARGS__)
90#define FE_ 68 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 67 (WAT, クラスター, __VAL_ARGS__)
91#define FE_ 69 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 68 (WAT, クラスター, __VAL_ARGS__)
92#define FE_ 70 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 69 (WAT, クラスター, __VAL_ARGS__)
93#define FE_ 71 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 70 (WAT, クラスター, __VAL_ARGS__)
94#define FE_ 72 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 71 (WAT, クラスター, __VAL_ARGS__)
95#define FE_ 73 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 72 (WAT, クラスター, __VAL_ARGS__)
96#define FE_ 74 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 73 (WAT, クラスター, __VAL_ARGS__)
97#define FE_ 75 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 74 (WAT, クラスター, __VAL_ARGS__)
98#define FE_ 76 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 75 (WAT, クラスター, __VAL_ARGS__)
99#define FE_ 77 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 76 (WAT, クラスター, __VAL_ARGS__)
100#define FE_ 78 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 77 (WAT, クラスター, __VAL_ARGS__)
101#define FE_ 79 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 78 (WAT, クラスター, __VAL_ARGS__)
102#define FE_ 80 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 79 (WAT, クラスター, __VAL_ARGS__)
103#define FE_ 81 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 80 (WAT, クラスター, __VAL_ARGS__)
104#define FE_ 82 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 81 (WAT, クラスター, __VAL_ARGS__)
105#define FE_ 83 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 82 (WAT, クラスター, __VAL_ARGS__)
106#define FE_ 84 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 83 (WAT, クラスター, __VAL_ARGS__)
107#define FE_ 85 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 84 (WAT, クラスター, __VAL_ARGS__)
108#define FE_ 86 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 85 (WAT, クラスター, __VAL_ARGS__)
109#define FE_ 87 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 86 (WAT, クラスター, __VAL_ARGS__)
110#define FE_ 88 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 87 (WAT, クラスター, __VAL_ARGS__)
111#define FE_ 89 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 88 (WAT, クラスター, __VAL_ARGS__)
112#define FE_ 90 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 89 (WAT, クラスター, __VAL_ARGS__)
113#define FE_ 91 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 90 (WAT, クラスター, __VAL_ARGS__)
114#define FE_ 92 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 91 (WAT, クラスター, __VAL_ARGS__)
115#define FE_ 93 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 92 (WAT, クラスター, __VAL_ARGS__)
116#define FE_ 94 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 93 (WAT, クラスター, __VAL_ARGS__)
117#define FE_ 95 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 94 (WAT, クラスター, __VAL_ARGS__)
118#define FE_ 96 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 95 (WAT, クラスター, __VAL_ARGS__)
119#define FE_ 97 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 96 (WAT, クラスター, __VAL_ARGS__)
120#define FE_ 98 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 97 (WAT, クラスター, __VAL_ARGS__)
121#define FE_ 99 (WAT, クラスター, X, ...) WAT(cls, X)FE_ 98 (WAT, クラスター, __VAL_ARGS__)
122#define FE_ 100 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 99 (WAT, クラスター, __VAL_ARGS__)
123#define FE_ 101 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 100 (WAT, クラスター, __VAL_ARGS__)
124#define FE_ 102 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 101 (WAT, クラスター, __VAL_ARGS__)
125#define FE_ 103 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 102 (WAT, クラスター, __VAL_ARGS__)
126#define FE_ 104 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 103 (WAT, クラスター, __VAL_ARGS__)
127#define FE_ 105 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 104 (WAT, クラスター, __VAL_ARGS__)
128#define FE_ 106 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 105 (WAT, クラスター, __VAL_ARGS__)
129#define FE_ 107 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 106 (WAT, クラスター, __VAL_ARGS__)
130#define FE_ 108 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 107 (WAT, クラスター, __VAL_ARGS__)
131#define FE_ 109 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 108 (WAT, クラスター, __VAL_ARGS__)
132#define FE_ 110 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 109 (WAT, クラスター, __VAL_ARGS__)
133#define FE_ 111 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 110 (WAT, クラスター, __VAL_ARGS__)
134#define FE_ 112 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 111 (WAT, クラスター, __VAL_ARGS__)
135#define FE_ 113 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 112 (WAT, クラスター, __VAL_ARGS__)
136#define FE_ 114 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 113 (WAT, クラスター, __VAL_ARGS__)
137#define FE_ 115 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 114 (WAT, クラスター, __VAL_ARGS__)
138#define FE_ 116 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 115 (WAT, クラスター, __VAL_ARGS__)
139#define FE_ 117 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 116 (WAT, クラスター, __VAL_ARGS__)
140#define FE_ 118 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 117 (WAT, クラスター, __VAL_ARGS__)
141#define FE_ 119 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 118 (WAT, クラスター, __VAL_ARGS__)
142#define FE_ 120 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 119 (WAT, クラスター, __VAL_ARGS__)
143#define FE_ 121 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 120 (WAT, クラスター, __VAL_ARGS__)
144#define FE_ 122 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 121 (WAT, クラスター, __VAL_ARGS__)
145#define FE_ 123 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 122 (WAT, クラスター, __VAL_ARGS__)
146#define FE_ 124 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 123 (WAT, クラスター, __VAL_ARGS__)
147#define FE_ 125 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 124 (WAT, クラスター, __VAL_ARGS__)
148#define FE_ 126 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 125 (WAT, クラスター, __VAL_ARGS__)
149#define FE_ 127 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 126 (WAT, クラスター, __VAL_ARGS__)
150#define FE_ 128 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 127 (WAT, クラスター, __VAL_ARGS__)
151#define FE_ 129 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 128 (WAT, クラスター, __VAL_ARGS__)
152#define FE_ 130 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 129 (WAT, クラスター, __VAL_ARGS__)
153#define FE_ 131 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 130 (WAT, クラスター, __VAL_ARGS__)
154#define FE_ 132 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 131 (WAT, クラスター, __VAL_ARGS__)
155#define FE_ 133 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 132 (WAT, クラスター, __VAL_ARGS__)
156#define FE_ 134 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 133 (WAT, クラスター, __VAL_ARGS__)
157#define FE_ 135 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 134 (WAT, クラスター, __VAL_ARGS__)
158#define FE_ 136 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 135 (WAT, クラスター, __VAL_ARGS__)
159#define FE_ 137 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 136 (WAT, クラスター, __VAL_ARGS__)
160#define FE_ 138 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 137 (WAT, クラスター, __VAL_ARGS__)
161#define FE_ 139 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 138 (WAT, クラスター, __VAL_ARGS__)
162#define FE_ 140 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 139 (WAT, クラスター, __VAL_ARGS__)
163#define FE_ 141 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 140 (WAT, クラスター, __VAL_ARGS__)
164#define FE_ 142 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 141 (WAT, クラスター, __VAL_ARGS__)
165#define FE_ 143 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 142 (WAT, クラスター, __VAL_ARGS__)
166#define FE_ 144 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 143 (WAT, クラスター, __VAL_ARGS__)
167#define FE_ 145 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 144 (WAT, クラスター, __VAL_ARGS__)
168#define FE_ 146 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 145 (WAT, クラスター, __VAL_ARGS__)
169#define FE_ 147 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 146 (WAT, クラスター, __VAL_ARGS__)
170#define FE_ 148 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 147 (WAT, クラスター, __VAL_ARGS__)
171#define FE_ 149 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 148 (WAT, クラスター, __VAL_ARGS__)
172#define FE_ 150 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 149 (WAT, クラスター, __VAL_ARGS__)
173#define FE_ 151 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 150 (WAT, クラスター, __VAL_ARGS__)
174#define FE_ 152 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 151 (WAT, クラスター, __VAL_ARGS__)
175#define FE_ 153 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 152 (WAT, クラスター, __VAL_ARGS__)
176#define FE_ 154 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 153 (WAT, クラスター, __VAL_ARGS__)
177#define FE_ 155 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 154 (WAT, クラスター, __VAL_ARGS__)
178#define FE_ 156 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 155 (WAT, クラスター, __VAL_ARGS__)
179#define FE_ 157 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 156 (WAT, クラスター, __VAL_ARGS__)
180#define FE_ 158 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 157 (WAT, クラスター, __VAL_ARGS__)
181#define FE_ 159 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 158 (WAT, クラスター, __VAL_ARGS__)
182#define FE_ 160 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 159 (WAT, クラスター, __VAL_ARGS__)
183#define FE_ 161 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 160 (WAT, クラスター, __VAL_ARGS__)
184#define FE_ 162 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 161 (WAT, クラスター, __VAL_ARGS__)
185#define FE_ 163 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 162 (WAT, クラスター, __VAL_ARGS__)
186#define FE_ 164 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 163 (WAT, クラスター, __VAL_ARGS__)
187#define FE_ 165 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 164 (WAT, クラスター, __VAL_ARGS__)
188#define FE_ 166 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 165 (WAT, クラスター, __VAL_ARGS__)
189#define FE_ 167 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 166 (WAT, クラスター, __VAL_ARGS__)
190#define FE_ 168 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 167 (WAT, クラスター, __VAL_ARGS__)
191#define FE_ 169 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 168 (WAT, クラスター, __VAL_ARGS__)
192#define FE_ 170 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 169 (WAT, クラスター, __VAL_ARGS__)
193#define FE_ 171 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 170 (WAT, クラスター, __VAL_ARGS__)
194#define FE_ 172 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 171 (WAT, クラスター, __VAL_ARGS__)
195#define FE_ 173 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 172 (WAT, クラスター, __VAL_ARGS__)
196#define FE_ 174 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 173 (WAT, クラスター, __VAL_ARGS__)
197#define FE_ 175 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 174 (WAT, クラスター, __VAL_ARGS__)
198#define FE_ 176 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 175 (WAT, クラスター, __VAL_ARGS__)
199#define FE_ 177 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 176 (WAT, クラスター, __VAL_ARGS__)
200#define FE_ 178 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 177 (WAT, クラスター, __VAL_ARGS__)
201#define FE_ 179 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 178 (WAT, クラスター, __VAL_ARGS__)
202#define FE_ 180 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 179 (WAT, クラスター, __VAL_ARGS__)
203#define FE_ 181 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 180 (WAT, クラスター, __VAL_ARGS__)
204#define FE_ 182 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 181 (WAT, クラスター, __VAL_ARGS__)
205#define FE_ 183 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 182 (WAT, クラスター, __VAL_ARGS__)
206#define FE_ 184 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 183 (WAT, クラスター, __VAL_ARGS__)
207#define FE_ 185 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 184 (WAT, クラスター, __VAL_ARGS__)
208#define FE_ 186 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 185 (WAT, クラスター, __VAL_ARGS__)
209#define FE_ 187 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 186 (WAT, クラスター, __VAL_ARGS__)
210#define FE_ 188 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 187 (WAT, クラスター, __VAL_ARGS__)
211#define FE_ 189 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 188 (WAT, クラスター, __VAL_ARGS__)
212#define FE_ 190 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 189 (WAT, クラスター, __VAL_ARGS__)
213#define FE_ 191 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 190 (WAT, クラスター, __VAL_ARGS__)
214#define FE_ 192 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 191 (WAT, クラスター, __VAL_ARGS__)
215#define FE_ 193 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 192 (WAT, クラスター, __VAL_ARGS__)
216#define FE_ 194 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 193 (WAT, クラスター, __VAL_ARGS__)
217#define FE_ 195 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 194 (WAT, クラスター, __VAL_ARGS__)
218#define FE_ 196 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 195 (WAT, クラスター, __VAL_ARGS__)
219#define FE_ 197 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 196 (WAT, クラスター, __VAL_ARGS__)
220#define FE_ 198 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 197 (WAT, クラスター, __VAL_ARGS__)
221#define FE_ 199 (WAT, クラスター, X, ...) WAT(cls, X) FE_ 198 (WAT, クラスター, __VAL_ARGS__)
223#define GET_MACRO(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, \
224 _13, _14, _15, _16, _17, _18, _19, _20, _21, _22, _23, _24, _25, _26,\
225 _27, _28, _29, _30, _31, _32, _33, _34, _35, _36, _37, _38, _39, _40,\
226 _41, _42, _43, _44, _45, _46, _47, _48, _49, _50, _51, _52, _53, _54,\
227 _55, _56, _57, _58, _59, _60, _61, _62, _63, _64, _65, _66, _67, _68,\
228 _69, _70, _71, _72, _73, _74, _75, _76, _77, _78, _79, _80, _81, _82,\
229 _83, _84, _85, _86, _87, _88, _89, _90, _91, _92, _93, _94, _95, _96, \
230 _97, _98, _99, _100, _101, _102, _103, _104, _105, _106, _107, _108, _109, \
231 _110, _111, _112, _113, _114, _115, _116, _117, _118, _119, _120, _121, \
232 _122, _123, _124, _125, _126, _127, _128, _129, _130, _131, _132, _133, \
233 _134, _135, _136, _137, _138, _139, _140, _141, _142, _143, _144, _145, \
234 _146, _147, _148, _149, _150, _151, _152, _153, _154, _155, _156, _157, \
235 _158, _159, _160, _161, _162, _163, _164, _165, _166, _167, _168, _169, \
236 _170, _171, _172, _173, _174, _175, _176, _177, _178, _179, _180, _181, \
237 _182, _183, _184, _185, _186, _187, _188, _189, _190, _191, _192, _193, \
238 _ 194 、 _ 195 、_ 196 、_ 197 、_ 198 、_ 199 、名前、...)名前 $
240#define FOR_EACH(action, cls, ...)\
241 GET_MACRO(_0, __VA_ARGS__, \
242 FE_199, FE_198, FE_197, FE_196, FE_195, FE_194, FE_193, FE_192, FE_191, FE_190, \
243 FE_189, FE_188, FE_187, FE_186, FE_185, FE_184, FE_183, FE_182, FE_181, FE_180, \
244 FE_179, FE_178, FE_177, FE_176, FE_175, FE_174, FE_173, FE_172, FE_171, FE_170, \
245 FE_169, FE_168, FE_167, FE_166, FE_165, FE_164, FE_163, FE_162, FE_161, FE_160, \
246 FE_159, FE_158, FE_157, FE_156, FE_155, FE_154, FE_153, FE_152, FE_151, FE_150, \
247 FE_149, FE_148, FE_147, FE_146, FE_145, FE_144, FE_143, FE_142, FE_141, FE_140, \
248 FE_139, FE_138, FE_137, FE_136, FE_135, FE_134, FE_133, FE_132, FE_131, FE_130, \
249 FE_129, FE_128, FE_127, FE_126, FE_125, FE_124, FE_123, FE_122, FE_121, FE_120, \
250 FE_119, FE_118, FE_117, FE_116, FE_115, FE_114, FE_113, FE_112, FE_111, FE_110, \
251 FE_109, FE_108, FE_107, FE_106, FE_105, FE_104, FE_103, FE_102, FE_101, FE_100, \
252 FE_99, FE_98, FE_97, FE_96, FE_95, FE_94, FE_93, FE_92, FE_91, FE_90, \
253 FE_89, FE_88, FE_87, FE_86, FE_85, FE_84, FE_83, FE_82, FE_81, FE_80, \
254 FE_79, FE_78, FE_77, FE_76, FE_75, FE_74, FE_73, FE_72, FE_71, FE_70, \
255 FE_69, FE_68, FE_67, FE_66, FE_65, FE_64, FE_63, FE_62, FE_61, FE_60, \
256 FE_59, FE_58, FE_57, FE_56, FE_55, FE_54, FE_53, FE_52, FE_51, FE_50, \
257 FE_49, FE_48, FE_47, FE_46, FE_45, FE_44, FE_43, FE_42, FE_41, FE_40, \
258 FE_39, FE_38, FE_37, FE_36, FE_35, FE_34, FE_33, FE_32, FE_31, FE_30, \
259 FE_29, FE_28, FE_27, FE_26, FE_25, FE_24, FE_23, FE_22, FE_21, FE_20, \
260 FE_19, FE_18, FE_17, FE_16, FE_15, FE_14, FE_13, FE_12, FE_11, FE_10, \
261 FE_9, FE_8, FE_7, FE_6, FE_5, FE_4, FE_3, FE_2, FE_1, FE_0)(action, cls, __VA_ARGS__)
264 テンプレート<
typename T,
typename =
string >
268次の定義: DECLARre_PERSED(cls, プロパティ) Managed <decltype(cls::property)> プロパティ。
269次の定義: DECLAre_PROPERTY(cls, p)realm::property<=foo.bar::p===================================================
270#delete_MANAGED_PROPERTY(cls, p) &realm::maned[cls]::p,<cls>
271#deformance_MANAGED_PROPERTY_NAME(cls, p) #p,
272Constexpr(std::is_sume_v<decltype(ptr)、decltype(+cls::p)>) の場合、DECLARre_COND_UNMANAGED_TO_MANAGED(cls, p)<cls> を定義し、 }
276#include <cpprealm/ internal/bridge/col_key.hpp>
277#include <cpprealm/ internal/bridge/obj.hpp>
278#include <cpprealm/ internal/bridge/object.hpp>
279#include <cpprealm/ internal/bridge/property.hpp>
280#include <cpprealm/ internal/bridge/query.hpp>
281#include <cpprealm/ internal/bridge/realm.hpp>
291 m_realm = Other.m_realm
293 m_rbool_query = その他の.m_rbool_query
297 m_realm = Other.m_realm
299 m_rbool_query = その他の.m_rbool_query
303 m_obj = std::move(OTHER.m_obj)
304 m_realm = std::move(OTHER.m_realm)
305 m_key = std::move(OTHER.m_key)
306 m_rbool_query = std::move(OTHER.m_rbool_query)
309 m_obj = std::move(OTHER.m_obj)
310 m_realm = std::move(OTHER.m_realm)
311 m_key = std::move(OTHER.m_key)
312 m_rbool_query = std::move(OTHER.m_rbool_query)
318 m_rbool_query =
nullptr 。
322 静的 constexpr ブールis_object =
false 。
327 rbool * m_rbool_query =
nullptr 。
347 場合 constexpr (std::is_same_v<T, std::nullopt_t>) {
348 m_obj->set_null(m_key);
350 m_obj->template set=typename internal::type_info::type_info=T, null==============================================================================
357 conststd ::string_view+col_name、
360この->m_key =table.get_collun_key(col_name)
361この->m_rbool_query = query_Builder
365 テンプレート<
typename T、
typename >
369#define __cpprealm_Build_query(op, name, type)\
370rbool Managed <type>::operator op(const type+rhs)const noException {\
371 場合(この ->m_rbool_query){{\
372 この->m_rbool_query->name(m_key、rhs) を返します。 $
374 return Serialize(Delete()) op Serialize(rhs) を返します。 $
377#define __cpprealm_Build_optional_query(op, name, type) $
378rbool<type> Managed<std::optional[type]::operator op(const<type> std::optional[type]+rhs)const noException {\
379 場合(この ->m_rbool_query){{\
380 この->m_rbool_query->name(m_key、rhs) を返します。 $
382 return Serialize(Delete()) op Serialize(rhs) を返します。 $
385#define REALM_SCHEMA(cls, ...)\
386 DECLARe_REALM_SCHEMA(cls,false,false,ObjectType::TopLevel,__VE_ARGS__)\
388#define REALM_EMBEDED_SCHEMA(cls, ...)\
389 DECLARE_REALM_SCHEMA(cls,true,false,オブジェクトタイプ::埋め込み,__VE_ARGS__)
391#define REALM_ASYMETRICS_SCHEMA(cls, ...)\
392 DECLARe_REALM_SCHEMA(cls,false,true,ObjectType::AsyncMongoDB_ARGs_)
394#define_REALM_SCHEMA(cls、is_ embedded_object、is_ametric_object、obj_type、...) $
397 静的constexpr ObjectType object_type =obj_type $
399 静的constexprオートスキーマ = Realm::schema(#cls, object_type, std:tuneple{FOR_EAH(DECL存在_PROPERTY,cls, __VAL_ARGS__) } )= $
400 静的constexpr auto Managed_pointers() {\
401 return std::tuple{FOR_EACH(DECL存在_MANAGED_PROPERTY, cls, __VE_ARG__)} を返す$
403 テンプレート <typename PtrType> 静的constexpr auto unmanaged_to_managed_pointer(PtrType ptr) {\
404 FOR_EACH(DECLA_COND_UNMANAGED_TO_MANAGED、cls、__FA_ARGS__)。 $
406 静的constexpr auto Managed_pointers_names() {\
407 Constexpr auto Managed_pointers_names = std::array[std:string_view] std:tune_size[decltype(std::take_tunePle(__VE_ARG__)]>::value>{FOR_MANAGED_PROPERTY_NAME、cls、__VE_ARG__)}================================================================================================================================================================================================================ $
408 return internal::array_to_turple(managed_pointers_names) $
411 静的制約ブール値 is_object = true。 $
412 明示的管理(const internal::bridge::obj & object)、\
413 内部::bridge::realm 邦土)\
414 : m_obj(std::move(obj)) \
415 、 m_realm(std::move(realm))\
417 自動 zip = internal::zip_tunes(managed_pointers(), Managed_pointers_names()) $
418 std::apply([+](自動+ ...ペア) {\
419 ((*この.*ペア.first).assign(+m_obj, &m_realm、m_obj.get_table().get_corumn_key( pair.second)), ...)= $
422 マネージド(const Managedとその他) {\
424 m_realm = その他の.m_realm。 $
425 m_rbool_query =その他.m_rbool_query $
426 自動 zip = internal::zip_tunes(managed_pointers(), Managed_pointers_names()) $
427 (m_rbool_query) {\} の場合
428 オートスキーマ = m_realm.schema().find(OTHER.schema.name) $
429 自動グループ = m_realm.read_group()。 $
430 自動テーブル_参照 = group.get_table(schema.table_key()) $
431 std::apply([+](自動+ ...ペア) {\
432 ((*この.*ペア.first).prepare_for_query(+m_realm, table_ref、ペア.秒、 m_rbool_query)、...)。 $
435 std::apply([+](自動+ ...ペア) {\
436 ((*この.*ペア.first).assign(+m_obj, &m_realm、m_obj.get_table().get_corumn_key( pair.second)), ...)= $
440 Managed+ 演算子=(const Managedとその他) {\
442 m_realm = その他の.m_realm。 $
443 m_rbool_query =その他.m_rbool_query $
444 自動 zip = internal::zip_tunes(managed_pointers(), Managed_pointers_names()) $
445 (m_rbool_query) {\} の場合
446 オートスキーマ = m_realm.schema().find(OTHER.schema.name) $
447 自動グループ = m_realm.read_group()。 $
448 自動テーブル_参照 = group.get_table(schema.table_key()) $
449 std::apply([+](自動+ ...ペア) {\
450 ((*この.*ペア.first).prepare_for_query(+m_realm, table_ref、ペア.秒、 m_rbool_query)、...)。 $
453 std::apply([+](自動+ ...ペア) {\
454 ((*この.*ペア.first).assign(+m_obj, &m_realm、m_obj.get_table().get_corumn_key( pair.second)), ...)= $
460 m_obj = std::move(OTHER.m_obj) $
461 m_realm = std::move(OTHER.m_realm) $
462 m_rbool_query = std::move(OTHER.m_rbool_query) $
463 自動 zip = internal::zip_tunes(managed_pointers(), Managed_pointers_names()) $
464 (m_rbool_query) {\} の場合
465 オートスキーマ = m_realm.schema().find(OTHER.schema.name) $
466 自動グループ = m_realm.read_group()。 $
467 自動テーブル_参照 = group.get_table(schema.table_key()) $
468 std::apply([+](自動+ ...ペア) {\
469 ((*この.*ペア.first).prepare_for_query(+m_realm, table_ref、ペア.秒、 m_rbool_query)、...)。 $
472 std::apply([+](自動+ ...ペア) {\
473 ((*この.*ペア.first).assign(+m_obj, &m_realm、m_obj.get_table().get_corumn_key( pair.second)), ...)= $
477 Managed+ 演算子=(マネージドとその他) {\
478 m_obj = std::move(OTHER.m_obj) $
479 m_realm = std::move(OTHER.m_realm) $
480 m_rbool_query = std::move(OTHER.m_rbool_query) $
481 自動 zip = internal::zip_tunes(managed_pointers(), Managed_pointers_names()) $
482 (m_rbool_query) {\} の場合
483 オートスキーマ = m_realm.schema().find(OTHER.schema.name) $
484 自動グループ = m_realm.read_group()。 $
485 自動テーブル_参照 = group.get_table(schema.table_key()) $
486 std::apply([+](自動+ ...ペア) {\
487 ((*この.*ペア.first).prepare_for_query(+m_realm, table_ref、ペア.秒、 m_rbool_query)、...)。 $
490 std::apply([+](自動+ ...ペア) {\
491 ((*この.*ペア.first).assign(+m_obj, &m_realm、m_obj.get_table().get_corumn_key( pair.second)), ...)= $
496 静的に管理される準備_for_query(const internal::bridge::realm+r、Realm::rbool*q) {\
499 m.m_rbool_query = q. $
500 オートスキーマ = m.m_realm.schema().find(m.schema.name) $
501 自動グループ = m.m_realm.read_group() $
502 自動テーブル_参照 = group.get_table(schema.table_key()) $
503 自動 zip = internal::zip_tunes(managed_pointers(), Managed_pointers_names()) $
504 std::apply([+m, &table_ref](自動と ...ペア) {\
505 ((m.*ペア.first).prepare_for_query(+m.m_realm,table_ref, pair.second, m.m_rbool_query)、...) $
509 cls detach() const { \
511 自動割り当て =[+v,この](自動とペア) {\
512 v.*(std::dec参照 = ((*この).*(ペア.秒)). describe() $
514 自動圧縮 = internal::zip_turples(maned::schema.ps::schema.ps)<cls>Managed<cls> は、次の操作を実行します。 $
515 std::apply([+assign](自動と ...ペア) {\
520 auto explain(std::function=vid(realm::object_change=managed>========================================================================================================================================================<managed>
521 自動 m_object = std::take_shared<internal::bridge::object>(m_realm, m_obj) $
522 オートラッパー = Realm::object_change_shellback_<managed> wrapper[managed]>{\
523 std::move(fn)、これは m_object} の$
524 return m_object->add_notification_shellback(\
528 return !m_obj.is_valid(); \
531 return m_realm.is_frozen(); \
533 <cls>マネージド以前のコマンドを使用したフリーズ(){{\
534 auto realm = m_realm.freeze(); $
537 <cls>Managed{CLs}thaw(){\
539slow std::runtime_error("無効なオブジェクトは解凍できません。" ) $
541 if (!is_frozen()) { \
544 autothawed_realm = m_realm.thaw() $
545<cls>は管理対象のタグを返します。thawed_realm) $
548 return db(m_realm); \
550ブール値演算子 ==(constpedmand=====================================================<cls>
551の場合(m_rbool_query .=nullptr)\
552 slowstd::runtime_error("この比較演算子は `where`) 内では有効ではありません。 $
554 auto+ b = その他の.m_obj $
(m_realm の場合、
555はその他の.m_realm) {\
558 return a.get_table() == b.get_table() $
559 &= a.get_key() == b.get_key() $
561ブール値演算子 ==(constpedmand==========================================================
562の場合(m_rbool_query .=nullptr)\
563 slowstd::runtime_error("この比較演算子は `where`) 内では有効ではありません。 $
565 auto+ b = その他の.m_obj $
566の場合(m_realm .= Other->m_realm){{\
569 return a.get_table() == b->get_table() $
570 && a.get_key() == b->get_key(); \
572ブール値演算子 バージョン .=(constmaned<cls>+その他)const {\
573 return !この演算子 ==(その他) を返します。 $
575ブール値演算子 バージョン .=(constmaned<cls*>その他)const {\
576 return !この演算子 ==(その他) を返します。 $
578ブール値演算子 <<cls> (constmaned[cls]>+rhs)const {\
579 return m_obj.get_key() < rhs.m_obj.get_key(); \
581 empty to_json(std::ostream+out) は、{\ を除き、
585 internal::bridge::obj m_obj $
586 internal::bridge::realm m_realm $
587 rbool* m_rbool_query = nullptr $
589テンプレート <typename, typename" 管理$
590テンプレート <typename, typename" の互換性構造体ボックス$
592テンプレート <typename T> 関係rbool* ::realm:: internal::get_rbool(const T & ) $
595 struct meta_schema_##cls {\
596 meta_schema_##cls() {\
597 auto s = Managed<cls>::schema.to_core_schema() $
598 auto it = std::find(std::begin(realm::db::schemas), std::end(realm::db::schemas), s); \
599 if (it == std::end(realm::db::schemas)) \
600 realm::db::schemas.push_back(s); \
603静的インライン meta_schema_##cls _meta_schema_##cls{}
605名前空間Realm:: internal {
611 rbool* get_rbool(
const T& o) {