home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1998 May / Pcwk5b98.iso / Borland / Cplus45 / BC45 / CLASSINC.PAK / SHDDEL.H < prev    next >
C/C++ Source or Header  |  1995-08-29  |  2KB  |  76 lines

  1. /*------------------------------------------------------------------------*/
  2. /*                                                                        */
  3. /*  SHDDEL.H                                                              */
  4. /*                                                                        */
  5. /*  Copyright (c) 1991, 1994 Borland International                        */
  6. /*  All Rights Reserved                                                   */
  7. /*                                                                        */
  8. /*------------------------------------------------------------------------*/
  9.  
  10. #if !defined( CLASSLIB_SHDDEL_H )
  11. #define CLASSLIB_SHDDEL_H
  12.  
  13. #if !defined( CLASSLIB_DEFS_H )
  14. #include <classlib/defs.h>
  15. #endif
  16.  
  17. #pragma option -Vo-
  18. #if defined( BI_CLASSLIB_NO_po )
  19. #pragma option -po-
  20. #endif
  21.  
  22. class TShouldDelete
  23. {
  24.  
  25. public:
  26.  
  27.     enum DeleteType { NoDelete, DefDelete, Delete };
  28.  
  29.     TShouldDelete( DeleteType dt = Delete )
  30.         {
  31.         OwnsElements( dt );
  32.         }
  33.  
  34.     int OwnsElements()
  35.         {
  36.         return ShouldDelete == Delete;
  37.         }
  38.  
  39.     void OwnsElements( int del )
  40.         {
  41.         ShouldDelete = (del == 0) ? NoDelete : Delete;
  42.         }
  43.  
  44. #if defined( BI_OLDNAMES )
  45.     int ownsElements() { return OwnsElements(); }
  46.     void ownsElements( int del ) { OwnsElements(del); }
  47. #endif  // BI_OLDNAMES
  48.  
  49.     int DelObj( DeleteType dt )
  50.         {
  51.         return dt == Delete || (dt==DefDelete && ShouldDelete==Delete);
  52.         }
  53.  
  54. #if defined( BI_OLDNAMES )
  55.     int delObj( DeleteType dt ) { return DelObj(dt); }
  56. #endif  // BI_OLDNAMES
  57.  
  58. private:
  59.  
  60.     DeleteType ShouldDelete;
  61.  
  62. };
  63.  
  64. #if defined( BI_OLDNAMES )
  65. #define BI_ShouldDelete TShouldDelete
  66. #endif
  67.  
  68. #if defined( BI_CLASSLIB_NO_po )
  69. #pragma option -po.
  70. #endif
  71.  
  72. #pragma option -Vo.
  73.  
  74. #endif  // CLASSLIB_SHDDEL_H
  75.  
  76.