private static IntPtr create(DeviceViewable[] objs, string[] name_objs) { CapturedDeviceViewable_clr[] arg_map = new CapturedDeviceViewable_clr[objs.Length]; for (int i = 0; i < objs.Length; i++) { arg_map[i].obj = objs[i].m_cptr; arg_map[i].obj_name = Marshal.StringToHGlobalAnsi(name_objs[i]); } return(Native.dvtuple_create(arg_map)); }
private static IntPtr create(DeviceViewable[] objs, string[] name_objs, string name_idx, string code_body, string elem_cls, long size, bool read_only) { CapturedDeviceViewable_clr[] arg_map = new CapturedDeviceViewable_clr[objs.Length]; for (int i = 0; i < objs.Length; i++) { arg_map[i].obj = objs[i].m_cptr; arg_map[i].obj_name = Marshal.StringToHGlobalAnsi(name_objs[i]); } return(Native.dvcustomvector_create(arg_map, Marshal.StringToHGlobalAnsi(name_idx), Marshal.StringToHGlobalAnsi(code_body), Marshal.StringToHGlobalAnsi(elem_cls), (ulong)size, read_only)); }
private static IntPtr create(DeviceViewable[] objs, string[] name_objs, string[] functor_params, string code_body) { CapturedDeviceViewable_clr[] arg_map = new CapturedDeviceViewable_clr[objs.Length]; for (int i = 0; i < objs.Length; i++) { arg_map[i].obj = objs[i].m_cptr; arg_map[i].obj_name = Marshal.StringToHGlobalAnsi(name_objs[i]); } IntPtr[] p_functor_params = new IntPtr[functor_params.Length]; for (int i = 0; i < functor_params.Length; i++) { p_functor_params[i] = Marshal.StringToHGlobalAnsi(functor_params[i]); } IntPtr p_code_body = Marshal.StringToHGlobalAnsi(code_body); return(Native.functor_create(arg_map, p_functor_params, p_code_body)); }