Annotation of OpenXM_contrib/PHC/Ada/Math_Lib/Polynomials/generic_lists.ads, Revision 1.1
1.1 ! maekawa 1: generic
! 2:
! 3: type Item is private;
! 4:
! 5: package Generic_Lists is
! 6:
! 7: -- DESCRIPTION :
! 8: -- This generic package allows to implement lists of items.
! 9:
! 10: type List is private;
! 11:
! 12: Null_List : constant List;
! 13:
! 14: Overflow : exception;
! 15: List_Is_Null : exception;
! 16:
! 17: -- CONSTRUCTORS :
! 18:
! 19: procedure Construct ( i : in Item; l : in out List );
! 20:
! 21: -- DESCRIPTION :
! 22: -- Adds the item i to the front of the list l.
! 23:
! 24: procedure Set_Head ( l : in out List; i : in Item);
! 25:
! 26: -- DESCRIPTION :
! 27: -- Sets the first element in the list to item i.
! 28:
! 29: -- REQUIRED : not Is_Null(l).
! 30:
! 31: procedure Swap_Tail ( l1,l2 : in out List );
! 32:
! 33: -- DESCRIPTION :
! 34: -- Swaps the tail of list l1 with the list l2.
! 35:
! 36: procedure Append ( first,last : in out List; i : in Item );
! 37:
! 38: -- DESCRIPTION :
! 39: -- Appends the item i to the list, where first points to the first
! 40: -- element and last to its last element.
! 41:
! 42: procedure Concat ( first,last : in out List; l : in List );
! 43:
! 44: -- DESCRIPTION :
! 45: -- Concatenates the list l to the list first, where last points to
! 46: -- the last element of the list.
! 47:
! 48: procedure Copy ( l1 : in List; l2 : in out List );
! 49:
! 50: -- DESCRIPTION :
! 51: -- Makes a copy from the list l1 to the list l2.
! 52:
! 53: -- SELECTORS :
! 54:
! 55: function Is_Equal ( l1,l2 : List ) return boolean;
! 56:
! 57: -- DESCRIPTION :
! 58: -- Returns true if both lists are equal.
! 59:
! 60: function Length_Of ( l : List ) return natural;
! 61:
! 62: -- DESCRIPTION :
! 63: -- Returns the length of the list, i.e.: the number of elements.
! 64:
! 65: function Is_Null ( l : List ) return boolean;
! 66:
! 67: -- DESCRIPTION :
! 68: -- Returns true if the list is empty, false otherwise.
! 69:
! 70: function Head_Of ( l : List) return Item;
! 71:
! 72: -- DESCRIPTION :
! 73: -- Returns the first element in the list.
! 74:
! 75: -- REQUIRED : not Is_Null(l).
! 76:
! 77: function Tail_Of ( l : List ) return List;
! 78:
! 79: -- DESCRIPTION :
! 80: -- Returns the tail of the list l.
! 81:
! 82: -- REQUIRED : not Is_Null(l).
! 83:
! 84: -- DESTRUCTOR :
! 85:
! 86: procedure Clear ( l : in out List );
! 87:
! 88: -- DESCRIPTION :
! 89: -- Deallocates the memory occupied by the elements in the list.
! 90:
! 91: private
! 92:
! 93: type Node;
! 94: type List is access Node;
! 95: Null_List : constant List := null;
! 96:
! 97: end Generic_Lists;
FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>