BOOL
using System;
using System.CodeDom.Compiler;
using System.Diagnostics;
using System.Runtime.CompilerServices;
namespace Windows.Win32.Foundation
{
[DebuggerDisplay("{Value}")]
[GeneratedCode("Microsoft.Windows.CsWin32", "0.3.151+58e949951d.RR")]
internal readonly struct BOOL : IEquatable<BOOL>
{
public const int Size = 4;
internal readonly int Value;
public static BOOL TRUE { get; } = new BOOL(true);
public static BOOL FALSE { get; } = new BOOL(false);
public static bool operator true(BOOL value)
{
return value.Value != 0;
}
public static bool operator false(BOOL value)
{
return value.Value == 0;
}
internal BOOL(int value)
{
Value = value;
}
public static implicit operator int(BOOL value)
{
return value.Value;
}
public static explicit operator BOOL(int value)
{
return new BOOL(value);
}
public static bool operator ==(BOOL left, BOOL right)
{
return left.Value == right.Value;
}
public static bool operator !=(BOOL left, BOOL right)
{
return !(left == right);
}
public bool Equals(BOOL other)
{
return Value == other.Value;
}
public override bool Equals(object obj)
{
if (obj is BOOL) {
BOOL other = (BOOL)obj;
return Equals(other);
}
return false;
}
public override int GetHashCode()
{
return Value.GetHashCode();
}
public override string ToString()
{
DefaultInterpolatedStringHandler defaultInterpolatedStringHandler = new DefaultInterpolatedStringHandler(2, 1);
defaultInterpolatedStringHandler.AppendLiteral("0x");
defaultInterpolatedStringHandler.AppendFormatted(Value, "x");
return defaultInterpolatedStringHandler.ToStringAndClear();
}
internal BOOL(bool value)
{
Value = (value ? 1 : 0);
}
public static implicit operator bool(BOOL value)
{
return value.Value != 0;
}
public static implicit operator BOOL(bool value)
{
return new BOOL(value);
}
}
}