home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c082_144 / 2.ddi / CLASSINC.ZIP / COLLECT.H < prev    next >
Encoding:
C/C++ Source or Header  |  1992-06-10  |  1.6 KB  |  60 lines

  1. /*------------------------------------------------------------------------*/
  2. /*                                                                        */
  3. /*  COLLECT.H                                                             */
  4. /*                                                                        */
  5. /*  Copyright Borland International 1991, 1992                            */
  6. /*  All Rights Reserved                                                   */
  7. /*                                                                        */
  8. /*------------------------------------------------------------------------*/
  9.  
  10. #if !defined( __COLLECT_H )
  11. #define __COLLECT_H
  12.  
  13. #if !defined( __CLSTYPES_H )
  14. #include <ClsTypes.h>
  15. #endif  // __CLSTYPES_H
  16.  
  17. #if !defined( __OBJECT_H )
  18. #include <Object.h>
  19. #endif  // __OBJECT_H
  20.  
  21. #if !defined( __CONTAIN_H )
  22. #include <Contain.h>
  23. #endif  // __CONTAIN_H
  24.  
  25. #pragma option -Vo-
  26. #if defined( __BCOPT__ ) && !defined( _ALLOW_po )
  27. #pragma option -po-
  28. #endif
  29.  
  30. _CLASSDEF(ContainerIterator)
  31. _CLASSDEF(Collection)
  32.  
  33. class _CLASSTYPE Collection : public Container
  34. {
  35.  
  36. public:
  37.  
  38.     virtual void add( Object _FAR & ) = 0;
  39.     virtual void detach( Object _FAR &, DeleteType = NoDelete ) = 0;
  40.     void destroy( Object _FAR & o )
  41.         {
  42.         detach( o, DefDelete );
  43.         }
  44.  
  45.     virtual int hasMember( Object _FAR & obj ) const
  46.         {
  47.         return findMember( obj ) != NOOBJECT;
  48.         }
  49.  
  50.     virtual Object _FAR & findMember( Object _FAR & ) const;
  51.  
  52. };
  53.  
  54. #if defined( __BCOPT__ ) && !defined( _ALLOW_po )
  55. #pragma option -po.
  56. #endif
  57. #pragma option -Vo.
  58.  
  59. #endif
  60.