// IBM Open Class Library
//
// Licensed Materials - Property of IBM
//
// (C) Copyright IBM Corporation, 1992, 1997 All Rights Reserved
//
// Revision: 18 1.2.1.2 source/core/collect/icompat.h, collection, ioc.v400, 980918 
#ifndef _ICOMPAT_
#define _ICOMPAT_

#define  IBagOnBSTKeySortedSet                  IBagAsBstTree
#define IGBagOnBSTKeySortedSet                 IGBagAsBstTree
#define  IBagOnHashKeySet                       IBagAsHshTable
#define IGBagOnHashKeySet                      IGBagAsHshTable
#define  IBagOnSortedDilutedSequence            IBagAsDilTable
#define IGBagOnSortedDilutedSequence           IGBagAsDilTable
#define  IBagOnSortedLinkedSequence             IBagAsList
#define IGBagOnSortedLinkedSequence            IGBagAsList
#define  IBagOnSortedTabularSequence            IBagAsTable
#define IGBagOnSortedTabularSequence           IGBagAsTable

#define  IDequeOnDilutedSequence                IDequeAsDilTable
#define IGDequeOnDilutedSequence               IGDequeAsDilTable
#define  IDequeOnTabularSequence                IDequeAsTable
#define IGDequeOnTabularSequence               IGDequeAsTable

#define  IEqualitySequenceOnDilutedSequence\
                                     IEqualitySequenceAsDilTable
#define IGEqualitySequenceOnDilutedSequence\
                                    IGEqualitySequenceAsDilTable
#define  IEqualitySequenceOnTabularSequence\
                                     IEqualitySequenceAsTable
#define IGEqualitySequenceOnTabularSequence\
                                    IGEqualitySequenceAsTable

#define  IHeapOnDilutedSequence                 IHeapAsDilTable
#define IGHeapOnDilutedSequence                IGHeapAsDilTable
#define  IHeapOnTabularSequence                 IHeapAsTable
#define IGHeapOnTabularSequence                IGHeapAsTable

#define  IHashKeyBag                            IKeyBagAsHshTable
#define IGHashKeyBag                           IGKeyBagAsHshTable

#define  IKeySetOnBSTKeySortedSet               IKeySetAsBstTree
#define IGKeySetOnBSTKeySortedSet              IGKeySetAsBstTree
#define  IHashKeySet                            IKeySetAsHshTable
#define IGHashKeySet                           IGKeySetAsHshTable
#define  IKeySetOnSortedDilutedSequence         IKeySetAsDilTable
#define IGKeySetOnSortedDilutedSequence        IGKeySetAsDilTable
#define  IKeySetOnSortedLinkedSequence          IKeySetAsList
#define IGKeySetOnSortedLinkedSequence         IGKeySetAsList
#define  IKeySetOnSortedTabularSequence         IKeySetAsTable
#define IGKeySetOnSortedTabularSequence        IGKeySetAsTable

#define  IKeySortedBagOnSortedDilutedSequence   IKeySortedBagAsDilTable
#define IGKeySortedBagOnSortedDilutedSequence  IGKeySortedBagAsDilTable
#define  IKeySortedBagOnSortedTabularSequence   IKeySortedBagAsTable
#define IGKeySortedBagOnSortedTabularSequence  IGKeySortedBagAsTable

#define  IAvlKeySortedSet                       IKeySortedSetAsAvlTree
#define IGAvlKeySortedSet                      IGKeySortedSetAsAvlTree
#define  IBSTKeySortedSet                       IKeySortedSetAsBstTree
#define IGBSTKeySortedSet                      IGKeySortedSetAsBstTree
#define  IKeySortedSetOnSortedDilutedSequence   IKeySortedSetAsDilTable
#define IGKeySortedSetOnSortedDilutedSequence  IGKeySortedSetAsDilTable
#define  IKeySortedSetOnSortedLinkedSequence    IKeySortedSetAsList
#define IGKeySortedSetOnSortedLinkedSequence   IGKeySortedSetAsList
#define  IKeySortedSetOnSortedTabularSequence   IKeySortedSetAsTable
#define IGKeySortedSetOnSortedTabularSequence  IGKeySortedSetAsTable

