23
23
// #include "StelTextureMgr.hpp"
24
24
#include " StelUtils.hpp"
25
25
26
- #include < charconv>
26
+ #if USE_FAST_FLOAT
27
+ # include < fast_float/fast_float.h>
28
+ using fast_float::from_chars;
29
+ using fast_float::from_chars_result;
30
+ #else
31
+ # include < charconv>
32
+ using std::from_chars;
33
+ using std::from_chars_result;
34
+ #endif
27
35
28
36
#include < QBuffer>
29
37
#include < QDir>
@@ -156,7 +164,7 @@ bool StelOBJ::parseBool(const ParseParams ¶ms, bool &out, int paramsStart)
156
164
157
165
bool StelOBJ::parseInt (const std::string_view& str, int & out)
158
166
{
159
- return std:: from_chars (str.data (), str.data () + str.size (), out).ec == std::errc{};
167
+ return from_chars (str.data (), str.data () + str.size (), out).ec == std::errc{};
160
168
}
161
169
162
170
bool StelOBJ::parseInt (const ParseParams ¶ms, int &out, int paramsStart)
@@ -209,7 +217,7 @@ bool StelOBJ::parseFloat(const ParseParams ¶ms, float &out, int paramsStart)
209
217
}
210
218
211
219
const auto & str = params[paramsStart];
212
- const auto res = std:: from_chars (str.data (), str.data () + str.size (), out);
220
+ const auto res = from_chars (str.data (), str.data () + str.size (), out);
213
221
return res.ec == std::errc{};
214
222
}
215
223
@@ -226,14 +234,14 @@ bool StelOBJ::parseVec3(const ParseParams& params, T &out, int paramsStart)
226
234
const auto & yStr = params[paramsStart+1 ];
227
235
const auto & zStr = params[paramsStart+2 ];
228
236
229
- std:: from_chars_result res;
230
- res = std:: from_chars (xStr.data (), xStr.data () + xStr.size (), out[0 ]);
237
+ from_chars_result res;
238
+ res = from_chars (xStr.data (), xStr.data () + xStr.size (), out[0 ]);
231
239
if (res.ec != std::errc{}) goto error;
232
240
233
- res = std:: from_chars (yStr.data (), yStr.data () + yStr.size (), out[1 ]);
241
+ res = from_chars (yStr.data (), yStr.data () + yStr.size (), out[1 ]);
234
242
if (res.ec != std::errc{}) goto error;
235
243
236
- res = std:: from_chars (zStr.data (), zStr.data () + zStr.size (), out[2 ]);
244
+ res = from_chars (zStr.data (), zStr.data () + zStr.size (), out[2 ]);
237
245
if (res.ec != std::errc{}) goto error;
238
246
239
247
return true ;
@@ -255,11 +263,11 @@ bool StelOBJ::parseVec2(const ParseParams& params,T &out, int paramsStart)
255
263
const auto & xStr = params[paramsStart+0 ];
256
264
const auto & yStr = params[paramsStart+1 ];
257
265
258
- std:: from_chars_result res;
259
- res = std:: from_chars (xStr.data (), xStr.data () + xStr.size (), out[0 ]);
266
+ from_chars_result res;
267
+ res = from_chars (xStr.data (), xStr.data () + xStr.size (), out[0 ]);
260
268
if (res.ec != std::errc{}) goto error;
261
269
262
- res = std:: from_chars (yStr.data (), yStr.data () + yStr.size (), out[1 ]);
270
+ res = from_chars (yStr.data (), yStr.data () + yStr.size (), out[1 ]);
263
271
if (res.ec != std::errc{}) goto error;
264
272
265
273
return true ;
0 commit comments