Collection.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00023 #ifndef _INTERFACE_BEE_UTIL_COLLECTION_H
00024 #define _INTERFACE_BEE_UTIL_COLLECTION_H
00025
00026 #ifdef __cplusplus
00027
00028 #include "beecrypt/c++/util/Iterable.h"
00029 using beecrypt::util::Iterable;
00030
00031 namespace beecrypt {
00032 namespace util {
00051 template<class E> class Collection : public virtual Iterable<E>
00052 {
00053 public:
00054 virtual ~Collection() {}
00055
00056 virtual bool add(E* e) = 0;
00057 virtual bool addAll(const Collection<E>& c) = 0;
00058 virtual void clear() = 0;
00059 virtual bool contains(const E* e) const = 0;
00060 virtual bool containsAll(const Collection<E>& c) const = 0;
00061 virtual bool equals(const Object* obj) const throw () = 0;
00062 virtual jint hashCode() const throw () = 0;
00063 virtual bool isEmpty() const throw () = 0;
00064 virtual Iterator<E>* iterator() = 0;
00065 virtual Iterator<E>* iterator() const = 0;
00066 virtual bool remove(const E* e) = 0;
00067 virtual bool removeAll(const Collection<E>& c) = 0;
00068 virtual bool retainAll(const Collection<E>& c) = 0;
00069 virtual jint size() const throw () = 0;
00070 virtual array<E*> toArray() const = 0;
00071 };
00072 }
00073 }
00074
00075 #endif
00076
00077 #endif