22 #ifndef ELM_DATASTRUCT_ABSTRACTCOLLECTION_H
23 #define ELM_DATASTRUCT_ABSTRACTCOLLECTION_H
25 #include <elm/datastruct/Iterator.h>
27 namespace elm {
namespace datastruct {
34 virtual int count(
void) = 0;
35 virtual bool contains(
const T& item)
const = 0;
36 virtual bool isEmpty(
void)
const = 0;
37 inline operator bool(
void)
const {
return !
isEmpty(); }
45 virtual void clear(
void) = 0;
46 virtual void add(
const T& item) = 0;
48 virtual void remove(
const T& item) = 0;
55 #endif // ELM_DATASTRUCT_ABSTRACTCOLLECTION_H
Definition: AbstractCollection.h:31
virtual ~AbstractCollection(void)
Definition: AbstractCollection.h:33
virtual void addAll(const AbstractCollection< T > &items)=0
virtual void removeAll(const AbstractCollection< T > &items)=0
virtual void add(const T &item)=0
virtual int count(void)=0
Definition: AbstractCollection.h:43
virtual IteratorInst< const T & > * iterator(void) const =0
virtual bool contains(const T &item) const =0
virtual bool isEmpty(void) const =0
virtual void clear(void)=0
Definition: Iterator.h:42