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

package c_math_c.Vector_2 is

   -- Item
   --

   type Item is record
      x : aliased c_math_c.Real;
      y : aliased c_math_c.Real;
   end record;

   -- Items
   --
   type Items is
     array (Interfaces.C.size_t range <>) of aliased c_math_c.Vector_2.Item;

   -- Pointer
   --
   type Pointer is access all c_math_c.Vector_2.Item;

   -- Pointers
   --
   type Pointers is
     array (Interfaces.C.size_t range <>) of aliased c_math_c.Vector_2.Pointer;

   -- Pointer_Pointer
   --
   type Pointer_Pointer is access all c_math_c.Vector_2.Pointer;

   function construct return c_math_c.Vector_2.Item;

   function construct
     (x : in c_math_c.Real;
      y : in c_math_c.Real) return c_math_c.Vector_2.Item;

private

   function construct_v1 return c_math_c.Vector_2.Item;

   function construct return c_math_c.Vector_2.Item renames construct_v1;

   pragma Import (C, construct_v1, "Ada_new_Vector_2__SWIG_0");

   function construct_v2
     (x : in c_math_c.Real;
      y : in c_math_c.Real) return c_math_c.Vector_2.Item;

   function construct
     (x : in c_math_c.Real;
      y : in c_math_c.Real) return c_math_c.Vector_2.Item renames
     construct_v2;

   pragma Import (C, construct_v2, "Ada_new_Vector_2__SWIG_1");

end c_math_c.Vector_2;