#define  IMapOnBSTKeySortedSet                  IMapAsBstTree
#define IGMapOnBSTKeySortedSet                 IGMapAsBstTree
#define  IMapOnHashKeySet                       IMapAsHshTable
#define IGMapOnHashKeySet                      IGMapAsHshTable
#define  IMapOnSortedDilutedSequence            IMapAsDilTable
#define IGMapOnSortedDilutedSequence           IGMapAsDilTable
#define  IMapOnSortedLinkedSequence             IMapAsList
#define IGMapOnSortedLinkedSequence            IGMapAsList
#define  IMapOnSortedTabularSequence            IMapAsTable
#define IGMapOnSortedTabularSequence           IGMapAsTable

#define  IPriorityQueueOnSortedDilutedSequence  IPriorityQueueAsDilTable
#define IGPriorityQueueOnSortedDilutedSequence IGPriorityQueueAsDilTable
#define  IPriorityQueueOnSortedTabularSequence  IPriorityQueueAsTable
#define IGPriorityQueueOnSortedTabularSequence IGPriorityQueueAsTable

#define  IQueueOnDilutedSequence                IQueueAsDilTable
#define IGQueueOnDilutedSequence               IGQueueAsDilTable
#define  IQueueOnTabularSequence                IQueueAsTable
#define IGQueueOnTabularSequence               IGQueueAsTable

#define  IDilutedSequence                       ISequenceAsDilTable
#define IGDilutedSequence                      IGSequenceAsDilTable
#define  ILinkedSequence                        ISequenceAsList
#define IGLinkedSequence                       IGSequenceAsList
#define  ITabularSequence                       ISequenceAsTable
#define IGTabularSequence                      IGSequenceAsTable

#define  ISetOnBSTKeySortedSet                  ISetAsBstTree
#define IGSetOnBSTKeySortedSet                 IGSetAsBstTree
#define  ISetOnHashKeySet                       ISetAsHshTable
#define IGSetOnHashKeySet                      IGSetAsHshTable
#define  ISetOnSortedDilutedSequence            ISetAsDilTable
#define IGSetOnSortedDilutedSequence           IGSetAsDilTable
#define  ISetOnSortedLinkedSequence             ISetAsList
#define IGSetOnSortedLinkedSequence            IGSetAsList
#define  ISetOnSortedTabularSequence            ISetAsTable
#define IGSetOnSortedTabularSequence           IGSetAsTable

#define  ISortedBagOnBSTKeySortedSet            ISortedBagAsBstTree
#define IGSortedBagOnBSTKeySortedSet           IGSortedBagAsBstTree
#define  ISortedBagOnSortedDilutedSequence      ISortedBagAsDilTable
#define IGSortedBagOnSortedDilutedSequence     IGSortedBagAsDilTable
#define  ISortedBagOnSortedLinkedSequence       ISortedBagAsList
#define IGSortedBagOnSortedLinkedSequence      IGSortedBagAsList
#define  ISortedBagOnSortedTabularSequence      ISortedBagAsTable
#define IGSortedBagOnSortedTabularSequence     IGSortedBagAsTable

#define  ISortedMapOnBSTKeySortedSet            ISortedMapAsBstTree
#define IGSortedMapOnBSTKeySortedSet           IGSortedMapAsBstTree
#define  ISortedMapOnSortedDilutedSequence      ISortedMapAsDilTable
#define IGSortedMapOnSortedDilutedSequence     IGSortedMapAsDilTable
#define  ISortedMapOnSortedLinkedSequence       ISortedMapAsList
#define IGSortedMapOnSortedLinkedSequence      IGSortedMapAsList
#define  ISortedMapOnSortedTabularSequence      ISortedMapAsTable
#define IGSortedMapOnSortedTabularSequence     IGSortedMapAsTable

