|
🛰️航天仿真算法库 SpaceAST 0.0.1
|
#include <BaseParser.hpp>
类 ast::BaseParser 继承关系图:Public 成员函数 | |
| 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 属性 | |
| FILE * | file_ {nullptr} |
| bool | fileBorrowed_ {false} |
| std::vector< char > | lineBuffer_ |
解析器基类
| void ast::BaseParser::close | ( | ) |
关闭文件
关闭当前打开的文件。
|
inline |
是否到达文件末尾
判断当前文件指针是否到达文件末尾。
| std::string ast::BaseParser::getFilePath | ( | ) | const |
获取当前文件路径
获取当前打开文件的路径。
| StringView ast::BaseParser::getLine | ( | ) |
获取当前行
获取当前行的内容,不包含行结束符。
| int ast::BaseParser::getLineNumber | ( | ) |
获取当前行号
获取当前解析器所在的行号。
| StringView ast::BaseParser::getLineSkipHashComment | ( | ) |
获取当前非#注释行(跳过#注释行)
获取当前行的内容,不包含行结束符,跳过以井号 '#' 开头的行。
| StringView ast::BaseParser::getLineTrim | ( | ) |
获取当前行(去除首尾空格)
获取当前行的内容,不包含行结束符。
| StringView ast::BaseParser::getLineWithNewline | ( | ) |
获取当前行(包含行结束符)
获取当前行的内容,包含行结束符。
|
inline |
是否打开文件
判断当前是否有文件打开。
| void ast::BaseParser::open | ( | StringView | filepath | ) |
打开文件
打开指定路径的文件,用于后续的解析操作。
| filepath | 文件路径视图,指定要打开的文件路径。 |
| size_t ast::BaseParser::read | ( | void * | buffer, |
| size_t | size, | ||
| size_t | pos ) const |
读取文件内容
从当前文件指针位置读取指定数量的字节到缓冲区。
| buffer | 用于存储读取内容的缓冲区。 |
| size | 要读取的字节数。 |
| pos | 读取的起始位置,从文件开头开始计算。 |
| void ast::BaseParser::seek | ( | std::streamoff | pos, |
| std::ios::seekdir | dir ) |
移动文件指针
移动当前打开文件的指针到指定位置。
| pos | 偏移量,指定要移动的字节数。 |
| dir | 方向,指定移动的方向(如 std::ios::beg, std::ios::cur, std::ios::end)。 |
| void ast::BaseParser::setBorrowedFile | ( | FILE * | file | ) |
设置外部借用的文件指针,不转移文件指针的所有权。
设置当前解析器使用的文件指针为外部借用的文件指针。
| file | 外部借用的文件指针 |
| void ast::BaseParser::setOwnedFile | ( | FILE * | file | ) |
设置文件指针,将文件指针的所有权转移给解析器。
设置当前解析器使用的文件指针,并将文件指针的所有权转移给解析器。
| file | 文件指针 |
| std::streamoff ast::BaseParser::tell | ( | ) |
获取当前文件指针位置
获取当前打开文件的指针位置。