🛰️航天仿真算法库 SpaceAST 0.0.1
载入中...
搜索中...
未找到
文本解析和格式化

详细描述

提供字符串解析和格式化的功能,包括将字符串转换为布尔值、整数、双精度浮点数等,以及解析格式化文件内容。

class  ast::BaseParser
 
class  ast::BKVBlock
 
class  ast::BKVItem
 
class  ast::BKVItemView
 
class  ast::BKVNode
 
class  ast::BKVParser
 
class  ast::BKVSax
 
class  ast::BKVSaxDOM
 
class  ast::BKVSaxPrint
 
class  ast::BKVTree
 
class  ast::GenericValue
 
class  ast::PCKParser
 
struct  ast::SPK_Descriptor
 
class  ast::SPKParser
 
class  ast::ValueView
 

枚举

enum  { kDefaultFormatDoubleEps = -1 }
 

函数

char * ast::fgetlinetrim (char *buffer, int size, FILE *file)
 
bool ast::aIsHashCommentLine (StringView line)
 
errc_t ast::aParseBool (StringView str, bool &value)
 
errc_t ast::aParseInt (StringView str, int &value)
 
errc_t ast::_aParseInt_LibC_1 (StringView str, int &value)
 
errc_t ast::_aParseInt_LibC_2 (StringView sv, int &value)
 
errc_t ast::_aParseInt_LibC_3 (StringView sv, int &value)
 
errc_t ast::_aParseInt_Simple (StringView str, int &value)
 
errc_t ast::_aParseInt_StringStream (StringView str, int &value)
 
errc_t ast::_aParseInt_Scanf (StringView str, int &value)
 
errc_t ast::aParseDouble (StringView str, double &value)
 
errc_t ast::aParseFortranDouble (StringView str, double &value)
 
errc_t ast::_aParseFortranDouble_1 (StringView sv, double &value)
 
errc_t ast::_aParseFortranDouble_2 (StringView sv, double &value)
 
errc_t ast::_aParseDouble_LibC_1 (StringView str, double &value)
 
errc_t ast::_aParseDouble_LibC_2 (StringView sv, double &value)
 
errc_t ast::_aParseDouble_LibC_3 (StringView sv, double &value)
 
errc_t ast::_aParseDouble_StringStream (StringView str, double &value)
 
errc_t ast::_aParseDouble_Scanf (StringView str, double &value)
 
errc_t ast::aParseColor (StringView str, Color &value)
 
void ast::aFormatBool (bool value, std::string &str)
 
errc_t ast::aFormatInt (int value, std::string &str)
 
errc_t ast::aFormatDouble (double value, std::string &str, int precision=kDefaultFormatDoubleEps)
 
errc_t ast::aFormatColor (Color value, std::string &str)
 
A_ALWAYS_INLINE std::string ast::aFormatBool (bool value)
 
A_ALWAYS_INLINE std::string ast::aFormatInt (int value)
 
A_ALWAYS_INLINE std::string ast::aFormatDouble (double value, int precision=kDefaultFormatDoubleEps)
 
A_ALWAYS_INLINE std::string ast::aFormatColor (Color value)
 
A_ALWAYS_INLINE bool ast::aParseBool (StringView str)
 
A_ALWAYS_INLINE int ast::aParseInt (StringView str)
 
A_ALWAYS_INLINE double ast::aParseDouble (StringView str)
 
A_ALWAYS_INLINE double ast::aParseFortranDouble (StringView str)
 
A_ALWAYS_INLINE Color ast::aParseColor (StringView str)
 
A_ALWAYS_INLINE errc_t ast::aFormatScalar (double value, std::string &str)
 
A_ALWAYS_INLINE errc_t ast::aFormatScalar (int value, std::string &str)
 
A_ALWAYS_INLINE void ast::aFormatScalar (bool value, std::string &str)
 
A_ALWAYS_INLINE std::string ast::aFormatScalar (double value)
 
