home *** CD-ROM | disk | FTP | other *** search
- /**********************************************************************
- * *
- * IBM(R) VisualAge(TM) for C++ for Windows(R), Version 3.5 *
- * *
- * PID: 5622-880 *
- * - Licensed Material - Program-Property of IBM *
- * (C) Copyright IBM Corp. 1991, 1995 - All Right Reserved. *
- * *
- * US Government Users Restricted Rights - Use, duplication or *
- * disclosure restricted by GSA ADP Schedule Contract with IBM Corp. *
- * *
- * VisualAge, and IBM are trademarks or registered trademarks of *
- * International Business Machines Corporation. *
- * Windows is a registered trademark of Microsoft Corporation. *
- * *
- **********************************************************************/
-
- #ifndef _IIKSSSEQ_H
- #define _IIKSSSEQ_H
-
- #include <iiakss.h>
-
-
- #pragma info (nocls, nocnd, nocns, nocnv, noext, nognr, novft)
- #pragma pack (4)
-
- #pragma SOMAsDefault (off)
-
- template <class Base>
- class IKeySortedSetOnSequenceMngCursorImpl;
-
- template <class Base>
- class IKeySortedSetOnSequenceImpl;
-
- template <class Base>
- class IKeySortedSetOnSequenceMngCursorImpl : public Base::MngCursor {
-
- typedef Base::MngCursor Inherited;
-
- public:
-
- IKeySortedSetOnSequenceMngCursorImpl
- (IKeySortedSetOnSequenceImpl <Base> const&);
-
- ~IKeySortedSetOnSequenceMngCursorImpl
- ();
-
- protected:
-
- private:
-
-
- };
-
- template <class Base>
- class IKeySetOnKeySortedSetImpl;
-
- template <class Base>
- class ISortedBagOnKeySortedSetImpl;
-
- template <class Base>
- class ISortedMapOnKeySortedSetImpl;
-
- template <class Base>
- class IAKeySortedSetOnSequenceOps;
-
- template <class Base>
- class IKeySortedSetOnSequenceImpl : public IAKeySortedSetImpl {
-
- typedef IAKeySortedSetImpl Inherited;
-
- typedef IKeySortedSetOnSequenceImpl <Base> Self;
-
- public:
-
- typedef IAKeySortedSetOnSequenceOps <Base> Ops;
-
- typedef Base::Cursor Cursor;
-
- typedef IKeySortedSetOnSequenceMngCursorImpl <Base> MngCursor;
-
- IKeySortedSetOnSequenceImpl
- (Ops&, INumber);
-
- IKeySortedSetOnSequenceImpl
- (Ops&,
- IKeySortedSetOnSequenceImpl <Base> const&);
-
- ~IKeySortedSetOnSequenceImpl
- ();
-
- IBoolean Add (void const*, ICursorImpl&);
-
- IBoolean AddOrReplaceElementWithKey
- (void const*, ICursorImpl&);
-
- IBoolean AllElementsDo (IApplFunc, void*);
-
- void* Any () const;
-
- IBoolean CheckCursor (ICursorImpl const&) const;
-
- IBoolean CheckReplacement (ICursorImpl const&, void const*) const;
-
- char const*
- ClassName () const;
-
- IACollectionImpl*
- Clone () const;
-
- IBoolean ContainsAllKeysFrom
- (IACollectionImpl const&) const;
-
- IBoolean ContainsElementWithKey
- (void const*) const;
-
- void Copy (IACollectionImpl const&);
-
- Cursor* CreateCursor () const;
-
- MngCursor*
- CreateMngCursor () const;
-
- void* ElementAt (ICursorImpl const&) const;
-
- void* ElementAtPosition
- (IPosition) const;
-
- void* ElementWithKey (void const*) const;
-
- void* First () const;
-
- IBoolean IsBounded () const;
-
- IBoolean IsConsistent () const;
-
- IBoolean IsEmpty () const;
-
- IBoolean IsFirstAt (ICursorImpl const&) const;
-
- IBoolean IsFull () const;
-
- IBoolean IsLastAt (ICursorImpl const&) const;
-
- void* Key (void const*) const;
-
- void* Last () const;
-
- IBoolean LocateElementWithKey
- (void const*, ICursorImpl&) const;
-
- IBoolean LocateNextElementWithKey
- (void const*, ICursorImpl&) const;
-
- IBoolean LocateOrAddElementWithKey
- (void const*, ICursorImpl&);
-
- INumber NumberOfElements () const;
-
- IPosition
- PositionAt (ICursorImpl const&) const;
-
- INumber RemoveAll ();
-
- INumber RemoveAll (IPredFunc, void*);
-
- void RemoveAt (ICursorImpl&);
-
- void RemoveAtPosition (IPosition);
-
- IBoolean RemoveElementWithKey
- (void const*);
-
- void RemoveFirst ();
-
- void RemoveLast ();
-
- void ReplaceAt (ICursorImpl const&, void const*);
-
- void ReplaceAtPosition
- (IPosition position, void const*);
-
- IBoolean ReplaceElementWithKey
- (void const*, ICursorImpl&);
-
- IBoolean SetToFirst (ICursorImpl&) const;
-
- IBoolean SetToLast (ICursorImpl&) const;
-
- IBoolean SetToNext (ICursorImpl&) const;
-
- void SetToPosition (IPosition, ICursorImpl&) const;
-
- IBoolean SetToPrevious (ICursorImpl&) const;
-
- void operator= (IKeySortedSetOnSequenceImpl <Base> const&);
-
- TStream& operator<<= (TStream&);
-
- TStream& operator>>= (TStream&) const;
-
- protected:
-
- long CompareKeys (void const*, void const*, IArgType) const;
-
- private:
-
- static
- char const*
- cvClassName;
-
- Base& ivBase;
-
- void const*
- ivKey;
-
- static
- Base& BaseOf (IKeySortedSetOnSequenceImpl <Base> const&);
-
- IBoolean LocateKey (void const*, ICursorImpl&) const;
-
- IBoolean LocateNextKey (void const*, ICursorImpl&) const;
-
- static
- Ops& OpsOf (IKeySortedSetOnSequenceImpl <Base> const&);
-
- friend
- class IKeySortedSetOnSequenceMngCursorImpl <Base>;
-
- friend
- class IKeySetOnKeySortedSetImpl <Self>;
-
- friend
- class ISortedBagOnKeySortedSetImpl <Self>;
-
- friend
- class ISortedMapOnKeySortedSetImpl <Self>;
-
-
- };
-
- template <class Base>
- class IAKeySortedSetOnSequenceOps {
- public:
-
- virtual ~IAKeySortedSetOnSequenceOps
- ();
-
- virtual
- IACollectionImpl*
- Clone () const = 0;
-
- virtual
- long CompareKeys (void const*, void const*,
- IArgType) const = 0;
-
- virtual
- void* Key (void const*) const = 0;
-
- virtual
- TStream& operator<<= (TStream&) = 0;
-
- virtual
- TStream& operator>>= (TStream&) const = 0;
-
- virtual operator Base& () = 0;
-
- protected:
-
- private:
-
-
- };
-
- #pragma SOMAsDefault (pop)
-
- #include <iikssseq.inl>
-
-
- #pragma info (restore)
- #pragma pack ()
-
- #endif
-