#define  ISortedRelationOnSortedDilutedSequence\
                                        ISortedRelationAsDilTable
#define IGSortedRelationOnSortedDilutedSequence\
                                       IGSortedRelationAsDilTable
#define  ISortedRelationOnSortedTabularSequence\
                                        ISortedRelationAsTable
#define IGSortedRelationOnSortedTabularSequence\
                                       IGSortedRelationAsTable

#define  ISortedSetOnBSTKeySortedSet            ISortedSetAsBstTree
#define IGSortedSetOnBSTKeySortedSet           IGSortedSetAsBstTree
#define  ISortedSetOnSortedDilutedSequence      ISortedSetAsDilTable
#define IGSortedSetOnSortedDilutedSequence     IGSortedSetAsDilTable
#define  ISortedSetOnSortedLinkedSequence       ISortedSetAsList
#define IGSortedSetOnSortedLinkedSequence      IGSortedSetAsList
#define  ISortedSetOnSortedTabularSequence      ISortedSetAsTable
#define IGSortedSetOnSortedTabularSequence     IGSortedSetAsTable

#define  IStackOnDilutedSequence                IStackAsDilTable
#define IGStackOnDilutedSequence               IGStackAsDilTable
#define  IStackOnTabularSequence                IStackAsTable
#define IGStackOnTabularSequence               IGStackAsTable

#define  IVBagOnBSTKeySortedSet                 IVBagAsBstTree
#define IVGBagOnBSTKeySortedSet                IVGBagAsBstTree
#define  IVBagOnHashKeySet                      IVBagAsHshTable
#define IVGBagOnHashKeySet                     IVGBagAsHshTable
#define  IVBagOnSortedDilutedSequence           IVBagAsDilTable
#define IVGBagOnSortedDilutedSequence          IVGBagAsDilTable
#define  IVBagOnSortedLinkedSequence            IVBagAsList
#define IVGBagOnSortedLinkedSequence           IVGBagAsList
#define  IVBagOnSortedTabularSequence           IVBagAsTable
#define IVGBagOnSortedTabularSequence          IVGBagAsTable

#define  IVDequeOnDilutedSequence               IVDequeAsDilTable
#define IVGDequeOnDilutedSequence              IVGDequeAsDilTable
#define  IVDequeOnTabularSequence               IVDequeAsTable
#define IVGDequeOnTabularSequence              IVGDequeAsTable

#define  IVEqualitySequenceOnDilutedSequence\
                                     IVEqualitySequenceAsDilTable
#define IVGEqualitySequenceOnDilutedSequence\
                                    IVGEqualitySequenceAsDilTable
#define  IVEqualitySequenceOnTabularSequence\
                                     IVEqualitySequenceAsTable
#define IVGEqualitySequenceOnTabularSequence\
                                    IVGEqualitySequenceAsTable

#define  IVHeapOnDilutedSequence                IVHeapAsDilTable
#define IVGHeapOnDilutedSequence               IVGHeapAsDilTable
#define  IVHeapOnTabularSequence                IVHeapAsTable
#define IVGHeapOnTabularSequence               IVGHeapAsTable

#define  IVHashKeyBag                           IVKeyBagAsHshTable
#define IVGHashKeyBag                          IVGKeyBagAsHshTable

#define  IVKeySetOnBSTKeySortedSet              IVKeySetAsBstTree
#define IVGKeySetOnBSTKeySortedSet             IVGKeySetAsBstTree
#define  IVHashKeySet                           IVKeySetAsHshTable
#define IVGHashKeySet                          IVGKeySetAsHshTable
#define  IVKeySetOnSortedDilutedSequence        IVKeySetAsDilTable
#define IVGKeySetOnSortedDilutedSequence       IVGKeySetAsDilTable
#define  IVKeySetOnSortedLinkedSequence         IVKeySetAsList
#define IVGKeySetOnSortedLinkedSequence        IVGKeySetAsList
#define  IVKeySetOnSortedTabularSequence        IVKeySetAsTable
#define IVGKeySetOnSortedTabularSequence       IVGKeySetAsTable

