home *** CD-ROM | disk | FTP | other *** search
/ PC World 1997 November / PCWorld_1997-11_cd.bin / software / programy / komix / DATA.Z / ORefSet.4gl < prev    next >
Text File  |  1996-07-02  |  2KB  |  61 lines

  1. -----------------------------------------------------------------------------
  2. --
  3. -- Copyright (c) 1994 by Westmount Technology B.V., Delft, The Netherlands.
  4. --
  5. -- This software is furnished under a license and may be used only in
  6. -- accordance with the terms of such license and with the inclusion of
  7. -- the above copyright notice. This software or any other copies thereof
  8. -- may not be provided or otherwise made available to any other person.
  9. -- No title to and ownership of the software is hereby transferred.
  10. --
  11. -- The information in this software is subject to change without notice
  12. -- and should not be construed as a commitment by Westmount Technology B.V.
  13. --
  14. -----------------------------------------------------------------------------
  15. --
  16. --    File        : @(#)ORefSet.4gl    1.1
  17. --    Author        :
  18. --    Original date    : 19-10-1994
  19. --    Description    : An ordered set of object references
  20. --
  21. -----------------------------------------------------------------------------
  22.  
  23. INCLUDE "ORefSet.4gh"
  24.  
  25. FUNCTION ORefSet::ORefSet(increment INTEGER)
  26.         : ixVector(increment)
  27.     LET curr = 0
  28. END FUNCTION
  29.  
  30. FUNCTION ORefSet::append(ref ixObject) RETURNING INTEGER
  31.     -- Error without parentheses:
  32.     -- "This RETURN statement must provide a return value"
  33.     RETURN (insert(ref))
  34. END FUNCTION
  35.  
  36. FUNCTION ORefSet::remove(ref ixObject) RETURNING VOID
  37.     VARIABLE i INTEGER
  38.     VARIABLE obj ixObject
  39.  
  40.     FOR i = 1 TO getCount()
  41.         IF ref == get(i) THEN
  42.             LET obj = delete(i)
  43.             RETURN
  44.         END IF
  45.     END FOR
  46. END FUNCTION
  47.  
  48. FUNCTION ORefSet::size() RETURNING INTEGER
  49.     RETURN getCount()
  50. END FUNCTION
  51.  
  52. FUNCTION ORefSet::first() RETURNING ixObject
  53.     LET curr = 1
  54.     RETURN get(curr)
  55. END FUNCTION
  56.  
  57. FUNCTION ORefSet::next() RETURNING ixObject
  58.     LET curr = curr + 1
  59.     RETURN get(curr)
  60. END FUNCTION
  61.