// One's Complement public static SqlBoolean operator ~(SqlBoolean x) { SqlBoolean b; if (x.IsTrue) { b = new SqlBoolean(false); } else { b = new SqlBoolean(true); } return b; }
// Helper method to Compare methods and operators. // Returns 0 if x == y // 1 if x > y // -1 if x < y private static int Compare(SqlBoolean x, SqlBoolean y) { if (x == y) { return 0; } if (x.IsTrue && y.IsFalse) { return 1; } if (x.IsFalse && y.IsTrue) { return -1; } return 0; }
public static SqlBoolean Or(SqlBoolean x, SqlBoolean y) { return (x | y); }
// Bitwise exclusive-OR (XOR) public static SqlBoolean Xor(SqlBoolean x, SqlBoolean y) { return (x ^ y); }
public static SqlBoolean NotEquals(SqlBoolean x, SqlBoolean y) { return (x != y); }
public static SqlBoolean OnesComplement(SqlBoolean x) { return ~x; }
public static SqlBoolean LessThan(SqlBoolean x, SqlBoolean y) { return (x < y); }
public static SqlBoolean LessThanOrEquals(SqlBoolean x, SqlBoolean y) { return (x <= y); }
public static SqlBoolean GreaterThanOrEquals(SqlBoolean x, SqlBoolean y) { return (x >= y); }
public static SqlBoolean GreaterThan(SqlBoolean x, SqlBoolean y) { return (x > y); }
public static SqlBoolean Equals(SqlBoolean x, SqlBoolean y) { return (x == y); }
public int CompareTo(SqlBoolean value) { if (value.IsNull) { return 1; } else { return this.value.CompareTo(value.ByteValue); } }
public static SqlBoolean And(SqlBoolean x, SqlBoolean y) { return (x & y); }