A_ALWAYS_INLINE std::string ast::aFormatScalar (int value)
 
A_ALWAYS_INLINE std::string ast::aFormatScalar (bool value)
 

函数说明

◆ _aParseDouble_LibC_1()

AST_UTIL_CAPI errc_t ast::_aParseDouble_LibC_1 ( StringView str,
double & value )

内部函数,将字符串转换为双精度浮点数(基于C标准库函数)

参数
str输入字符串
value输出双精度浮点数
返回
0 成功,其他值 失败

◆ _aParseDouble_Scanf()

AST_UTIL_CAPI errc_t ast::_aParseDouble_Scanf ( StringView str,
double & value )

内部函数,将字符串转换为双精度浮点数(基于 scanf 函数)

参数
str输入字符串
value输出双精度浮点数
返回
0 成功,其他值 失败

◆ _aParseDouble_StringStream()

AST_UTIL_CAPI errc_t ast::_aParseDouble_StringStream ( StringView str,
double & value )

内部函数,将字符串转换为双精度浮点数(基于 stringstream 流解析)

参数
str输入字符串
value输出双精度浮点数
返回
0 成功,其他值 失败

◆ _aParseInt_LibC_1()

AST_UTIL_CAPI errc_t ast::_aParseInt_LibC_1 ( StringView str,
int & value )

内部函数,将字符串转换为整数(基于C标准库函数)

参数
str输入字符串
value输出整数
返回
0 成功,其他值 失败

◆ _aParseInt_LibC_3()

AST_UTIL_CAPI errc_t ast::_aParseInt_LibC_3 ( StringView sv,
int & value )
Bug
如果输入的字符串很长很长,可能会导致栈溢出

◆ _aParseInt_Scanf()

AST_UTIL_CAPI errc_t ast::_aParseInt_Scanf ( StringView str,
int & value )

内部函数,将字符串转换为整数(基于 scanf 函数)

参数
str输入字符串
value输出整数
返回
0 成功,其他值 失败

◆ _aParseInt_Simple()

AST_UTIL_CAPI errc_t ast::_aParseInt_Simple ( StringView str,
int & value )

内部函数,将字符串转换为整数(简单实现)

参数
str输入字符串
value输出整数
返回
0 成功,其他值 失败

◆ _aParseInt_StringStream()

AST_UTIL_CAPI errc_t ast::_aParseInt_StringStream ( StringView str,
int & value )

内部函数,将字符串转换为整数(基于 stringstream 流解析)

参数
str输入字符串
value输出整数
返回
0 成功,其他值 失败

◆ aFormatBool() [1/2]

A_ALWAYS_INLINE std::string ast::aFormatBool ( bool value)

将布尔值格式化为字符串

参数
value输入布尔值
返回
格式化后的字符串

◆ aFormatBool() [2/2]

AST_UTIL_CAPI void ast::aFormatBool ( bool value,
std::string & str )

将布尔值格式化为字符串

参数
value输入布尔值
str输出字符串

◆ aFormatColor() [1/2]

A_ALWAYS_INLINE std::string ast::aFormatColor ( Color value)

将颜色值格式化为字符串

参数
value输入颜色值
返回
格式化后的字符串

◆ aFormatColor() [2/2]

AST_UTIL_CAPI errc_t ast::aFormatColor ( Color value,
std::string & str )

将颜色值格式化为字符串

参数
value输入颜色值
str输出字符串
返回
0 成功,其他值 失败

◆ aFormatDouble() [1/2]

A_ALWAYS_INLINE std::string ast::aFormatDouble ( double value,
int precision = kDefaultFormatDoubleEps )

将双精度浮点数格式化为字符串

参数
value输入双精度浮点数
precision格式化精度,默认值为15
返回
格式化后的字符串

◆ aFormatDouble() [2/2]

