home *** CD-ROM | disk | FTP | other *** search
- /********************************************************************/
- /* Public Domain (P) 1992 Benjamin Cooley. */
- /* tarrays.h - Array objects */
- /********************************************************************/
-
- #ifndef _TARRAYS_H
- #define _TARRAYS_H
-
- #ifndef __ARRAY_H
- #include <array.h>
- #endif
-
- #ifndef __SORTARRY_H
- #include <sortarry.h>
- #endif
-
- /*******************************/
- /* TkArray - Array base object */
- /*******************************/
-
- _CLASSDEF(TkArray)
- class _CLASSTYPE TkArray : public Array
- {
-
- public:
- TkArray(int anUpper, int aLower = 0, sizeType aDelta = 0) :
- Array(anUpper, aLower, aDelta) {}
-
- virtual int itemsInArray() { return itemsInContainer; }
-
- virtual int search(Pvoid key);
- virtual int indexOf(Object &object);
-
- protected:
- virtual Pvoid keyOf(Object &object) { return &object; }
- virtual int keyEqual(Pvoid key1, Pvoid key2);
-
- };
-
- /************************************/
- /* TkUnsortedArray - Unsorted array */
- /************************************/
-
- _CLASSDEF(TkUnsortedArray)
- class _CLASSTYPE TkUnsortedArray : public TkArray
- {
-
- public:
- TkUnsortedArray(int anUpper, int aLower = 0, sizeType aDelta = 0) :
- TkArray(anUpper, aLower, aDelta) {}
-
- void insertAt(Object &object, int index);
-
- };
-
- /********************************/
- /* TkSortedArray - Sorted array */
- /********************************/
-
- _CLASSDEF(TkSortedArray)
- class _CLASSTYPE TkSortedArray : public TkArray
- {
-
- public:
- TkSortedArray(int anUpper, int aLower = 0, sizeType aDelta = 0) :
- TkArray(anUpper, aLower, aDelta) {}
-
- virtual int search(Pvoid key);
- virtual void add(Object &toAdd);
- virtual void detach(Object &toDetach, DeleteType dt);
- virtual void detach(int todetach, DeleteType dt = NoDelete)
- { TkArray::detach(todetach, dt); }
-
- protected:
- virtual int keyLessThan(Pvoid key1, Pvoid key2);
-
- };
-
- #endif
-
-