7#ifndef MFRAME_24343078_A5C5_46DB_9823_EC2385331C5D
8#define MFRAME_24343078_A5C5_46DB_9823_EC2385331C5D
15#include "./../lang/Memory.h"
16#include "./../util/PArray.h"
17#include "./../util/Set.h"
208 :
PArraySet(ufm::lang::Memory(length * static_cast<int>(sizeof(void*)))) {
253 template <
typename E>
254 inline operator const Set<E>&(void)
const {
255 const Set<>* src =
this;
256 return *
reinterpret_cast<const Set<E>*
>(src);
265 template <
typename E>
268 return *
reinterpret_cast<Set<E>*
>(src);
295 virtual bool add(
void* v)
override;
335 virtual bool replace(
void* oldValue,
void* newValue)
override;
380 virtual int size(
void)
const override;
動態記憶體管理類別
Definition Memory.h:38
物件基底類別
Definition Object.h:63
迭代器類別,提供遍歷集合元素的標準介面。
Definition Iterator.h:257
基於陣列的集合容器實作
Definition PArraySet.h:155
virtual ~PArraySet(void) override
析構函數
PArraySet(ufm::lang::Memory memory) noexcept
使用指定記憶體建構 PArraySet 物件
virtual void ** elementAt(int index) const override
獲取集合中指定索引處的元素指標
virtual bool replace(void *oldValue, void *newValue) override
替換集合中的指定元素
virtual void clear(void) override
清除集合中的所有元素
PArraySet(int length)
使用指定長度建構 PArraySet 物件
Definition PArraySet.h:207
virtual bool contains(void *v) const override
檢查集合是否包含指定元素
virtual int nextIndex(int index) const override
返回當前索引的下一個有效索引
virtual int size(void) const override
返回集合中的元素數量
virtual bool isEmpty(void) const override
檢查集合是否為空
virtual bool add(void *v) override
將元素添加到集合中
virtual ufm::util::Iterator< void * > end(void) override
返回指向集合結束位置的迭代器
PArraySet(PArraySet &other) noexcept=default
複製建構子
virtual ufm::util::Iterator< void * > begin(void) override
返回指向集合開始位置的迭代器
virtual bool remove(void *v) override
從集合中移除指定元素
int const vLength
陣列長度
Definition PArraySet.h:163
virtual void forEach(ufm::func::Consumer< void *& > &action) override
遍歷集合中的所有元素,對每個元素執行指定操作
PArraySet(PArraySet &&other) noexcept=default
移動建構子
[Interface] 消費者函數式介面模板
Definition Consumer.h:43
集合介面,定義不允許重複元素的容器。
Definition Set.h:88