1 /*
2 * This file is auto-generated. DO NOT MODIFY.
3 * Using: out/host/linux-x86/bin/aidl --lang=ndk --structured --version 4 --hash 53178f8de9b8861df391cf0593f6f3e08adad33d -t --stability vintf --min_sdk_version 30 -pout/soong/.intermediates/hardware/interfaces/common/aidl/android.hardware.common_interface/2/preprocessed.aidl -pout/soong/.intermediates/hardware/interfaces/graphics/common/aidl/android.hardware.graphics.common_interface/6/preprocessed.aidl --ninja -d out/soong/.intermediates/hardware/interfaces/neuralnetworks/aidl/android.hardware.neuralnetworks-V4-ndk-source/gen/staging/android/hardware/neuralnetworks/OperationType.cpp.d -h out/soong/.intermediates/hardware/interfaces/neuralnetworks/aidl/android.hardware.neuralnetworks-V4-ndk-source/gen/include/staging -o out/soong/.intermediates/hardware/interfaces/neuralnetworks/aidl/android.hardware.neuralnetworks-V4-ndk-source/gen/staging -Nhardware/interfaces/neuralnetworks/aidl/aidl_api/android.hardware.neuralnetworks/4 hardware/interfaces/neuralnetworks/aidl/aidl_api/android.hardware.neuralnetworks/4/android/hardware/neuralnetworks/OperationType.aidl
4 *
5 * DO NOT CHECK THIS FILE INTO A CODE TREE (e.g. git, etc..).
6 * ALWAYS GENERATE THIS FILE FROM UPDATED AIDL COMPILER
7 * AS A BUILD INTERMEDIATE ONLY. THIS IS NOT SOURCE CODE.
8 */
9 #pragma once
10
11 #include <array>
12 #include <cstdint>
13 #include <memory>
14 #include <optional>
15 #include <string>
16 #include <vector>
17 #include <android/binder_enums.h>
18 #ifdef BINDER_STABILITY_SUPPORT
19 #include <android/binder_stability.h>
20 #endif // BINDER_STABILITY_SUPPORT
21
22 namespace aidl {
23 namespace android {
24 namespace hardware {
25 namespace neuralnetworks {
26 enum class OperationType : int32_t {
27 ADD = 0,
28 AVERAGE_POOL_2D = 1,
29 CONCATENATION = 2,
30 CONV_2D = 3,
31 DEPTHWISE_CONV_2D = 4,
32 DEPTH_TO_SPACE = 5,
33 DEQUANTIZE = 6,
34 EMBEDDING_LOOKUP = 7,
35 FLOOR = 8,
36 FULLY_CONNECTED = 9,
37 HASHTABLE_LOOKUP = 10,
38 L2_NORMALIZATION = 11,
39 L2_POOL_2D = 12,
40 LOCAL_RESPONSE_NORMALIZATION = 13,
41 LOGISTIC = 14,
42 LSH_PROJECTION = 15,
43 LSTM = 16,
44 MAX_POOL_2D = 17,
45 MUL = 18,
46 RELU = 19,
47 RELU1 = 20,
48 RELU6 = 21,
49 RESHAPE = 22,
50 RESIZE_BILINEAR = 23,
51 RNN = 24,
52 SOFTMAX = 25,
53 SPACE_TO_DEPTH = 26,
54 SVDF = 27,
55 TANH = 28,
56 BATCH_TO_SPACE_ND = 29,
57 DIV = 30,
58 MEAN = 31,
59 PAD = 32,
60 SPACE_TO_BATCH_ND = 33,
61 SQUEEZE = 34,
62 STRIDED_SLICE = 35,
63 SUB = 36,
64 TRANSPOSE = 37,
65 ABS = 38,
66 ARGMAX = 39,
67 ARGMIN = 40,
68 AXIS_ALIGNED_BBOX_TRANSFORM = 41,
69 BIDIRECTIONAL_SEQUENCE_LSTM = 42,
70 BIDIRECTIONAL_SEQUENCE_RNN = 43,
71 BOX_WITH_NMS_LIMIT = 44,
72 CAST = 45,
73 CHANNEL_SHUFFLE = 46,
74 DETECTION_POSTPROCESSING = 47,
75 EQUAL = 48,
76 EXP = 49,
77 EXPAND_DIMS = 50,
78 GATHER = 51,
79 GENERATE_PROPOSALS = 52,
80 GREATER = 53,
81 GREATER_EQUAL = 54,
82 GROUPED_CONV_2D = 55,
83 HEATMAP_MAX_KEYPOINT = 56,
84 INSTANCE_NORMALIZATION = 57,
85 LESS = 58,
86 LESS_EQUAL = 59,
87 LOG = 60,
88 LOGICAL_AND = 61,
89 LOGICAL_NOT = 62,
90 LOGICAL_OR = 63,
91 LOG_SOFTMAX = 64,
92 MAXIMUM = 65,
93 MINIMUM = 66,
94 NEG = 67,
95 NOT_EQUAL = 68,
96 PAD_V2 = 69,
97 POW = 70,
98 PRELU = 71,
99 QUANTIZE = 72,
100 QUANTIZED_16BIT_LSTM = 73,
101 RANDOM_MULTINOMIAL = 74,
102 REDUCE_ALL = 75,
103 REDUCE_ANY = 76,
104 REDUCE_MAX = 77,
105 REDUCE_MIN = 78,
106 REDUCE_PROD = 79,
107 REDUCE_SUM = 80,
108 ROI_ALIGN = 81,
109 ROI_POOLING = 82,
110 RSQRT = 83,
111 SELECT = 84,
112 SIN = 85,
113 SLICE = 86,
114 SPLIT = 87,
115 SQRT = 88,
116 TILE = 89,
117 TOPK_V2 = 90,
118 TRANSPOSE_CONV_2D = 91,
119 UNIDIRECTIONAL_SEQUENCE_LSTM = 92,
120 UNIDIRECTIONAL_SEQUENCE_RNN = 93,
121 RESIZE_NEAREST_NEIGHBOR = 94,
122 QUANTIZED_LSTM = 95,
123 IF = 96,
124 WHILE = 97,
125 ELU = 98,
126 HARD_SWISH = 99,
127 FILL = 100,
128 RANK = 101,
129 BATCH_MATMUL = 102,
130 PACK = 103,
131 MIRROR_PAD = 104,
132 REVERSE = 105,
133 };
134
135 } // namespace neuralnetworks
136 } // namespace hardware
137 } // namespace android
138 } // namespace aidl
139 namespace aidl {
140 namespace android {
141 namespace hardware {
142 namespace neuralnetworks {
toString(OperationType val)143 [[nodiscard]] static inline std::string toString(OperationType val) {
144 switch(val) {
145 case OperationType::ADD:
146 return "ADD";
147 case OperationType::AVERAGE_POOL_2D:
148 return "AVERAGE_POOL_2D";
149 case OperationType::CONCATENATION:
150 return "CONCATENATION";
151 case OperationType::CONV_2D:
152 return "CONV_2D";
153 case OperationType::DEPTHWISE_CONV_2D:
154 return "DEPTHWISE_CONV_2D";
155 case OperationType::DEPTH_TO_SPACE:
156 return "DEPTH_TO_SPACE";
157 case OperationType::DEQUANTIZE:
158 return "DEQUANTIZE";
159 case OperationType::EMBEDDING_LOOKUP:
160 return "EMBEDDING_LOOKUP";
161 case OperationType::FLOOR:
162 return "FLOOR";
163 case OperationType::FULLY_CONNECTED:
164 return "FULLY_CONNECTED";
165 case OperationType::HASHTABLE_LOOKUP:
166 return "HASHTABLE_LOOKUP";
167 case OperationType::L2_NORMALIZATION:
168 return "L2_NORMALIZATION";
169 case OperationType::L2_POOL_2D:
170 return "L2_POOL_2D";
171 case OperationType::LOCAL_RESPONSE_NORMALIZATION:
172 return "LOCAL_RESPONSE_NORMALIZATION";
173 case OperationType::LOGISTIC:
174 return "LOGISTIC";
175 case OperationType::LSH_PROJECTION:
176 return "LSH_PROJECTION";
177 case OperationType::LSTM:
178 return "LSTM";
179 case OperationType::MAX_POOL_2D:
180 return "MAX_POOL_2D";
181 case OperationType::MUL:
182 return "MUL";
183 case OperationType::RELU:
184 return "RELU";
185 case OperationType::RELU1:
186 return "RELU1";
187 case OperationType::RELU6:
188 return "RELU6";
189 case OperationType::RESHAPE:
190 return "RESHAPE";
191 case OperationType::RESIZE_BILINEAR:
192 return "RESIZE_BILINEAR";
193 case OperationType::RNN:
194 return "RNN";
195 case OperationType::SOFTMAX:
196 return "SOFTMAX";
197 case OperationType::SPACE_TO_DEPTH:
198 return "SPACE_TO_DEPTH";
199 case OperationType::SVDF:
200 return "SVDF";
201 case OperationType::TANH:
202 return "TANH";
203 case OperationType::BATCH_TO_SPACE_ND:
204 return "BATCH_TO_SPACE_ND";
205 case OperationType::DIV:
206 return "DIV";
207 case OperationType::MEAN:
208 return "MEAN";
209 case OperationType::PAD:
210 return "PAD";
211 case OperationType::SPACE_TO_BATCH_ND:
212 return "SPACE_TO_BATCH_ND";
213 case OperationType::SQUEEZE:
214 return "SQUEEZE";
215 case OperationType::STRIDED_SLICE:
216 return "STRIDED_SLICE";
217 case OperationType::SUB:
218 return "SUB";
219 case OperationType::TRANSPOSE:
220 return "TRANSPOSE";
221 case OperationType::ABS:
222 return "ABS";
223 case OperationType::ARGMAX:
224 return "ARGMAX";
225 case OperationType::ARGMIN:
226 return "ARGMIN";
227 case OperationType::AXIS_ALIGNED_BBOX_TRANSFORM:
228 return "AXIS_ALIGNED_BBOX_TRANSFORM";
229 case OperationType::BIDIRECTIONAL_SEQUENCE_LSTM:
230 return "BIDIRECTIONAL_SEQUENCE_LSTM";
231 case OperationType::BIDIRECTIONAL_SEQUENCE_RNN:
232 return "BIDIRECTIONAL_SEQUENCE_RNN";
233 case OperationType::BOX_WITH_NMS_LIMIT:
234 return "BOX_WITH_NMS_LIMIT";
235 case OperationType::CAST:
236 return "CAST";
237 case OperationType::CHANNEL_SHUFFLE:
238 return "CHANNEL_SHUFFLE";
239 case OperationType::DETECTION_POSTPROCESSING:
240 return "DETECTION_POSTPROCESSING";
241 case OperationType::EQUAL:
242 return "EQUAL";
243 case OperationType::EXP:
244 return "EXP";
245 case OperationType::EXPAND_DIMS:
246 return "EXPAND_DIMS";
247 case OperationType::GATHER:
248 return "GATHER";
249 case OperationType::GENERATE_PROPOSALS:
250 return "GENERATE_PROPOSALS";
251 case OperationType::GREATER:
252 return "GREATER";
253 case OperationType::GREATER_EQUAL:
254 return "GREATER_EQUAL";
255 case OperationType::GROUPED_CONV_2D:
256 return "GROUPED_CONV_2D";
257 case OperationType::HEATMAP_MAX_KEYPOINT:
258 return "HEATMAP_MAX_KEYPOINT";
259 case OperationType::INSTANCE_NORMALIZATION:
260 return "INSTANCE_NORMALIZATION";
261 case OperationType::LESS:
262 return "LESS";
263 case OperationType::LESS_EQUAL:
264 return "LESS_EQUAL";
265 case OperationType::LOG:
266 return "LOG";
267 case OperationType::LOGICAL_AND:
268 return "LOGICAL_AND";
269 case OperationType::LOGICAL_NOT:
270 return "LOGICAL_NOT";
271 case OperationType::LOGICAL_OR:
272 return "LOGICAL_OR";
273 case OperationType::LOG_SOFTMAX:
274 return "LOG_SOFTMAX";
275 case OperationType::MAXIMUM:
276 return "MAXIMUM";
277 case OperationType::MINIMUM:
278 return "MINIMUM";
279 case OperationType::NEG:
280 return "NEG";
281 case OperationType::NOT_EQUAL:
282 return "NOT_EQUAL";
283 case OperationType::PAD_V2:
284 return "PAD_V2";
285 case OperationType::POW:
286 return "POW";
287 case OperationType::PRELU:
288 return "PRELU";
289 case OperationType::QUANTIZE:
290 return "QUANTIZE";
291 case OperationType::QUANTIZED_16BIT_LSTM:
292 return "QUANTIZED_16BIT_LSTM";
293 case OperationType::RANDOM_MULTINOMIAL:
294 return "RANDOM_MULTINOMIAL";
295 case OperationType::REDUCE_ALL:
296 return "REDUCE_ALL";
297 case OperationType::REDUCE_ANY:
298 return "REDUCE_ANY";
299 case OperationType::REDUCE_MAX:
300 return "REDUCE_MAX";
301 case OperationType::REDUCE_MIN:
302 return "REDUCE_MIN";
303 case OperationType::REDUCE_PROD:
304 return "REDUCE_PROD";
305 case OperationType::REDUCE_SUM:
306 return "REDUCE_SUM";
307 case OperationType::ROI_ALIGN:
308 return "ROI_ALIGN";
309 case OperationType::ROI_POOLING:
310 return "ROI_POOLING";
311 case OperationType::RSQRT:
312 return "RSQRT";
313 case OperationType::SELECT:
314 return "SELECT";
315 case OperationType::SIN:
316 return "SIN";
317 case OperationType::SLICE:
318 return "SLICE";
319 case OperationType::SPLIT:
320 return "SPLIT";
321 case OperationType::SQRT:
322 return "SQRT";
323 case OperationType::TILE:
324 return "TILE";
325 case OperationType::TOPK_V2:
326 return "TOPK_V2";
327 case OperationType::TRANSPOSE_CONV_2D:
328 return "TRANSPOSE_CONV_2D";
329 case OperationType::UNIDIRECTIONAL_SEQUENCE_LSTM:
330 return "UNIDIRECTIONAL_SEQUENCE_LSTM";
331 case OperationType::UNIDIRECTIONAL_SEQUENCE_RNN:
332 return "UNIDIRECTIONAL_SEQUENCE_RNN";
333 case OperationType::RESIZE_NEAREST_NEIGHBOR:
334 return "RESIZE_NEAREST_NEIGHBOR";
335 case OperationType::QUANTIZED_LSTM:
336 return "QUANTIZED_LSTM";
337 case OperationType::IF:
338 return "IF";
339 case OperationType::WHILE:
340 return "WHILE";
341 case OperationType::ELU:
342 return "ELU";
343 case OperationType::HARD_SWISH:
344 return "HARD_SWISH";
345 case OperationType::FILL:
346 return "FILL";
347 case OperationType::RANK:
348 return "RANK";
349 case OperationType::BATCH_MATMUL:
350 return "BATCH_MATMUL";
351 case OperationType::PACK:
352 return "PACK";
353 case OperationType::MIRROR_PAD:
354 return "MIRROR_PAD";
355 case OperationType::REVERSE:
356 return "REVERSE";
357 default:
358 return std::to_string(static_cast<int32_t>(val));
359 }
360 }
361 } // namespace neuralnetworks
362 } // namespace hardware
363 } // namespace android
364 } // namespace aidl
365 namespace ndk {
366 namespace internal {
367 #pragma clang diagnostic push
368 #pragma clang diagnostic ignored "-Wc++17-extensions"
369 template <>
370 constexpr inline std::array<aidl::android::hardware::neuralnetworks::OperationType, 106> enum_values<aidl::android::hardware::neuralnetworks::OperationType> = {
371 aidl::android::hardware::neuralnetworks::OperationType::ADD,
372 aidl::android::hardware::neuralnetworks::OperationType::AVERAGE_POOL_2D,
373 aidl::android::hardware::neuralnetworks::OperationType::CONCATENATION,
374 aidl::android::hardware::neuralnetworks::OperationType::CONV_2D,
375 aidl::android::hardware::neuralnetworks::OperationType::DEPTHWISE_CONV_2D,
376 aidl::android::hardware::neuralnetworks::OperationType::DEPTH_TO_SPACE,
377 aidl::android::hardware::neuralnetworks::OperationType::DEQUANTIZE,
378 aidl::android::hardware::neuralnetworks::OperationType::EMBEDDING_LOOKUP,
379 aidl::android::hardware::neuralnetworks::OperationType::FLOOR,
380 aidl::android::hardware::neuralnetworks::OperationType::FULLY_CONNECTED,
381 aidl::android::hardware::neuralnetworks::OperationType::HASHTABLE_LOOKUP,
382 aidl::android::hardware::neuralnetworks::OperationType::L2_NORMALIZATION,
383 aidl::android::hardware::neuralnetworks::OperationType::L2_POOL_2D,
384 aidl::android::hardware::neuralnetworks::OperationType::LOCAL_RESPONSE_NORMALIZATION,
385 aidl::android::hardware::neuralnetworks::OperationType::LOGISTIC,
386 aidl::android::hardware::neuralnetworks::OperationType::LSH_PROJECTION,
387 aidl::android::hardware::neuralnetworks::OperationType::LSTM,
388 aidl::android::hardware::neuralnetworks::OperationType::MAX_POOL_2D,
389 aidl::android::hardware::neuralnetworks::OperationType::MUL,
390 aidl::android::hardware::neuralnetworks::OperationType::RELU,
391 aidl::android::hardware::neuralnetworks::OperationType::RELU1,
392 aidl::android::hardware::neuralnetworks::OperationType::RELU6,
393 aidl::android::hardware::neuralnetworks::OperationType::RESHAPE,
394 aidl::android::hardware::neuralnetworks::OperationType::RESIZE_BILINEAR,
395 aidl::android::hardware::neuralnetworks::OperationType::RNN,
396 aidl::android::hardware::neuralnetworks::OperationType::SOFTMAX,
397 aidl::android::hardware::neuralnetworks::OperationType::SPACE_TO_DEPTH,
398 aidl::android::hardware::neuralnetworks::OperationType::SVDF,
399 aidl::android::hardware::neuralnetworks::OperationType::TANH,
400 aidl::android::hardware::neuralnetworks::OperationType::BATCH_TO_SPACE_ND,
401 aidl::android::hardware::neuralnetworks::OperationType::DIV,
402 aidl::android::hardware::neuralnetworks::OperationType::MEAN,
403 aidl::android::hardware::neuralnetworks::OperationType::PAD,
404 aidl::android::hardware::neuralnetworks::OperationType::SPACE_TO_BATCH_ND,
405 aidl::android::hardware::neuralnetworks::OperationType::SQUEEZE,
406 aidl::android::hardware::neuralnetworks::OperationType::STRIDED_SLICE,
407 aidl::android::hardware::neuralnetworks::OperationType::SUB,
408 aidl::android::hardware::neuralnetworks::OperationType::TRANSPOSE,
409 aidl::android::hardware::neuralnetworks::OperationType::ABS,
410 aidl::android::hardware::neuralnetworks::OperationType::ARGMAX,
411 aidl::android::hardware::neuralnetworks::OperationType::ARGMIN,
412 aidl::android::hardware::neuralnetworks::OperationType::AXIS_ALIGNED_BBOX_TRANSFORM,
413 aidl::android::hardware::neuralnetworks::OperationType::BIDIRECTIONAL_SEQUENCE_LSTM,
414 aidl::android::hardware::neuralnetworks::OperationType::BIDIRECTIONAL_SEQUENCE_RNN,
415 aidl::android::hardware::neuralnetworks::OperationType::BOX_WITH_NMS_LIMIT,
416 aidl::android::hardware::neuralnetworks::OperationType::CAST,
417 aidl::android::hardware::neuralnetworks::OperationType::CHANNEL_SHUFFLE,
418 aidl::android::hardware::neuralnetworks::OperationType::DETECTION_POSTPROCESSING,
419 aidl::android::hardware::neuralnetworks::OperationType::EQUAL,
420 aidl::android::hardware::neuralnetworks::OperationType::EXP,
421 aidl::android::hardware::neuralnetworks::OperationType::EXPAND_DIMS,
422 aidl::android::hardware::neuralnetworks::OperationType::GATHER,
423 aidl::android::hardware::neuralnetworks::OperationType::GENERATE_PROPOSALS,
424 aidl::android::hardware::neuralnetworks::OperationType::GREATER,
425 aidl::android::hardware::neuralnetworks::OperationType::GREATER_EQUAL,
426 aidl::android::hardware::neuralnetworks::OperationType::GROUPED_CONV_2D,
427 aidl::android::hardware::neuralnetworks::OperationType::HEATMAP_MAX_KEYPOINT,
428 aidl::android::hardware::neuralnetworks::OperationType::INSTANCE_NORMALIZATION,
429 aidl::android::hardware::neuralnetworks::OperationType::LESS,
430 aidl::android::hardware::neuralnetworks::OperationType::LESS_EQUAL,
431 aidl::android::hardware::neuralnetworks::OperationType::LOG,
432 aidl::android::hardware::neuralnetworks::OperationType::LOGICAL_AND,
433 aidl::android::hardware::neuralnetworks::OperationType::LOGICAL_NOT,
434 aidl::android::hardware::neuralnetworks::OperationType::LOGICAL_OR,
435 aidl::android::hardware::neuralnetworks::OperationType::LOG_SOFTMAX,
436 aidl::android::hardware::neuralnetworks::OperationType::MAXIMUM,
437 aidl::android::hardware::neuralnetworks::OperationType::MINIMUM,
438 aidl::android::hardware::neuralnetworks::OperationType::NEG,
439 aidl::android::hardware::neuralnetworks::OperationType::NOT_EQUAL,
440 aidl::android::hardware::neuralnetworks::OperationType::PAD_V2,
441 aidl::android::hardware::neuralnetworks::OperationType::POW,
442 aidl::android::hardware::neuralnetworks::OperationType::PRELU,
443 aidl::android::hardware::neuralnetworks::OperationType::QUANTIZE,
444 aidl::android::hardware::neuralnetworks::OperationType::QUANTIZED_16BIT_LSTM,
445 aidl::android::hardware::neuralnetworks::OperationType::RANDOM_MULTINOMIAL,
446 aidl::android::hardware::neuralnetworks::OperationType::REDUCE_ALL,
447 aidl::android::hardware::neuralnetworks::OperationType::REDUCE_ANY,
448 aidl::android::hardware::neuralnetworks::OperationType::REDUCE_MAX,
449 aidl::android::hardware::neuralnetworks::OperationType::REDUCE_MIN,
450 aidl::android::hardware::neuralnetworks::OperationType::REDUCE_PROD,
451 aidl::android::hardware::neuralnetworks::OperationType::REDUCE_SUM,
452 aidl::android::hardware::neuralnetworks::OperationType::ROI_ALIGN,
453 aidl::android::hardware::neuralnetworks::OperationType::ROI_POOLING,
454 aidl::android::hardware::neuralnetworks::OperationType::RSQRT,
455 aidl::android::hardware::neuralnetworks::OperationType::SELECT,
456 aidl::android::hardware::neuralnetworks::OperationType::SIN,
457 aidl::android::hardware::neuralnetworks::OperationType::SLICE,
458 aidl::android::hardware::neuralnetworks::OperationType::SPLIT,
459 aidl::android::hardware::neuralnetworks::OperationType::SQRT,
460 aidl::android::hardware::neuralnetworks::OperationType::TILE,
461 aidl::android::hardware::neuralnetworks::OperationType::TOPK_V2,
462 aidl::android::hardware::neuralnetworks::OperationType::TRANSPOSE_CONV_2D,
463 aidl::android::hardware::neuralnetworks::OperationType::UNIDIRECTIONAL_SEQUENCE_LSTM,
464 aidl::android::hardware::neuralnetworks::OperationType::UNIDIRECTIONAL_SEQUENCE_RNN,
465 aidl::android::hardware::neuralnetworks::OperationType::RESIZE_NEAREST_NEIGHBOR,
466 aidl::android::hardware::neuralnetworks::OperationType::QUANTIZED_LSTM,
467 aidl::android::hardware::neuralnetworks::OperationType::IF,
468 aidl::android::hardware::neuralnetworks::OperationType::WHILE,
469 aidl::android::hardware::neuralnetworks::OperationType::ELU,
470 aidl::android::hardware::neuralnetworks::OperationType::HARD_SWISH,
471 aidl::android::hardware::neuralnetworks::OperationType::FILL,
472 aidl::android::hardware::neuralnetworks::OperationType::RANK,
473 aidl::android::hardware::neuralnetworks::OperationType::BATCH_MATMUL,
474 aidl::android::hardware::neuralnetworks::OperationType::PACK,
475 aidl::android::hardware::neuralnetworks::OperationType::MIRROR_PAD,
476 aidl::android::hardware::neuralnetworks::OperationType::REVERSE,
477 };
478 #pragma clang diagnostic pop
479 } // namespace internal
480 } // namespace ndk
481