mFrame
載入中...
搜尋中...
無符合項目
ufm::lang::Iterable< E > 結構 樣版 參考文件abstract

[Interface] 定義可迭代集合介面 更多...

#include <Iterable.h>

類別ufm::lang::Iterable< E >的繼承圖:
ufm::util::Collection< void *const > ufm::util::Collection< E > ufm::util::Pool ufm::util::Queue< E >

公開方法(Public Methods)

virtual void forEach (ufm::func::Consumer< E & > &action) override
 遍歷集合中所有元素,對每個元素執行指定操作。 若所有元素處理完畢或操作中發生異常則停止。
 
virtual E * elementAt (int index) const override
 獲取集合中指定索引處的元素。
 
virtual int nextIndex (int index) const override
 返回當前索引的下一個有效索引。
 
virtual ufm::util::Iterator< E > begin (void) override
 返回一個迭代器,用於遍歷集合中的元素
 
virtual ufm::util::Iterator< E > end (void) override
 返回一個迭代器,用於遍歷集合的結尾
 

詳細描述

template<typename E = void*>
struct ufm::lang::Iterable< E >

[Interface] 定義可迭代集合介面

供需要遍歷處理的集合類型實作,提供:

  • 對每個元素進行操作
  • 當操作導致集合改變時可能產生未定義行為
樣版參數
E元素型態
1.0.0

函式成員說明文件

◆ begin()

template<typename E = void*>
virtual ufm::util::Iterator< E > ufm::lang::Iterable< E >::begin ( void )
pure virtual

返回一個迭代器,用於遍歷集合中的元素

傳回值
PArraySet::Iterator 返回一個指向集合元素的迭代器

實作於 ufm::io::ByteBuffer, ufm::io::RingBuffer, ufm::io::SimpleReader, ufm::sys::Stacker, ufm::util::ArrayQueue, ufm::util::LineReader, 及 ufm::util::PArraySet.

◆ elementAt()

template<typename E = void*>
virtual E * ufm::lang::Iterable< E >::elementAt ( int index) const
pure virtual

獲取集合中指定索引處的元素。

參數
index要獲取的元素索引
傳回值
E* 指向集合中指定索引處元素的指針

實作於 ufm::io::ByteBuffer, ufm::io::RingBuffer, ufm::io::SimpleReader, ufm::sys::Stacker, ufm::util::ArrayQueue, ufm::util::LineReader, 及 ufm::util::PArraySet.

◆ end()

template<typename E = void*>
virtual ufm::util::Iterator< E > ufm::lang::Iterable< E >::end ( void )
pure virtual

返回一個迭代器,用於遍歷集合的結尾

傳回值
PArraySet::Iterator 返回一個指向集合結尾的迭代器

實作於 ufm::io::ByteBuffer, ufm::io::RingBuffer, ufm::io::SimpleReader, ufm::sys::Stacker, ufm::util::ArrayQueue, ufm::util::LineReader, 及 ufm::util::PArraySet.

◆ forEach()

template<typename E = void*>
virtual void ufm::lang::Iterable< E >::forEach ( ufm::func::Consumer< E & > & action)
pure virtual

遍歷集合中所有元素,對每個元素執行指定操作。 若所有元素處理完畢或操作中發生異常則停止。

當操作導致底層資料源發生變動時(未同步處理),其行為未定義。

參數
action對每個元素執行的操作

實作於 ufm::io::ByteBuffer, ufm::io::RingBuffer, ufm::io::SimpleReader, ufm::sys::Stacker, ufm::util::ArrayQueue, ufm::util::LineReader, 及 ufm::util::PArraySet.

◆ nextIndex()

template<typename E = void*>
virtual int ufm::lang::Iterable< E >::nextIndex ( int index) const
pure virtual

返回當前索引的下一個有效索引。

參數
index當前索引
傳回值
int 下一個有效索引

如果當前索引已經是最後一個元素,則返回 -1。 如果當前索引無效(如 -1),則返回 0

實作於 ufm::io::ByteBuffer, ufm::io::RingBuffer, ufm::io::SimpleReader, ufm::sys::Stacker, ufm::util::ArrayQueue, ufm::util::LineReader, 及 ufm::util::PArraySet.


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