![]() |
mFrame
|
指標陣列佇列類別 更多...
#include <ArrayQueue.h>
公開方法(Public Methods) | |
ArrayQueue (ufm::util::PArray pArray) noexcept | |
從記憶體區域建構新的指標陣列佇列 | |
ArrayQueue (int queueSize, int elementSize) | |
從指定的記憶體和元素大小建構新的指標陣列佇列 | |
ArrayQueue (ufm::lang::Memory memory, int elementSize) noexcept | |
從記憶體區域建構新的指標陣列佇列 | |
ArrayQueue (ufm::util::ArrayQueue &other)=delete | |
複製構造函數 | |
ArrayQueue (ArrayQueue &&other) noexcept=default | |
移動構造函數 | |
virtual | ~ArrayQueue (void) override |
解構指標陣列佇列物件 | |
template<typename E > | |
operator const Queue< E > & (void) const | |
類型轉換運算子,將 ArrayQueue 轉換為 ArrayQueue<E>& | |
template<typename E > | |
operator Queue< E > & (void) | |
類型轉換運算子,將 ArrayQueue 轉換為 ArrayQueue<E>& | |
virtual bool | offer (void *const &e) override |
如果在不違反容量限制的情況下立即執行,則將指定的元素插入到此隊列中。 當使用容量限制隊列時,此方法通常優於 add(E) ,這可能無法僅通過拋出異常來插入元素。 | |
virtual void *& | poll (void) override |
檢索並刪除此隊列的頭,如果此隊列為空,則返回null。 | |
virtual void *& | peek (void) override |
檢索但不刪除此隊列的頭部,如果此隊列為空,則返回 null 。 | |
virtual void | clear (void) override |
從此集合中刪除所有元素(可選操作)。此方法返回後,集合將為空。 | |
virtual bool | isEmpty (void) const override |
如果此集合不包含元素,則返回true。 | |
virtual int | size (void) const override |
返回此集合中的元素數。 | |
virtual void | forEach (ufm::func::Consumer< void *& > &accetp) override |
遍歷集合中所有元素,對每個元素執行指定操作。 若所有元素處理完畢或操作中發生異常則停止。 | |
virtual void ** | elementAt (int index) const override |
獲取集合中指定索引處的元素。 | |
virtual int | nextIndex (int index) const override |
返回當前索引的下一個有效索引。 | |
virtual ufm::util::Iterator< void * > | begin (void) override |
取得目前插入位置。 | |
virtual ufm::util::Iterator< void * > | end (void) override |
取得 Scanner 結尾迭代器。 | |
virtual bool | isFull (void) const override |
檢查佇列是否已滿 | |
![]() | |
void * | operator new (size_t n) |
使用運算子 new 分配記憶體 | |
void * | operator new (size_t n, void *p) |
在指定記憶體上調用運算子 new | |
virtual ufm::lang::Object & | getObject (void) override |
取得對應的 Object 物件 | |
void | delay (int milliseconds) const |
延遲指定的毫秒數進行執行緒等待 | |
bool | equals (Object *object) const |
判斷與另一物件是否為相同參照(指標型態比較) | |
bool | equals (Object &object) const |
判斷與另一物件是否為相同參照(參照型態比較) | |
void | wait (void) const |
使當前線程等待直到被通知 | |
bool | wait (int timeout) const |
等待通知或超時 | |
bool | yield (void) const |
讓執行緒讓渡控制權給同優先權的下一個執行緒 | |
int | lock (void) const |
核心鎖定,鎖定期間禁止線程切換 | |
int | unlock (void) const |
核心解鎖 | |
ufm::sys::Thread * | currentThread (void) const |
取得當前執行緒指標 | |
virtual int | hashcode (void) const |
返回對象的哈希碼值。支持這種方法是為了散列表,如HashMap提供的那樣。 | |
![]() | |
virtual | ~Interface (void)=default |
虛擬析構函式 | |
額外的繼承成員 | |
![]() | |
static Queue< void * > * | type (void) |
獲取 Queue 類型 | |
指標陣列佇列類別
ArrayQueue 類別實現了一個指標型別的 FIFO (先進先出) 佇列結構。 為 ArrayQueue<void*> 的具體實現,能有效管理指標型別的循環佇列。 實現了標準的佇列操作功能,如添加、移除和查詢等操作。
|
noexcept |
從記憶體區域建構新的指標陣列佇列
memory | 用於存儲佇列元素的記憶體區域 |
elementSize | 佇列長度,可存儲的元素數量 |
|
inline |
從指定的記憶體和元素大小建構新的指標陣列佇列
memory | 用於存儲佇列元素的記憶體區域 |
elementSize | 每個元素的大小(位元組) |
|
inlinenoexcept |
從記憶體區域建構新的指標陣列佇列
memory | 用於存儲佇列元素的記憶體區域 |
elementSize | 每個元素的大小(位元組) |
|
delete |
|
defaultnoexcept |
|
overridevirtual |
解構指標陣列佇列物件
釋放佇列使用的資源和記憶體
|
overridevirtual |
|
overridevirtual |
從此集合中刪除所有元素(可選操作)。此方法返回後,集合將為空。
|
overridevirtual |
|
overridevirtual |
|
overridevirtual |
遍歷集合中所有元素,對每個元素執行指定操作。 若所有元素處理完畢或操作中發生異常則停止。
當操作導致底層資料源發生變動時(未同步處理),其行為未定義。
action | 對每個元素執行的操作 |
|
overridevirtual |
|
overridevirtual |
|
overridevirtual |
返回當前索引的下一個有效索引。
index | 當前索引 |
如果當前索引已經是最後一個元素,則返回 -1。 如果當前索引無效(如 -1),則返回 0
|
overridevirtual |
如果在不違反容量限制的情況下立即執行,則將指定的元素插入到此隊列中。 當使用容量限制隊列時,此方法通常優於 add(E) ,這可能無法僅通過拋出異常來插入元素。
e | - 要添加的元素 |
|
inline |
|
inline |
|
overridevirtual |
|
overridevirtual |
|
overridevirtual |
返回此集合中的元素數。
如果此收藏包含超過 Integer.MAX_VALUE個元素,則返回Integer.MAX_VALUE。