-- $Source: /home/harp/1/proto/monoBANK/winnt/extensible.ads,v $
-- $Revision: 1.5 $ $Date: 96/09/04 07:59:23 $ $Author: mg $
with Interfaces.C;
generic
type Fixed_Rec is private;
type Extensible_Elem is private;
Position_Of_Extensible_Array: Natural;
package Extensible is
Max: constant := Interfaces.C.Unsigned'Last; -- GNAT
-- Max: constant := 1000; -- Alsys, Verdix
subtype Big_Range is Interfaces.C.Unsigned range 0..Max;
type Big_Array is array (Big_Range) of aliased Extensible_Elem;
type Big_Array_Ptr is access all Big_Array;
type Fixed_Ptr is access all Fixed_Rec;
type Extended_Ptr is private;
function Allocate (Actual_Elems: Big_Range) return Extended_Ptr;
procedure Free (Ptr: in out Extended_Ptr);
function Fixed_Part (Ptr: Extended_Ptr) return Fixed_Ptr;
function Array_Part (Ptr: Extended_Ptr) return Big_Array_Ptr;
private
type Extended_Rec;
type Extended_Ptr is access Extended_Rec;
pragma Inline(Allocate);
pragma Inline(Free);
pragma Inline(Fixed_Part);
pragma Inline(Array_Part);
-------------------------------------------------------------------------------
--
-- THIS FILE AND ANY ASSOCIATED DOCUMENTATION IS FURNISHED "AS IS" WITHOUT
-- WARRANTY OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED
-- TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
-- PURPOSE. The user assumes the entire risk as to the accuracy and the
-- use of this file.
--
-- Copyright (c) Intermetrics, Inc. 1995
-- Royalty-free, unlimited, worldwide, non-exclusive use, modification,
-- reproduction and further distribution of this file is permitted.
--
-------------------------------------------------------------------------------
end Extensible;