Go to the documentation of this file.
19 template <
unsigned int N>
20 constexpr
char extract_char (
char const (&
string) [N],
unsigned int index)
22 return index < N ?
string[index] :
'\0';
27 #ifndef FRAMEWORK_NO_BOOST
28 #include <boost/preprocessor/repetition/repeat.hpp>
29 #include <boost/preprocessor/punctuation/comma_if.hpp>
31 #define EXPAND_STRING_N_IMPL(z, n, data) \
32 BOOST_PP_COMMA_IF(n) framework::detail::extract_char(data, n)
51 #define EXPAND_STRING_N(STRING, LENGTH) \
52 BOOST_PP_REPEAT(LENGTH, EXPAND_STRING_N_IMPL, STRING)
65 #define EXPAND_STRING(STRING) \
66 framework::detail::extract_char(STRING, 0), \
67 framework::detail::extract_char(STRING, 1), \
68 framework::detail::extract_char(STRING, 2), \
69 framework::detail::extract_char(STRING, 3), \
70 framework::detail::extract_char(STRING, 4), \
71 framework::detail::extract_char(STRING, 5), \
72 framework::detail::extract_char(STRING, 6), \
73 framework::detail::extract_char(STRING, 7), \
74 framework::detail::extract_char(STRING, 8), \
75 framework::detail::extract_char(STRING, 9), \
76 framework::detail::extract_char(STRING, 10), \
77 framework::detail::extract_char(STRING, 11), \
78 framework::detail::extract_char(STRING, 12), \
79 framework::detail::extract_char(STRING, 13), \
80 framework::detail::extract_char(STRING, 14), \
81 framework::detail::extract_char(STRING, 15), \
82 framework::detail::extract_char(STRING, 16), \
83 framework::detail::extract_char(STRING, 17), \
84 framework::detail::extract_char(STRING, 18), \
85 framework::detail::extract_char(STRING, 19), \
86 framework::detail::extract_char(STRING, 20), \
87 framework::detail::extract_char(STRING, 21), \
88 framework::detail::extract_char(STRING, 22), \
89 framework::detail::extract_char(STRING, 23), \
90 framework::detail::extract_char(STRING, 24), \
91 framework::detail::extract_char(STRING, 25), \
92 framework::detail::extract_char(STRING, 26), \
93 framework::detail::extract_char(STRING, 27), \
94 framework::detail::extract_char(STRING, 28), \
95 framework::detail::extract_char(STRING, 29), \
96 framework::detail::extract_char(STRING, 30), \
97 framework::detail::extract_char(STRING, 31), \
98 framework::detail::extract_char(STRING, 32), \
99 framework::detail::extract_char(STRING, 33), \
100 framework::detail::extract_char(STRING, 34), \
101 framework::detail::extract_char(STRING, 35), \
102 framework::detail::extract_char(STRING, 36), \
103 framework::detail::extract_char(STRING, 37), \
104 framework::detail::extract_char(STRING, 38), \
105 framework::detail::extract_char(STRING, 39), \
106 framework::detail::extract_char(STRING, 40), \
107 framework::detail::extract_char(STRING, 41), \
108 framework::detail::extract_char(STRING, 42), \
109 framework::detail::extract_char(STRING, 43), \
110 framework::detail::extract_char(STRING, 44), \
111 framework::detail::extract_char(STRING, 45), \
112 framework::detail::extract_char(STRING, 46), \
113 framework::detail::extract_char(STRING, 47), \
114 framework::detail::extract_char(STRING, 48), \
115 framework::detail::extract_char(STRING, 49), \
116 framework::detail::extract_char(STRING, 50), \
117 framework::detail::extract_char(STRING, 51), \
118 framework::detail::extract_char(STRING, 52), \
119 framework::detail::extract_char(STRING, 53), \
120 framework::detail::extract_char(STRING, 54), \
121 framework::detail::extract_char(STRING, 55), \
122 framework::detail::extract_char(STRING, 56), \
123 framework::detail::extract_char(STRING, 57), \
124 framework::detail::extract_char(STRING, 58), \
125 framework::detail::extract_char(STRING, 59), \
126 framework::detail::extract_char(STRING, 60), \
127 framework::detail::extract_char(STRING, 61), \
128 framework::detail::extract_char(STRING, 62), \
129 framework::detail::extract_char(STRING, 63), \
130 framework::detail::extract_char(STRING, 64), \
131 framework::detail::extract_char(STRING, 65), \
132 framework::detail::extract_char(STRING, 66), \
133 framework::detail::extract_char(STRING, 67), \
134 framework::detail::extract_char(STRING, 68), \
135 framework::detail::extract_char(STRING, 69), \
136 framework::detail::extract_char(STRING, 70), \
137 framework::detail::extract_char(STRING, 71), \
138 framework::detail::extract_char(STRING, 72), \
139 framework::detail::extract_char(STRING, 73), \
140 framework::detail::extract_char(STRING, 74), \
141 framework::detail::extract_char(STRING, 75), \
142 framework::detail::extract_char(STRING, 76), \
143 framework::detail::extract_char(STRING, 77), \
144 framework::detail::extract_char(STRING, 78), \
145 framework::detail::extract_char(STRING, 79), \
146 framework::detail::extract_char(STRING, 80), \
147 framework::detail::extract_char(STRING, 81), \
148 framework::detail::extract_char(STRING, 82), \
149 framework::detail::extract_char(STRING, 83), \
150 framework::detail::extract_char(STRING, 84), \
151 framework::detail::extract_char(STRING, 85), \
152 framework::detail::extract_char(STRING, 86), \
153 framework::detail::extract_char(STRING, 87), \
154 framework::detail::extract_char(STRING, 88), \
155 framework::detail::extract_char(STRING, 89), \
156 framework::detail::extract_char(STRING, 90), \
157 framework::detail::extract_char(STRING, 91), \
158 framework::detail::extract_char(STRING, 92), \
159 framework::detail::extract_char(STRING, 93), \
160 framework::detail::extract_char(STRING, 94), \
161 framework::detail::extract_char(STRING, 95), \
162 framework::detail::extract_char(STRING, 96), \
163 framework::detail::extract_char(STRING, 97), \
164 framework::detail::extract_char(STRING, 98), \
165 framework::detail::extract_char(STRING, 99)