PROCEDURE RemoveFirstAppointment
(VAR list: ListOfAppointments);
BEGIN
ASSERT(list.length > 0);
list.first := list.first.next;
DEC(list.length);
END RemoveFirstAppointment;
PROCEDURE GetFirstAppointment(list: ListOfAppointments;
VAR appointment: Appointment);
BEGIN
ASSERT(list.length > 0);
appointment := list.first.appointment;
END GetFirstAppointment;
PROCEDURE IterateListOfAppointments
(VAR list: ListOfAppointments);
BEGIN
list.cursor := list.first;
END IterateListOfAppointments;
PROCEDURE GetAppointment(VAR list: ListOfAppointments;
VAR appointment: Appointment) : BOOLEAN;
BEGIN
IF list.cursor = NIL THEN
RETURN FALSE
ELSE
appointment := list.cursor.appointment;
list.cursor := list.cursor.next;
RETURN TRUE
END;
END GetAppointment;
|