AST_UTIL_CAPI errc_t ast::aFormatDouble ( double value,
std::string & str,
int precision = kDefaultFormatDoubleEps )

将双精度浮点数格式化为字符串

参数
value输入双精度浮点数
str输出字符串
precision格式化精度,默认自适应
返回
0 成功,其他值 失败

◆ aFormatInt() [1/2]

A_ALWAYS_INLINE std::string ast::aFormatInt ( int value)

将整数格式化为字符串

参数
value输入整数
返回
格式化后的字符串

◆ aFormatInt() [2/2]

AST_UTIL_CAPI errc_t ast::aFormatInt ( int value,
std::string & str )

将整数格式化为字符串

参数
value输入整数
str输出字符串
返回
0 成功,其他值 失败

◆ aIsHashCommentLine()

AST_UTIL_CAPI bool ast::aIsHashCommentLine ( StringView line)

判断是否为#注释行

检查给定的文本行是否以井号 '#' 开头,且行首没有空白字符。

参数
line文本行视图,指定要检查的文本行。
返回
如果是注释行则返回 true,否则返回 false。

◆ aParseBool() [1/2]

A_ALWAYS_INLINE bool ast::aParseBool ( StringView str)

将字符串转换为布尔值

参数
str输入字符串
返回
转换后的布尔值

◆ aParseBool() [2/2]

AST_UTIL_CAPI errc_t ast::aParseBool ( StringView str,
bool & value )

将字符串转换为布尔值

参数
str输入字符串
value输出布尔值
返回
0 成功,其他值 失败

◆ aParseColor() [1/2]

A_ALWAYS_INLINE Color ast::aParseColor ( StringView str)

将字符串转换为颜色值

参数
str输入字符串
返回
转换后的颜色值

◆ aParseColor() [2/2]

AST_UTIL_CAPI errc_t ast::aParseColor ( StringView str,
Color & value )

将字符串转换为颜色值

参数
str输入字符串
value输出颜色值
返回
0 成功,其他值 失败

◆ aParseDouble() [1/2]

A_ALWAYS_INLINE double ast::aParseDouble ( StringView str)

将字符串转换为双精度浮点数

参数
str输入字符串
返回
转换后的双精度浮点数

◆ aParseDouble() [2/2]

AST_UTIL_CAPI errc_t ast::aParseDouble ( StringView str,
double & value )

将字符串转换为双精度浮点数

参数
str输入字符串
value输出双精度浮点数
返回
0 成功,其他值 失败

◆ aParseFortranDouble() [1/2]

A_ALWAYS_INLINE double ast::aParseFortranDouble ( StringView str)

按 Fortran 格式将字符串转换为双精度浮点数

参数
str输入字符串
返回
转换后的双精度浮点数

◆ aParseFortranDouble() [2/2]

AST_UTIL_CAPI errc_t ast::aParseFortranDouble ( StringView str,
double & value )

解析Fortran格式的双精度浮点数,例如"1.23D-4"、"1.23d-4"等

参数
str输入字符串
value输出双精度浮点数
返回
0 成功,其他值 失败

◆ aParseInt() [1/2]

A_ALWAYS_INLINE int ast::aParseInt ( StringView str)

将字符串转换为整数

参数
str输入字符串
返回
转换后的整数

◆ aParseInt() [2/2]

AST_UTIL_CAPI errc_t ast::aParseInt ( StringView str,
int & value )

将字符串转换为整数

参数
str输入字符串
value输出整数
返回
0 成功,其他值 失败

◆ fgetlinetrim()

AST_UTIL_CAPI char * ast::fgetlinetrim ( char * buffer,
int size,
FILE * file )

从文件中读取一行文本,跳过行首的空白字符,移除行尾的换行符。

参数
buffer用于存储读取文本的缓冲区。
size缓冲区的大小。
file文件指针,指向要读取的文件。
返回
如果成功读取到一行文本,返回指向缓冲区的指针;否则返回 nullptr。