//---------------------------------------------------------------------------- // Copyright (C) 2004-2023 by EMGU Corporation. All rights reserved. //---------------------------------------------------------------------------- using System; namespace Emgu.Util { /// /// An Unmanaged Object is a disposable object with a Ptr property pointing to the unmanaged object /// public abstract class UnmanagedObject : DisposableObject { /// /// A pointer to the unmanaged object /// protected IntPtr _ptr; /// /// Pointer to the unmanaged object /// public IntPtr Ptr { get { return _ptr; } } /// /// Implicit operator for IntPtr /// /// The UnmanagedObject /// The unmanaged pointer for this object public static implicit operator IntPtr(UnmanagedObject obj) { return obj == null ? IntPtr.Zero : obj._ptr; } } }