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

  1. /*------------------------------------------------------------------------*/
  2. /*                                                                        */
  3. /*  SHDDEL.H                                                              */
  4. /*                                                                        */
  5. /*  Copyright Borland International 1991, 1992                            */
  6. /*  All Rights Reserved                                                   */
  7. /*                                                                        */
  8. /*------------------------------------------------------------------------*/
  9.  
  10. #if !defined( __SHDDEL_H )
  11. #define __SHDDEL_H
  12.  
  13. #if !defined( __DEFS_H )
  14. #include <_defs.h>
  15. #endif  // __DEFS_H
  16.  
  17. #pragma option -Vo-
  18. #if defined( __BCOPT__ ) && !defined( _ALLOW_po )
  19. #pragma option -po-
  20. #endif
  21.  
  22. _CLASSDEF(TShouldDelete)
  23.  
  24. class _CLASSTYPE TShouldDelete
  25. {
  26.  
  27. public:
  28.  
  29.     enum DeleteType { NoDelete, DefDelete, Delete };
  30.  
  31.     TShouldDelete( DeleteType dt = Delete )
  32.         {
  33.         ownsElements( dt );
  34.         }
  35.  
  36.     int ownsElements()
  37.         {
  38.         return shouldDelete == Delete;
  39.         }
  40.  
  41.     void ownsElements( int del )
  42.         {
  43.         shouldDelete = (del == 0) ? NoDelete : Delete;
  44.         }
  45.  
  46. protected:
  47.  
  48.     int delObj( DeleteType dt )
  49.         {
  50.         return dt == Delete || (dt==DefDelete && shouldDelete==Delete);
  51.         }
  52.  
  53. private:
  54.  
  55.     DeleteType shouldDelete;
  56.  
  57. };
  58.  
  59. #if defined( __BCOPT__ ) && !defined( _ALLOW_po )
  60. #pragma option -po.
  61. #endif
  62. #pragma option -Vo.
  63.  
  64. #endif  // __SHDDEL_H
  65.  
  66.