7#ifndef MFRAME_0D9BA3BA_2E87_41FB_A948_02CAC4832E3B
8#define MFRAME_0D9BA3BA_2E87_41FB_A948_02CAC4832E3B
17#include "./../io/ByteBuffer.h"
18#include "./../io/SimpleWriter.h"
19#include "./../lang/Markable.h"
20#include "./../util/LineReader.h"
94 inline Scanner(
int bufferSize = 128) :
Scanner(ufm::lang::Memory(bufferSize)) {
142 virtual int putByte(
const char data)
override;
163 virtual int put(
const void* pointer,
int length)
override;
178 virtual void mark(
void)
override;
253 int target = this->vInsert - 1;
254 return (target == this->
setCursor(target));
268 int target = this->vInsert + 1;
269 return (target == this->
setCursor(target));
存儲資料的類別,提供動態記憶體管理功能。
Definition Memory.h:44
行資料讀取器,提供從緩衝區解析字串、數值、布林等多種型態的資料。
Definition LineReader.h:58
LineReader(ufm::lang::Memory buffer) noexcept
使用現有緩衝區構造 LineReader 物件
高階緩衝區資料解析器,支援多型態資料讀取、標記、插入與迭代。
Definition Scanner.h:60
int setCursor(int insert)
設定下次寫入資料的插入位置。
Scanner(ufm::lang::Memory buffer) noexcept
使用現有緩衝區構造 Scanner 物件。
bool deleteChar(void)
刪除當前游標位置的字元。
virtual void mark(void) override
設定流標記位置。
bool cursorRight(void)
將游標向右移動一個位置。
Definition Scanner.h:252
Scanner(Scanner &&other) noexcept
移動建構子。
Definition Scanner.h:106
int vInsert
下次插入資料的緩衝區索引位置
Definition Scanner.h:65
bool backspace(void)
回退指定字元數。
bool cursorLeft(void)
將游標向左移動一個位置。
Definition Scanner.h:267
Scanner(int bufferSize=128)
使用指定緩衝區大小構造 Scanner 物件。
Definition Scanner.h:94
virtual void reset(void) override
重置流位置至上次標記點。
virtual int put(ufm::lang::Readable &readable) override
從 Readable 物件附加資料至緩衝區
virtual int remaining(void) const override
取得緩衝區剩餘空閒字節數。
virtual int put(const void *pointer, int length) override
從記憶體指標附加資料至緩衝區
virtual ~Scanner(void) override
解構子,釋放資源。
void compact(void)
將未讀取資料移至緩衝區開頭,釋放已消耗空間。
virtual int putByte(const char data) override
輸入單一字節至緩衝區
void clear(void)
清除 Scanner 緩衝區並重置狀態。
int getCursor(void)
取得目前的插入位置。
Definition Scanner.h:238
int vMark
標記位置,用於重置操作
Definition Scanner.h:66
資料附加介面 (Appendable)
Definition Appendable.h:43
[Interface] 定義可標記流介面
Definition Markable.h:40
[Interface] 定義資料讀取介面
Definition Readable.h:46