#define  IVKeySortedBagOnSortedDilutedSequence  IVKeySortedBagAsDilTable
#define IVGKeySortedBagOnSortedDilutedSequence IVGKeySortedBagAsDilTable
#define  IVKeySortedBagOnSortedTabularSequence  IVKeySortedBagAsTable
#define IVGKeySortedBagOnSortedTabularSequence IVGKeySortedBagAsTable

#define  IVAvlKeySortedSet                      IVKeySortedSetAsAvlTree
#define IVGAvlKeySortedSet                     IVGKeySortedSetAsAvlTree
#define  IVBSTKeySortedSet                      IVKeySortedSetAsBstTree
#define IVGBSTKeySortedSet                     IVGKeySortedSetAsBstTree
#define  IVKeySortedSetOnSortedDilutedSequence  IVKeySortedSetAsDilTable
#define IVGKeySortedSetOnSortedDilutedSequence IVGKeySortedSetAsDilTable
#define  IVKeySortedSetOnSortedLinkedSequence   IVKeySortedSetAsList
#define IVGKeySortedSetOnSortedLinkedSequence  IVGKeySortedSetAsList
#define  IVKeySortedSetOnSortedTabularSequence  IVKeySortedSetAsTable
#define IVGKeySortedSetOnSortedTabularSequence IVGKeySortedSetAsTable

#define  IVMapOnBSTKeySortedSet                 IVMapAsBstTree
#define IVGMapOnBSTKeySortedSet                IVGMapAsBstTree
#define  IVMapOnHashKeySet                      IVMapAsHshTable
#define IVGMapOnHashKeySet                     IVGMapAsHshTable
#define  IVMapOnSortedDilutedSequence           IVMapAsDilTable
#define IVGMapOnSortedDilutedSequence          IVGMapAsDilTable
#define  IVMapOnSortedLinkedSequence            IVMapAsList
#define IVGMapOnSortedLinkedSequence           IVGMapAsList
#define  IVMapOnSortedTabularSequence           IVMapAsTable
#define IVGMapOnSortedTabularSequence          IVGMapAsTable

#define  IVPriorityQueueOnSortedDilutedSequence\
                                            IVPriorityQueueAsDilTable
#define IVGPriorityQueueOnSortedDilutedSequence\
                                           IVGPriorityQueueAsDilTable
#define  IVPriorityQueueOnSortedTabularSequence\
                                            IVPriorityQueueAsTable
#define IVGPriorityQueueOnSortedTabularSequence\
                                           IVGPriorityQueueAsTable

#define  IVQueueOnDilutedSequence               IVQueueAsDilTable
#define IVGQueueOnDilutedSequence              IVGQueueAsDilTable
#define  IVQueueOnTabularSequence               IVQueueAsTable
#define IVGQueueOnTabularSequence              IVGQueueAsTable

#define  IVDilutedSequence                      IVSequenceAsDilTable
#define IVGDilutedSequence                     IVGSequenceAsDilTable
#define  IVLinkedSequence                       IVSequenceAsList
#define IVGLinkedSequence                      IVGSequenceAsList
#define  IVTabularSequence                      IVSequenceAsTable
#define IVGTabularSequence                     IVGSequenceAsTable

