home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / trialva / ibmcppw / include / iaequal.inl < prev    next >
Encoding:
Text File  |  1996-02-22  |  3.7 KB  |  126 lines

  1. /**********************************************************************
  2. *                                                                     *
  3. *  IBM(R) VisualAge(TM) for C++ for Windows(R), Version 3.5           *
  4. *                                                                     *
  5. *  PID: 5622-880                                                      *
  6. *  - Licensed Material - Program-Property of IBM                      *
  7. *  (C) Copyright IBM Corp. 1991, 1995 - All Right Reserved.           *
  8. *                                                                     *
  9. *  US Government Users Restricted Rights - Use, duplication or        *
  10. *  disclosure restricted by GSA ADP Schedule Contract with IBM Corp.  *
  11. *                                                                     *
  12. *  VisualAge, and IBM are trademarks or registered trademarks of      *
  13. *  International Business Machines Corporation.                       *
  14. *  Windows is a registered trademark of Microsoft Corporation.        *
  15. *                                                                     *
  16. **********************************************************************/
  17.  
  18. // --------------------
  19. // IAEqualityCollection
  20. // --------------------
  21.  
  22. // public members
  23.  
  24. template <class Element>
  25. inline
  26. IAEqualityCollection <Element>::
  27. IAEqualityCollection (INotifier& notifier)
  28. { SetImpl ((Implementation*)¬ifier);
  29. }
  30.  
  31. template <class Element>
  32. inline
  33. IAEqualityCollection <Element>::
  34. ~IAEqualityCollection ()
  35. {
  36. }
  37.  
  38. template <class Element>
  39. inline IBoolean
  40. IAEqualityCollection <Element>::
  41. contains (Element const& element) const
  42. { return ImplOf (*this).Contains (&element);
  43. }
  44.  
  45. template <class Element>
  46. inline IBoolean
  47. IAEqualityCollection <Element>::
  48. containsAllFrom (IACollection <Element> const& collection) const
  49. { return ImplOf (*this).
  50.     ContainsAllFrom (IACollection <Element>::ImplOf (collection));
  51. }
  52.  
  53. template <class Element>
  54. inline IBoolean
  55. IAEqualityCollection <Element>::
  56. locate (Element const& element, ICursor& cursor) const
  57. { return ImplOf (*this).Locate (&element, CrsrImplOf (cursor));
  58. }
  59.  
  60. template <class Element>
  61. inline IBoolean
  62. IAEqualityCollection <Element>::
  63. locateNext (Element const& element, ICursor& cursor) const
  64. { return ImplOf (*this).LocateNext (&element, CrsrImplOf (cursor));
  65. }
  66.  
  67. template <class Element>
  68. inline IBoolean
  69. IAEqualityCollection <Element>::
  70. locateOrAdd (Element const& element)
  71. { return ImplOf (*this).LocateOrAdd (&element);
  72. }
  73.  
  74. template <class Element>
  75. inline IBoolean
  76. IAEqualityCollection <Element>::
  77. locateOrAdd (Element const& element, ICursor& cursor)
  78. { return ImplOf (*this).LocateOrAdd (&element, CrsrImplOf (cursor));
  79. }
  80.  
  81. template <class Element>
  82. inline INumber
  83. IAEqualityCollection <Element>::
  84. numberOfOccurrences (Element const& element) const
  85. { return ImplOf (*this).NumberOfOccurrences (&element);
  86. }
  87.  
  88. template <class Element>
  89. inline IBoolean
  90. IAEqualityCollection <Element>::
  91. remove (Element const& element)
  92. { return ImplOf (*this).Remove (&element);
  93. }
  94.  
  95. template <class Element>
  96. inline INumber
  97. IAEqualityCollection <Element>::
  98. removeAllOccurrences (Element const& element)
  99. { return ImplOf (*this).RemoveAllOccurrences (&element);
  100. }
  101.  
  102. // protected members
  103.  
  104. template <class Element>
  105. inline
  106. IAEqualityCollection <Element>::
  107. IAEqualityCollection ()
  108. {
  109. }
  110.  
  111. template <class Element>
  112. inline
  113. IAEqualityCollection <Element>::
  114. IAEqualityCollection (IAEqualityCollection <Element> const&)
  115. {
  116. }
  117.  
  118. // private members
  119.  
  120. template <class Element>
  121. inline IAEqualityCollection <Element>::Implementation&
  122. IAEqualityCollection <Element>::
  123. ImplOf (IAEqualityCollection <Element> const& collection)
  124. { return *(Implementation*)collection.ivImpl;
  125. }
  126.