-- This file is generated by SWIG. Please do not modify by hand.
--
with Interfaces.C;
use Interfaces.C;
with Interfaces.C.Pointers;

package box2d_c.joint_Cursor is

   -- Item
   --

   type Item is record
      Joint : access box2d_c.b2Joint;
   end record;

   -- Item_Array
   --
   type Item_Array is
     array (Interfaces.C.size_t range <>) of aliased box2d_c.joint_Cursor.Item;

   -- Pointer
   --
   package C_Pointers is new Interfaces.C.Pointers
     (Index => Interfaces.C.size_t, Element => box2d_c.joint_Cursor.Item,
      Element_Array      => box2d_c.joint_Cursor.Item_Array,
      Default_Terminator => (others => <>));

   subtype Pointer is C_Pointers.Pointer;

   -- Pointer_Array
   --
   type Pointer_Array is
     array
       (Interfaces.C.size_t range <>) of aliased box2d_c.joint_Cursor.Pointer;

   -- Pointer_Pointer
   --
   package C_Pointer_Pointers is new Interfaces.C.Pointers
     (Index => Interfaces.C.size_t, Element => box2d_c.joint_Cursor.Pointer,
      Element_Array      => box2d_c.joint_Cursor.Pointer_Array,
      Default_Terminator => null);

   subtype Pointer_Pointer is C_Pointer_Pointers.Pointer;

   function construct return box2d_c.joint_Cursor.Item;

   procedure destruct_0 (Self : in box2d_c.joint_Cursor.Item);

   procedure destruct (Self : in box2d_c.joint_Cursor.Item);

private

   pragma Import (CPP, construct, "ada_new_joint_Cursor_joint_Cursor");
   pragma Import (CPP, destruct_0, "_ZN12joint_CursorD1Ev");
   pragma Import (CPP, destruct, "_ZN12joint_CursorD1Ev");

end box2d_c.joint_Cursor;
