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

  1. #ifndef _IVBVCLS_
  2.   #define _IVBVCLS_
  3. /*******************************************************************************
  4. * FILE NAME: ivbvcls.h                                                         *
  5. *                                                                              *
  6. * DESCRIPTION:                                                                 *
  7. *   Declaration of the class(es):                                              *
  8. *    IVBVariableClass - Variable template class for non 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 IVBVariableClass : 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.   IVBVariableClass ();
  37.  
  38. virtual
  39.   ~IVBVariableClass ();
  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 ();
  50.  
  51. IVBVariableClass <Element>
  52.  &setTarget (Element newTarget),
  53.  &setTarget (Element* newTarget);
  54.  
  55. Element*
  56.   targetPtr () ;
  57.  
  58. private:
  59. /*--------------------------------- PRIVATE ----------------------------------*/
  60.   Element iTarget;
  61. };
  62.  
  63. #if ! defined (__TEMPINC__)
  64. #include <ivbvcls.c>
  65. #endif
  66.  
  67. /*----------------------------------------------------------------------------*/
  68. /* Resume compiler default packing.                                           */
  69. /*----------------------------------------------------------------------------*/
  70. #pragma pack()
  71.  
  72. #endif /* _IAVLVAR_ */
  73.