home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / trialva / ibmcppw / include / ivbvclsp.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-02-22  |  3.2 KB  |  75 lines

  1. #ifndef _IVBVCLSP_
  2.   #define _IVBVCLSP_
  3. /*******************************************************************************
  4. * FILE NAME: ivbvclsp.h                                                        *
  5. *                                                                              *
  6. * DESCRIPTION:                                                                 *
  7. *   Declaration of the class(es):                                              *
  8. *    IVBVariableClassPointer - Variable template class for pointer classes.    *
  9. *                                                                              *
  10. * COPYRIGHT:                                                                   *
  11. *   IBM(R) VisualAge(TM) for C++                                               *
  12. *   (C) Copyright International Business Machines Corporation 1991, 1996       *
  13. *   Licensed Material - Program-Property of IBM - All Rights Reserved.         *
  14. *   US Government Users Restricted Rights - Use, duplication, or disclosure    *
  15. *   restricted by GSA ADP Schedule Contract with IBM Corp.                     *
  16. *******************************************************************************/
  17.  
  18. #ifndef _IVBVCLSS_
  19.   #include <ivbvclss.hpp>
  20. #endif
  21.  
  22. /*----------------------------------------------------------------------------*/
  23. /* Align classes on four byte boundary.                                       */
  24. /*----------------------------------------------------------------------------*/
  25. #pragma pack(4)
  26.  
  27. template < class Element >
  28. class IVBVariableClassPointer : public IVBVariableClassBase
  29. {
  30. public:
  31. /*--------------------------- PUBLIC -----------------------------------------*/
  32.  
  33. /*------------------------ Constructors ----------------------------------------
  34. | You can construct an instance of this class in the following ways:           |
  35.  -----------------------------------------------------------------------------*/
  36.   IVBVariableClassPointer ();
  37.  
  38. virtual
  39.   ~IVBVariableClassPointer ();
  40.  
  41. /*-------------------------------- Attributes ----------------------------------
  42. | These operations can be used to query and change the attributes:             |
  43. |   target            - Query the target attribute                             |
  44. |   setTarget         - Set the target attribute                               |
  45. |   targetId          - target attribute notification id                       |
  46. |   targetPtr         - Query the target attribute as a pointer.               |
  47.  -----------------------------------------------------------------------------*/
  48. Element
  49.   target () const;
  50.  
  51. IVBVariableClassPointer <Element>
  52.  &setTarget (Element newTarget);
  53.  
  54. IVBVariableClassPointer <Element>
  55.  &IVBVariableClassPointer <Element>::deleteTarget ();
  56.  
  57. Element
  58.   targetPtr () const;
  59.  
  60. private:
  61. /*--------------------------------- PRIVATE ----------------------------------*/
  62.   Element iTarget;
  63. };
  64.  
  65. #if ! defined (__TEMPINC__)
  66. #include <ivbvclsp.c>
  67. #endif
  68.  
  69. /*----------------------------------------------------------------------------*/
  70. /* Resume compiler default packing.                                           */
  71. /*----------------------------------------------------------------------------*/
  72. #pragma pack()
  73.  
  74. #endif /* _IAVLVAR_ */
  75.