Как лучше всего реализовать трехзначную логику в Delphi?
Я думал о
type
TExtBoolean = (ebTrue, ebFalse, ebUnknown);
с
function ExtOr(A: TExtBoolean; B: TExtBoolean): TExtBoolean;
begin
if (A = ebTrue) or (B = ebTrue) then
Result := ebTrue
else if (A = ebFalse) and (B = ebFalse) then
Result := ebFalse
else
Result := ebUnknown;
end;
и т.д.
Но это, кажется, не очень элегантно. Существует ли лучший способ?
Изменить: С элегантностью я имею в виду простую в использовании. Чем элегантнее реализация, тем лучше. Эффективность процессора для меня не важна.