private void Dispose(bool disposing)
        {
            KSoft.Util.MarkUnusedVariable(ref disposing);

            // check to see if we've already been called
            if (mHandle != IntPtr.Zero)
            {
                Unmanaged.Delete(mHandle);
                mHandle = IntPtr.Zero;
            }
        }
 /// <summary>Copy an existing object value into the underlying object</summary>
 /// <param name="value"></param>
 public void FromValue(T value)
 {
     Unmanaged.StructureToPtr(value, mHandle);
 }
 /// <summary>Initialize the manager and allocate the underlying object</summary>
 public StructBitManager()
 {
     mHandle = Unmanaged.New <T>();
 }
 public T ToValue()
 {
     return(Unmanaged.IntPtrToStructure <T>(mHandle));
 }