Package: Ahven.Listeners.Result_Listener_List

Dependencies

with Ada.Finalization;

Description

Copyright (c) 2006, 2007, 2008 Tero Koskinen <tero.koskinen@iki.fi>

Permission to use, copy, modify, and distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.

THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.


Header

package Ahven.Listeners.Result_Listener_List is
 

Exceptions

Invalid_Iterator
List_Empty
Out_Of_Range

Type Summary

Iterator
Primitive Operations:  Data, First, Is_Valid, Last, Next, Prev
List derived from Controlled
New Operations:  Append, Empty, First, Last, Remove_All, Size
Inherited Operations:  Adjust, Finalize, Initialize

Constants and Named Numbers

Empty_List : constant List;
A list with zero elements. For example, can be used for initialization.

Other Items:

type Iterator is private;

type List is new Ada.Finalization.Controlled with private;
List is a Controlled type. You can safely copy it. Although, notice that if you have a list of pointers (access types), only the pointers are copied, not the objects they point at.

procedure Append (This_List : in out List;
                  Node_Data : Listeners.Result_Listener_Class_Access);
Append an element at the end of the list.

procedure Remove_All (This_List : in out List);
Remove all elements from the list.

function Empty (This_List : List) return Boolean;
Is the list empty?

function First (This_List : List) return Iterator;
Return an iterator to the first element of the list.

function Last (This_List : List) return Iterator;
Return an iterator to the last element of the list.

function Next (Iter : Iterator) return Iterator;
Move the iterator to point to the next element on the list.

function Prev (Iter : Iterator) return Iterator;
Move the iterator to point to the previous element on the list.

function Data (Iter : Iterator)
  return Listeners.Result_Listener_Class_Access;
Return element pointed by the iterator.

function Size (This_List : List) return Natural;
Return the size of the list.

function Is_Valid (Iter : Iterator) return Boolean;
Is Iterator still valid or out of range?

private

   --  Implementation-defined ...
end Ahven.Listeners.Result_Listener_List;