mFrame
載入中...
搜尋中...
無符合項目
ufm::lang::Readable 結構 參考文件abstract

[Interface] 定義資料讀取介面 更多...

#include <Readable.h>

類別ufm::lang::Readable的繼承圖:
ufm::lang::Iterable< const char > ufm::io::ByteBuffer ufm::io::RingBuffer ufm::io::SimpleReader ufm::io::ByteBufferInvert

公開方法(Public Methods)

virtual int avariable (void) const override
 取得可讀取的資料數量
 
virtual int pollByte (char &result) override
 讀取一個字節並將其從緩衝區移除
 
virtual int poll (ufm::lang::Appendable &appendable) override
 從緩衝區讀取資料並寫入到Appendable物件中
 
virtual int poll (void *pointer, int length) override
 從緩衝區讀取指定長度的資料到指定的記憶體位置
 
bool isEmpty (void) const
 檢查緩衝區是否為空
 
int poll (ufm::lang::Appendable &&appendable)
 從緩衝區讀取資料到臨時Appendable物件中
 
int skip (int length)
 跳過緩衝區中指定數量的資料
 
- 公開方法(Public Methods) 繼承自 ufm::lang::Iterable< const char >
virtual void forEach (ufm::func::Consumer< const char & > &action) override
 遍歷集合中所有元素,對每個元素執行指定操作。 若所有元素處理完畢或操作中發生異常則停止。
 
virtual const char * elementAt (int index) const override
 獲取集合中指定索引處的元素。
 
virtual int nextIndex (int index) const override
 返回當前索引的下一個有效索引。
 
virtual ufm::util::Iterator< const char > begin (void) override
 返回一個迭代器,用於遍歷集合中的元素
 
virtual ufm::util::Iterator< const char > end (void) override
 返回一個迭代器,用於遍歷集合的結尾
 

詳細描述

[Interface] 定義資料讀取介面

此介面定義了資料來源的讀取操作,包含:

  • 單字節讀取
  • 批量讀取
  • 跳過資料
  • 讀取狀態控制

適用於串流式資料的處理。

1.0.0

函式成員說明文件

◆ avariable()

virtual int ufm::lang::Readable::avariable ( void ) const
pure virtual

取得可讀取的資料數量

傳回值
int 返回緩衝區中可用的位元組數量

實作於 ufm::io::ByteBuffer, ufm::io::RingBuffer, 及 ufm::io::SimpleReader.

◆ isEmpty()

bool ufm::lang::Readable::isEmpty ( void ) const
inline

檢查緩衝區是否為空

傳回值
true 表示緩衝區沒有可讀取的資料
false 表示緩衝區中還有資料可讀取

◆ poll() [1/3]

int ufm::lang::Readable::poll ( ufm::lang::Appendable && appendable)
inline

從緩衝區讀取資料到臨時Appendable物件中

參數
appendable[in] 接收資料的臨時物件
傳回值
int 返回實際讀取的位元組數量

◆ poll() [2/3]

virtual int ufm::lang::Readable::poll ( ufm::lang::Appendable & appendable)
pure virtual

從緩衝區讀取資料並寫入到Appendable物件中

參數
appendable[in] 接收資料的目標物件
傳回值
int 返回實際讀取並移除的位元組數量

實作於 ufm::io::ByteBuffer, ufm::io::RingBuffer, 及 ufm::io::SimpleReader.

◆ poll() [3/3]

virtual int ufm::lang::Readable::poll ( void * pointer,
int length )
pure virtual

從緩衝區讀取指定長度的資料到指定的記憶體位置

參數
pointer[out] 接收資料的記憶體位置, nullptr表示不接收資料僅跳過
length[in] 要讀取的位元組數量
傳回值
int 返回實際讀取的位元組數量

實作於 ufm::io::ByteBuffer, ufm::io::RingBuffer, 及 ufm::io::SimpleReader.

◆ pollByte()

virtual int ufm::lang::Readable::pollByte ( char & result)
pure virtual

讀取一個字節並將其從緩衝區移除

參數
result[out] 儲存讀取到的字節
傳回值
int 返回緩衝區中剩餘的可讀取位元組數量
-1 如果讀取失敗或緩衝區為空

實作於 ufm::io::ByteBuffer, ufm::io::RingBuffer, 及 ufm::io::SimpleReader.

◆ skip()

int ufm::lang::Readable::skip ( int length)
inline

跳過緩衝區中指定數量的資料

參數
length[in] 要跳過的位元組數量
傳回值
int 返回實際跳過的位元組數量

此結構(structure) 文件是由下列檔案中產生: