summaryrefslogtreecommitdiff
path: root/omegalib/omega_lib/include/basic/Collection.h
diff options
context:
space:
mode:
Diffstat (limited to 'omegalib/omega_lib/include/basic/Collection.h')
-rw-r--r--omegalib/omega_lib/include/basic/Collection.h47
1 files changed, 0 insertions, 47 deletions
diff --git a/omegalib/omega_lib/include/basic/Collection.h b/omegalib/omega_lib/include/basic/Collection.h
deleted file mode 100644
index c7e4eef..0000000
--- a/omegalib/omega_lib/include/basic/Collection.h
+++ /dev/null
@@ -1,47 +0,0 @@
-#if !defined Already_Included_Collection
-#define Already_Included_Collection
-
-namespace omega {
-
-template<class T> class Iterator;
-template<class T> class Any_Iterator;
-
-
-/*
- * protocol for any kind of collection
- */
-
-template<class T> class Collection {
-public:
- virtual Iterator<T> *new_iterator() = 0;
- virtual Any_Iterator<T> any_iterator() { return Any_Iterator<T>(new_iterator()); }
-
- virtual int size() const = 0;
-};
-
-
-/*
- * protocol for collections whose elements are ordered
- * by the way they are entered into the collection, and
- * whose elements can be accessed by "index"
- *
- * note that the implementation need not be a linked list
- */
-
-template<class T> class Sequence : public Collection<T> {
-public:
- virtual const T &operator[](int) const = 0;
- virtual T &operator[](int) = 0;
-
- virtual int index(const T &) const = 0; // Y in X --> X[X.index(Y)] == Y
-};
-
-} // namespace
-
-#define instantiate_Collection(T) template class Collection<T>; \
- instantiate_Any_Iterator(T)
-#define instantiate_Sequence(T) template class Sequence<T>; \
- instantiate_Collection(T)
-
-#endif
-