Minh Nguyen / ArduinoJson
Embed: (wiki syntax)

« Back to documentation index

Show/hide line numbers preprocessor.hpp Source File

preprocessor.hpp

00001 // ArduinoJson - arduinojson.org
00002 // Copyright Benoit Blanchon 2014-2021
00003 // MIT License
00004 
00005 #pragma once
00006 
00007 #define ARDUINOJSON_EXPAND6(a, b, c, d, e, f) a, b, c, d, e, f
00008 #define ARDUINOJSON_EXPAND7(a, b, c, d, e, f, g) a, b, c, d, e, f, g
00009 #define ARDUINOJSON_EXPAND9(a, b, c, d, e, f, g, h, i) a, b, c, d, e, f, g, h, i
00010 #define ARDUINOJSON_EXPAND18(a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, \
00011                              q, r)                                           \
00012   a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r
00013 
00014 #define ARDUINOJSON_CONCAT_(A, B) A##B
00015 #define ARDUINOJSON_CONCAT2(A, B) ARDUINOJSON_CONCAT_(A, B)
00016 #define ARDUINOJSON_CONCAT4(A, B, C, D) \
00017   ARDUINOJSON_CONCAT2(ARDUINOJSON_CONCAT2(A, B), ARDUINOJSON_CONCAT2(C, D))
00018 
00019 #define ARDUINOJSON_HEX_DIGIT_0000() 0
00020 #define ARDUINOJSON_HEX_DIGIT_0001() 1
00021 #define ARDUINOJSON_HEX_DIGIT_0010() 2
00022 #define ARDUINOJSON_HEX_DIGIT_0011() 3
00023 #define ARDUINOJSON_HEX_DIGIT_0100() 4
00024 #define ARDUINOJSON_HEX_DIGIT_0101() 5
00025 #define ARDUINOJSON_HEX_DIGIT_0110() 6
00026 #define ARDUINOJSON_HEX_DIGIT_0111() 7
00027 #define ARDUINOJSON_HEX_DIGIT_1000() 8
00028 #define ARDUINOJSON_HEX_DIGIT_1001() 9
00029 #define ARDUINOJSON_HEX_DIGIT_1010() A
00030 #define ARDUINOJSON_HEX_DIGIT_1011() B
00031 #define ARDUINOJSON_HEX_DIGIT_1100() C
00032 #define ARDUINOJSON_HEX_DIGIT_1101() D
00033 #define ARDUINOJSON_HEX_DIGIT_1110() E
00034 #define ARDUINOJSON_HEX_DIGIT_1111() F
00035 #define ARDUINOJSON_HEX_DIGIT_(A, B, C, D) ARDUINOJSON_HEX_DIGIT_##A##B##C##D()
00036 #define ARDUINOJSON_HEX_DIGIT(A, B, C, D) ARDUINOJSON_HEX_DIGIT_(A, B, C, D)