From 210f77d2c32f14d2e99577fd3c9842bb19d47e50 Mon Sep 17 00:00:00 2001 From: Tuowen Zhao Date: Mon, 19 Sep 2016 21:14:58 +0000 Subject: Moved most modules into lib --- omegalib/omega/include/basic/Collection.h | 43 ------------------------------- 1 file changed, 43 deletions(-) delete mode 100644 omegalib/omega/include/basic/Collection.h (limited to 'omegalib/omega/include/basic/Collection.h') diff --git a/omegalib/omega/include/basic/Collection.h b/omegalib/omega/include/basic/Collection.h deleted file mode 100644 index 80ddf48..0000000 --- a/omegalib/omega/include/basic/Collection.h +++ /dev/null @@ -1,43 +0,0 @@ -#if !defined Already_Included_Collection -#define Already_Included_Collection - -namespace omega { - -template class Iterator; -template class Any_Iterator; - - -//! protocol for any kind of collection -template class Collection { -public: - virtual Iterator *new_iterator() = 0; - virtual Any_Iterator any_iterator() { return Any_Iterator(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 Sequence : public Collection { -public: - virtual const T &operator[](int) const = 0; - virtual T &operator[](int) = 0; - - /*! Y in X --> X[X.index(Y)] == Y */ - virtual int index(const T &) const = 0; }; - -} // namespace - -#define instantiate_Collection(T) template class Collection; \ - instantiate_Any_Iterator(T) -#define instantiate_Sequence(T) template class Sequence; \ - instantiate_Collection(T) - -#endif - -- cgit v1.2.3-70-g09d2