|
virtual bool | offer (E const &element) override |
| 如果在不違反容量限制的情況下立即執行,則將指定的元素插入到此隊列中。 當使用容量限制隊列時,此方法通常優於 add(E) ,這可能無法僅通過拋出異常來插入元素。
|
|
virtual E & | poll (void) override |
| 檢索並刪除此隊列的頭,如果此隊列為空,則返回null。
|
|
virtual E & | peek (void) override |
| 檢索但不刪除此隊列的頭部,如果此隊列為空,則返回 null 。
|
|
virtual bool | isFull (void) const override |
| 檢查隊列是否已滿
|
|
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 |
| 返回一個迭代器,用於遍歷集合的結尾
|
|
virtual void | clear (void) override |
| 從此集合中刪除所有元素(可選操作)
|
|
virtual bool | isEmpty (void) const override |
| 檢查此集合是否不包含任何元素
|
|
virtual int | size (void) const override |
| 返回此集合中的元素數量
|
|
template<typename E = void*>
struct ufm::util::Queue< E >
佇列介面,定義先進先出(FIFO)的容器操作。
- 樣版參數
-
Queue 介面定義了標準佇列資料結構的操作, 元素按照先進先出的順序進行處理。
- 使用範例:
template<typename E>
std::queue<E> queue;
public:
bool offer(E const& element) override {
queue.push(element);
return true;
}
E& poll(void) override {
if (!queue.empty()) {
E& front = queue.front();
queue.pop();
return front;
}
throw std::runtime_error("Queue is empty");
}
E& peek(void) override {
if (!queue.empty()) {
return queue.front();
}
throw std::runtime_error("Queue is empty");
}
bool isFull(void) const override {
return false;
}
bool isEmpty(void) const override {
return queue.empty();
}
int size(void) const override {
return static_cast<int>(queue.size());
}
void clear(void) override {
while (!queue.empty()) {
queue.pop();
}
}
};
佇列介面,定義先進先出(FIFO)的容器操作。
Definition Queue.h:94
- 參閱
- ufm::util::Collection
- 自
- 1.0.0