Index

Package: User_Data_Closure (generic)

Description

generic
      type User_Data_Type (<>) is private;
      with procedure Destroy (Data : in out User_Data_Type);
   package User_Data_Closure is

Types

User_Data_Type

type User_Data_Type (<>) is private;

Data_Access

type Data_Access is access all User_Data_Type;

Internal_Data

type Internal_Data is record
         Func       : System.Address;  --  The actual user callback
         Data       : Data_Access;
      end record;

Internal_Data_Access

type Internal_Data_Access is access all Internal_Data;

Subprograms & Entries

Destroy

procedure Destroy 
(Data: in out User_Data_Type);

Convert

function Convert is new Ada.Unchecked_Conversion 
(System.Address, Internal_Data_Access);

Build

function Build 
(Func: System.Address;
Data: User_Data_Type) return System.Address;

Free_Data

procedure Free_Data 
(Data: System.Address);