home *** CD-ROM | disk | FTP | other *** search
Text File | 1996-09-17 | 4.2 KB | 121 lines | [TEXT/MPS ] |
- //========================================================================================
- //
- // File: FWTColl.h
- // Release Version: $ ODF 2 $
- //
- // Copyright: (c) 1993 - 1996 by Apple Computer, Inc., all rights reserved.
- //
- //========================================================================================
-
- #ifndef FWTCOLL_H
- #define FWTCOLL_H
-
- #ifndef FWORDCOL_H
- #include "FWOrdCol.h"
- #endif
-
- #ifndef FWEXCLIB_H
- #include "FWExcLib.h"
- #endif
-
- #ifndef FWODFEXC_H
- #include "FWODFExc.h"
- #endif
-
- //========================================================================================
- // Class FW_TOrderedCollection
- //========================================================================================
-
- template<class t>
- class FW_TOrderedCollection : public FW_CPrivOrderedCollection
- {
- public:
- FW_DECLARE_AUTO(FW_TOrderedCollection)
-
- // friend class FW_TOrderedCollectionIterator<t>;
-
- //----------------------------------------------------------------------------------------
- // Constructors/Destructor
- //
- public:
- FW_TOrderedCollection(FW_OrderedCollection_MatchProc matchProc = NULL) :
- FW_CPrivOrderedCollection(matchProc) {}
- ~FW_TOrderedCollection() {}
-
- //----------------------------------------------------------------------------------------
- // API
- //
- public:
- unsigned long Count() const
- {return FW_PrivOrderedCollection_Count(fImplementation);}
-
- void AddFirst(const t* element)
- {FW_FailOnError(FW_PrivOrderedCollection_AddFirst(fImplementation, element));}
- void AddLast(const t* element)
- {FW_FailOnError(FW_PrivOrderedCollection_AddLast(fImplementation, element));}
- void AddBefore(const t* existing, const t* tobeadded)
- {FW_FailOnError(FW_PrivOrderedCollection_AddBefore(fImplementation, fMatchProc, existing, tobeadded));}
- void AddAfter(const t* existing, const t* tobeadded)
- {FW_FailOnError(FW_PrivOrderedCollection_AddAfter(fImplementation, fMatchProc, existing, tobeadded));}
-
- t* After(const t* existing) const
- {return (t*)FW_PrivOrderedCollection_After(fImplementation, fMatchProc, existing);}
- t* Before(const t* existing) const
- {return (t*)FW_PrivOrderedCollection_Before(fImplementation, fMatchProc, existing);}
-
- t* First() const
- {return (t*)FW_PrivOrderedCollection_First(fImplementation);}
- t* Last() const
- {return (t*)FW_PrivOrderedCollection_Last(fImplementation);}
-
- t* RemoveFirst()
- {return (t*)FW_PrivOrderedCollection_RemoveFirst(fImplementation);}
- t* RemoveLast()
- {return (t*)FW_PrivOrderedCollection_RemoveLast(fImplementation);}
- void RemoveAll()
- {FW_PrivOrderedCollection_RemoveAll(fImplementation);}
-
- void Remove(const t* existing)
- {FW_PrivOrderedCollection_Remove(fImplementation, fMatchProc, existing);}
- FW_Boolean Contains(const t* existing) const
- {return FW_PrivOrderedCollection_Contains(fImplementation, fMatchProc, existing);}
- };
-
- //========================================================================================
- // Class FW_TOrderedCollectionIterator
- //========================================================================================
-
- template<class t>
- class FW_TOrderedCollectionIterator : public FW_CPrivOrderedCollectionIterator
- {
- public:
- FW_DECLARE_AUTO(FW_TOrderedCollectionIterator)
-
- //----------------------------------------------------------------------------------------
- // Constructors/Destructor
- //
- public:
- FW_TOrderedCollectionIterator(const FW_TOrderedCollection<t>* collection) :
- FW_CPrivOrderedCollectionIterator(collection) {}
- ~FW_TOrderedCollectionIterator() {}
-
- //----------------------------------------------------------------------------------------
- // API
- //
- public:
- t* First()
- {return (t*)FW_PrivOrderedCollectionIterator_First(fImplementation);}
- t* Next()
- {return (t*)FW_PrivOrderedCollectionIterator_Next(fImplementation);}
- t* Last()
- {return (t*)FW_PrivOrderedCollectionIterator_Last(fImplementation);}
- t* Previous()
- {return (t*)FW_PrivOrderedCollectionIterator_Previous(fImplementation);}
- t* Current()
- {return (t*)FW_PrivOrderedCollectionIterator_Current(fImplementation);}
- FW_Boolean IsNotComplete()
- {return FW_PrivOrderedCollectionIterator_IsNotComplete(fImplementation);}
- };
-
- #endif
-