template<typename E>
std::set<E*> elements;
public:
bool add(E* v) override {
auto result = elements.insert(v);
return result.second;
}
bool remove(E* v) override {
return elements.erase(v) > 0;
}
bool replace(E* oldValue, E* newValue) override {
if (contains(oldValue)) {
elements.erase(oldValue);
elements.insert(newValue);
return true;
}
return false;
}
bool contains(E* v) const override {
return elements.find(v) != elements.
end();
}
bool isEmpty(void) const override {
return elements.empty();
}
int size(void) const override {
return static_cast<int>(elements.size());
}
void clear(void) override {
elements.clear();
}
};
virtual ufm::util::Iterator< E > end(void) override
返回一個迭代器,用於遍歷集合的結尾
集合介面,定義不允許重複元素的容器。
Definition Set.h:88