Hosted by
|
with Limited_Lists;
generic
type Content_Type is private;
package Lists is
package Inner_Lists is new Limited_Lists(Content_Type);
subtype List is Inner_Lists.List;
subtype List_Access is Inner_Lists.List_Access;
subtype Item is Inner_Lists.Item;
subtype Item_Access is Inner_Lists.Item_Access;
function Create
return List_Access
renames Inner_Lists.Create;
procedure Push
(This : access List;
Content : in Content_Type);
procedure Unshift
(This : access List;
Content : in Content_Type);
procedure Append
(This : access List;
Tail : access List)
renames Inner_Lists.Append;
function Count
(This : access List)
return Natural
renames Inner_Lists.Count;
function Empty
(This : access List)
return Boolean
renames Inner_Lists.Empty;
function Index
(This : access List)
return Natural
renames Inner_Lists.Index;
function First
(This : access List)
return Content_Type
renames Inner_Lists.First;
function Last
(This : access List)
return Content_Type
renames Inner_Lists.Last;
procedure Reset
(This : access List)
renames Inner_Lists.Reset;
procedure Next
(This : access List)
renames Inner_Lists.Next;
function Next
(This : access List)
return Boolean
renames Inner_Lists.Next;
function Next_Available
(This : access List)
return Boolean
renames Inner_Lists.Next_Available;
function Next_Content
(This : access List)
return Content_Type
renames Inner_Lists.Next_Content;
function End_Of_List
(This : access List)
return Boolean
renames Inner_Lists.End_Of_List;
function Current
(This : access List)
return Content_Type
renames Inner_Lists.Current;
procedure Update_Current
(This : access List;
Content : in Content_Type);
procedure Remove_Current
(This : access List)
renames Inner_Lists.Remove_Current;
procedure Insert_Before_Current
(This : access List;
Content : in Content_Type);
procedure Insert_After_Current
(This : access List;
Content : in Content_Type);
function First_Item
(This : access List)
return Item_Access
renames Inner_Lists.First_Item;
function Last_Item
(This : access List)
return Item_Access
renames Inner_Lists.Last_Item;
function Current_Item
(This : access List)
return Item_Access
renames Inner_Lists.Current_Item;
procedure Next_Item
(This : in out Item_Access)
renames Inner_Lists.Next_Item;
function Next_Item
(This : access Item)
return Item_Access
renames Inner_Lists.Next_Item;
function Item_Invalid
(This : in Item_Access)
return Boolean
renames Inner_Lists.Item_Invalid;
function Item_Equals
(This : in Item_Access;
Other : in Item_Access)
return Boolean
renames Inner_Lists.Item_Equals;
function Item_Content
(This : access Item)
return Content_Type
renames Inner_Lists.Item_Content;
procedure Update_Item
(This : access Item;
Content : in Content_Type);
procedure Remove_Item
(Previous : in Item_Access;
This : in out Item_Access;
Context : access List)
renames Inner_Lists.Remove_Item;
end Lists;
|