7#ifndef MFRAME_469CD94D_3818_43D8_8CD0_54E853D56BE0
8#define MFRAME_469CD94D_3818_43D8_8CD0_54E853D56BE0
17#include "./../lang/Memory.h"
18#include "./../lang/Object.h"
19#include "./../util/PArray.h"
20#include "./../util/Queue.h"
108 volatile uint16 vHead;
110 volatile uint16 vTail;
112 volatile uint16 vCount;
114 volatile bool vSyncOffer;
116 volatile bool vSyncPoll;
191 template <
typename E>
194 return *
reinterpret_cast<const Queue<E>*
>(src);
203 template <
typename E>
206 return *
reinterpret_cast<Queue<E>*
>(src);
213 virtual bool offer(
void*
const& e)
override;
215 virtual void*&
poll(
void)
override;
217 virtual void*&
peek(
void)
override;
244 virtual int size(
void)
const override;
307 virtual bool isFull(
void)
const override;
動態記憶體管理類別
Definition Memory.h:38
物件基底類別
Definition Object.h:63
指標陣列佇列類別,實作 FIFO (先進先出) 佇列結構。
Definition ArrayQueue.h:98
virtual void ** elementAt(int index) const override
獲取集合中指定索引處的元素。
ArrayQueue(ufm::util::ArrayQueue &other)=delete
複製構造函數
virtual void *& poll(void) override
檢索並刪除此隊列的頭,如果此隊列為空,則返回null。
ArrayQueue(int queueSize, int elementSize)
從指定的記憶體和元素大小建構新的指標陣列佇列
Definition ArrayQueue.h:140
virtual ufm::util::Iterator< void * > end(void) override
取得 Scanner 結尾迭代器。
virtual bool isEmpty(void) const override
如果此集合不包含元素,則返回true。
virtual ufm::util::Iterator< void * > begin(void) override
取得目前插入位置。
virtual void clear(void) override
從此集合中刪除所有元素(可選操作)。此方法返回後,集合將為空。
ArrayQueue(ufm::lang::Memory memory, int elementSize) noexcept
從記憶體區域建構新的指標陣列佇列
Definition ArrayQueue.h:151
ArrayQueue(ufm::util::PArray pArray) noexcept
從記憶體區域建構新的指標陣列佇列
ArrayQueue(ArrayQueue &&other) noexcept=default
移動構造函數
virtual int size(void) const override
返回此集合中的元素數。
virtual bool isFull(void) const override
檢查佇列是否已滿
virtual ~ArrayQueue(void) override
解構指標陣列佇列物件
virtual bool offer(void *const &e) override
如果在不違反容量限制的情況下立即執行,則將指定的元素插入到此隊列中。 當使用容量限制隊列時,此方法通常優於 add(E) ,這可能無法僅通過拋出異常來插入元素。
virtual void *& peek(void) override
檢索但不刪除此隊列的頭部,如果此隊列為空,則返回 null 。
virtual void forEach(ufm::func::Consumer< void *& > &accetp) override
遍歷集合中所有元素,對每個元素執行指定操作。 若所有元素處理完畢或操作中發生異常則停止。
virtual int nextIndex(int index) const override
返回當前索引的下一個有效索引。
迭代器類別,提供遍歷集合元素的標準介面。
Definition Iterator.h:257
指標陣列類別,實作動態大小的指標容器。
Definition PArray.h:329
[Interface] 消費者函數式介面模板
Definition Consumer.h:43
佇列介面,定義先進先出(FIFO)的容器操作。
Definition Queue.h:94