//----------------------------------------------------------------------------
// 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;
}
}
}