picox  0.1
xpreprocessor.h
[詳解]
1 
14 /*
15  * License: MIT license
16  * Copyright (c) <2015> <MaskedW [maskedw00@gmail.com]>
17  *
18  * Permission is hereby granted, free of charge, to any person
19  * obtaining a copy of this software and associated documentation
20  * files (the "Software"), to deal in the Software without
21  * restriction, including without limitation the rights to use, copy,
22  * modify, merge, publish, distribute, sublicense, and/or sell copies
23  * of the Software, and to permit persons to whom the Software is
24  * furnished to do so, subject to the following conditions:
25  *
26  * The above copyright notice and this permission notice shall be
27  * included in all copies or substantial portions of the Software.
28  *
29  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
30  * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
31  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
32  * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
33  * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
34  * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
35  * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
36  * SOFTWARE.
37  */
38 
39 
40 #ifndef picox_core_detail_xpreprocessor_h_
41 #define picox_core_detail_xpreprocessor_h_
42 
43 
52 #define X_PP_CAT__(a, b) a ## b
54 
56 
59 #define X_PP_CAT(a, b) X_PP_CAT__(a, b)
60 
61 
64 #define X_PP_CAT3(a,b,c) X_PP_CAT(X_PP_CAT(a,b),c)
65 
66 
69 #define X_PP_CAT4(a,b,c,d) X_PP_CAT(X_PP_CAT3(a,b,c),d)
70 
71 
74 #define X_PP_CAT5(a,b,c,d,e) X_PP_CAT(X_PP_CAT4(a,b,c,d),e)
75 
76 
78 #define X_PP_STRINGIZE__(text) #text
79 
81 
88 #define X_PP_STRINGIZE(text) X_PP_STRINGIZE__(text)
89 
90 
96 #endif // picox_core_detail_xpreprocessor_h_