Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
 /// <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));