|
🛰️航天仿真算法库 SpaceAST 0.0.1
|
#include <BKVParser.hpp>
类 ast::BKVParser 继承关系图:Public 类型 | |
| enum | EToken { eBlockBegin , eBlockEnd , eKeyValue , eError , eEOF =EOF } |
Public 成员函数 | |
| BKVParser (StringView filepath) | |
| void | setAllowComment (bool allow) |
| bool | allowComment () const |
| EToken | getNext (StringView &key, ValueView &value) |
| EToken | getNext (BKVItemView &item) |
| StringView | getLineSkipComment () |
| errc_t | parseFile (StringView filepath, BKVSax &sax) |
| errc_t | parse (BKVSax &sax) |
Public 成员函数 继承自 ast::BaseParser | |
| BaseParser (StringView filepath) | |
| void | open (StringView filepath) |
| bool | isOpen () const |
| void | close () |
| void | seek (std::streamoff pos, std::ios::seekdir dir) |
| std::streamoff | tell () |
| bool | eof () const |
| size_t | read (void *buffer, size_t size, size_t pos) const |
| StringView | getLineWithNewline () |
| StringView | getLine () |
| StringView | getLineTrim () |
| StringView | getLineSkipHashComment () |
| int | getLineNumber () |
| std::string | getFilePath () const |
| void | setBorrowedFile (FILE *file) |
| void | setOwnedFile (FILE *file) |
| FILE * | getFile () const |
Protected 属性 | |
| bool | allowComment_ |
| std::vector< char > | keyBuffer_ |
| std::vector< char > | valueBuffer_ |
Protected 属性 继承自 ast::BaseParser | |
| FILE * | file_ {nullptr} |
| bool | fileBorrowed_ {false} |
| std::vector< char > | lineBuffer_ |
键值对解析器(BlockKeyValueParser)
本类实现了键值对解析器,用于解析键值对格式的文本。 该类可以用于解析STK的配置文件,例如对象配置文件、数据文件等。 同时也可以用于解析CelesTrak网站上的一些数据文件。
|
inline |
是否允许注释
是否允许解析注释行。
|
inline |
获取当前行(跳过注释行)
获取当前行的内容,不包含行结束符。
| BKVParser::EToken ast::BKVParser::getNext | ( | BKVItemView & | item | ) |
获取下一个键值对项
获取下一个键值对项,将键值对项的键和值存储在指定的视图中。
| item | 键值对项视图,用于存储键值对项的键和值。 |
| BKVParser::EToken ast::BKVParser::getNext | ( | StringView & | key, |
| ValueView & | value ) |
获取下一个键值对项
获取下一个键值对项,将键值对项的键和值存储在指定的视图中。
| key | 键视图,用于存储键值对项的键。 |
| value | 值视图,用于存储键值对项的值。 |
| errc_t ast::BKVParser::parse | ( | BKVSax & | sax | ) |
解析当前打开的文件
解析当前打开的文件,将解析结果传递给指定的 sax 解析器。
| sax | sax 解析器,用于处理解析结果。 |
| errc_t ast::BKVParser::parseFile | ( | StringView | filepath, |
| BKVSax & | sax ) |
解析文件
解析指定路径的文件,将解析结果传递给指定的 sax 解析器。
| filepath | 文件路径视图,指定要解析的文件路径。 |
| sax | sax 解析器,用于处理解析结果。 |
|
inline |
设置是否允许注释
设置是否允许解析注释行。
| allow | 是否允许注释 |