public IntPtr ManagedToNativeAllocInlistNode(T man) { var node = new InlistNode <IntPtr>(); node.Val = ManagedToNativeAlloc(man); GCHandle pinnedData = GCHandle.Alloc(node, GCHandleType.Pinned); IntPtr ptr = pinnedData.AddrOfPinnedObject(); IntPtr nat = MemoryNative.AllocCopy(ptr, Marshal.SizeOf <InlistMem>() + Marshal.SizeOf <IntPtr>()); pinnedData.Free(); return(nat); }
/// <summary>Returns whether this <see cref="InlistNode{T}" /> is equal /// to the given <see cref="InlistNode{T}" />. /// <para>Since EFL 1.24.</para> /// </summary> /// <param name="other">The <see cref="InlistNode{T}" /> to be compared to.</param> /// <returns><c>true</c> if is equal to <c>other</c>.</returns> public bool Equals(InlistNode <T> other) => (__in_list == other.__in_list) && (Val.Equals(other.Val));