24#include "AstUtil/StringView.hpp"
25#include "AstUtil/Logger.hpp"
26#include "AstUtil/Color.hpp"
47AST_UTIL_CAPI errc_t
aParseBool(StringView str,
bool& value);
54AST_UTIL_CAPI errc_t
aParseInt(StringView str,
int& value);
62AST_UTIL_CAPI errc_t _aParseInt_LibC_2(StringView str,
int& value);
67AST_UTIL_CAPI errc_t _aParseInt_FromChars(StringView str,
int& value);
96AST_UTIL_CAPI errc_t
aParseDouble(StringView str,
double& value);
104AST_UTIL_CAPI errc_t _aParseFortranDouble_1(StringView str,
double& value);
105AST_UTIL_CAPI errc_t _aParseFortranDouble_2(StringView str,
double& value);
114AST_UTIL_CAPI errc_t _aParseDouble_LibC_2(StringView str,
double& value);
115AST_UTIL_CAPI errc_t _aParseDouble_LibC_3(StringView str,
double& value);
119AST_UTIL_CAPI errc_t _aParseDouble_FromChars(StringView str,
double& value);
122#ifdef AST_WITH_ABSEIL
123AST_UTIL_CAPI errc_t _aParseDouble_FromChars_Abseil(StringView str,
double& value);
146AST_UTIL_CAPI errc_t
aParseColor(StringView str, Color& value);
153AST_UTIL_CAPI
void aFormatBool(
bool value, std::string& str);
161AST_UTIL_CAPI errc_t
aFormatInt(
int value, std::string& str);
164enum {kDefaultFormatDoubleEps = -1};
171AST_UTIL_CAPI errc_t
aFormatDouble(
double value, std::string& str,
int precision = kDefaultFormatDoubleEps);
178AST_UTIL_CAPI errc_t
aFormatColor(Color value, std::string& str);
211 if (A_UNLIKELY(err != eNoError))
213 aWarning(
_(
"格式化整数值失败,错误 = %d"), err);
224std::string
aFormatDouble(
double value,
int precision = kDefaultFormatDoubleEps)
228 if (A_UNLIKELY(err != eNoError))
230 aWarning(
_(
"格式化双精度浮点数值失败,错误 = %d"), err);
243 if (A_UNLIKELY(err != eNoError))
245 aWarning(
_(
"格式化颜色值失败,错误 = %d"), err);
259 if (A_UNLIKELY(err != eNoError))
261 aWarning(
_(
"从 '%.*s' 解析布尔值失败,错误 = %d"), str.size(), str.data(), err);
274 if (A_UNLIKELY(err != eNoError))
276 aWarning(
_(
"从 '%.*s' 解析整数值失败,错误 = %d"), str.size(), str.data(), err);
290 if (A_UNLIKELY(err != eNoError))
292 aWarning(
_(
"从 '%.*s' 解析双精度浮点数值失败,错误 = %d"), str.size(), str.data(), err);
305 if (A_UNLIKELY(err != eNoError))
307 aWarning(
_(
"从 '%.*s' 解析 Fortran 双精度浮点数值失败,错误 = %d"), str.size(), str.data(), err);
321 if (A_UNLIKELY(err != eNoError))
323 aWarning(
_(
"从 '%.*s' 解析颜色值失败,错误 = %d"), str.size(), str.data(), err);
330errc_t aFormatScalar(
double value, std::string& str)
332 return aFormatDouble(value, str);
337errc_t aFormatScalar(
int value, std::string& str)
344void aFormatScalar(
bool value, std::string& str)
351std::string aFormatScalar(
double value)
357std::string aFormatScalar(
int value)
364std::string aFormatScalar(
bool value)
A_ALWAYS_INLINE const char * _(const char *msgid)
翻译文本(无上下文)
定义 I18n.hpp:88