#define  IVSetOnBSTKeySortedSet                 IVSetAsBstTree
#define IVGSetOnBSTKeySortedSet                IVGSetAsBstTree
#define  IVSetOnHashKeySet                      IVSetAsHshTable
#define IVGSetOnHashKeySet                     IVGSetAsHshTable
#define  IVSetOnSortedDilutedSequence           IVSetAsDilTable
#define IVGSetOnSortedDilutedSequence          IVGSetAsDilTable
#define  IVSetOnSortedLinkedSequence            IVSetAsList
#define IVGSetOnSortedLinkedSequence           IVGSetAsList
#define  IVSetOnSortedTabularSequence           IVSetAsTable
#define IVGSetOnSortedTabularSequence          IVGSetAsTable

#define  IVSortedBagOnBSTKeySortedSet           IVSortedBagAsBstTree
#define IVGSortedBagOnBSTKeySortedSet          IVGSortedBagAsBstTree
#define  IVSortedBagOnSortedDilutedSequence     IVSortedBagAsDilTable
#define IVGSortedBagOnSortedDilutedSequence    IVGSortedBagAsDilTable
#define  IVSortedBagOnSortedLinkedSequence      IVSortedBagAsList
#define IVGSortedBagOnSortedLinkedSequence     IVGSortedBagAsList
#define  IVSortedBagOnSortedTabularSequence     IVSortedBagAsTable
#define IVGSortedBagOnSortedTabularSequence    IVGSortedBagAsTable

#define  IVSortedMapOnBSTKeySortedSet           IVSortedMapAsBstTree
#define IVGSortedMapOnBSTKeySortedSet          IVGSortedMapAsBstTree
#define  IVSortedMapOnSortedDilutedSequence     IVSortedMapAsDilTable
#define IVGSortedMapOnSortedDilutedSequence    IVGSortedMapAsDilTable
#define  IVSortedMapOnSortedLinkedSequence      IVSortedMapAsList
#define IVGSortedMapOnSortedLinkedSequence     IVGSortedMapAsList
#define  IVSortedMapOnSortedTabularSequence     IVSortedMapAsTable
#define IVGSortedMapOnSortedTabularSequence    IVGSortedMapAsTable

#define  IVSortedRelationOnSortedDilutedSequence\
                                        IVSortedRelationAsDilTable
#define IVGSortedRelationOnSortedDilutedSequence\
                                       IVGSortedRelationAsDilTable
#define  IVSortedRelationOnSortedTabularSequence\
                                        IVSortedRelationAsTable
#define IVGSortedRelationOnSortedTabularSequence\
                                       IVGSortedRelationAsTable

#define  IVSortedSetOnBSTKeySortedSet           IVSortedSetAsBstTree
#define IVGSortedSetOnBSTKeySortedSet          IVGSortedSetAsBstTree
#define  IVSortedSetOnSortedDilutedSequence     IVSortedSetAsDilTable
#define IVGSortedSetOnSortedDilutedSequence    IVGSortedSetAsDilTable
#define  IVSortedSetOnSortedLinkedSequence      IVSortedSetAsList
#define IVGSortedSetOnSortedLinkedSequence     IVGSortedSetAsList
#define  IVSortedSetOnSortedTabularSequence     IVSortedSetAsTable
#define IVGSortedSetOnSortedTabularSequence    IVGSortedSetAsTable

#define  IVStackOnDilutedSequence               IVStackAsDilTable
#define IVGStackOnDilutedSequence              IVGStackAsDilTable
#define  IVStackOnTabularSequence               IVStackAsTable
#define IVGStackOnTabularSequence              IVGStackAsTable

#define IPartCollection                   IACollection
#define IPartOrderedCollection            IAOrderedCollection
#define IPartCollectionNotification       IVCollectionImpl
#define IPartCollectionEventData          IVCollectionEventData
#define IPartCollectionAddedEventData     IVCollectionEventData
#define IPartCollectionRemovedEventData   IVCollectionEventData
#define IPartCollectionReplacedEventData  IVCollectionEventData

#define IPtr      IElemPointer
#define IMgPtr IMngElemPointer

#endif // _ICOMPAT_
