kexi
tristate Class Reference
#include <tristate.h>
Detailed Description
3-state logical type with three values: true, false and cancelled and convenient operators.cancelled state can be also called dontKnow, it behaves as null in SQL. A main goal of this class is to improve readibility when there's a need for storing third, cancelled, state, especially in case C++ exceptions are not in use. With it, developer can forget about declaring a specific enum type having just three values: true, false, cancelled.
Objects of this class can be used with similar convenience as standard bool type:
- use as return value when 'cancelled'
tristate doSomething();
- convert from bool (1) or to bool (2)
tristate t = true; //(1) setVisible(t); //(2)
- clear comparisons
tristate t = doSomething(); if (t) doSomethingIfTrue(); if (!t) doSomethingIfFalse(); if (~t) doSomethingIfCancelled();
"! ~" can be used as "not cancelled".
With tristate class, developer can also forget about it's additional meaning and treat it just as a bool, if the third state is irrelevant to the current situation.
Other use for tristate class could be to allow cancellation within a callback function or a Qt slot. Example:
public slots: void validateData(tristate& result);
Definition at line 97 of file tristate.h.
Public Member Functions | |
tristate () | |
tristate (bool boolValue) | |
tristate (char c) | |
tristate (int intValue) | |
bool | operator! () const |
bool | operator~ () const |
tristate & | operator= (const tristate &tsValue) |
QString | toString () const |
Friends | |
bool | operator== (bool boolValue, tristate tsValue) |
bool | operator== (tristate tsValue, bool boolValue) |
bool | operator!= (bool boolValue, tristate tsValue) |
bool | operator!= (tristate tsValue, bool boolValue) |
Constructor & Destructor Documentation
tristate::tristate | ( | ) | [inline] |
tristate::tristate | ( | bool | boolValue | ) | [inline] |
tristate::tristate | ( | char | c | ) | [inline] |
Constructor accepting a char value.
It is converted in the following way:
- 2 -> cancelled
- 1 -> true
- other -> false
Definition at line 123 of file tristate.h.
tristate::tristate | ( | int | intValue | ) | [inline] |
Constructor accepting an integer value.
It is converted in the following way:
- 2 -> cancelled
- 1 -> true
- other -> false
Definition at line 134 of file tristate.h.
Member Function Documentation
bool tristate::operator! | ( | ) | const [inline] |
Casting to bool type with negation: true is only returned if the original tristate value is equal to false.
Definition at line 143 of file tristate.h.
bool tristate::operator~ | ( | ) | const [inline] |
Special casting to bool type: true is only returned if the original tristate value is equal to cancelled.
Definition at line 149 of file tristate.h.
QString tristate::toString | ( | ) | const [inline] |
- Returns:
- text representation of the value: "true", "false" or "cancelled".
Definition at line 164 of file tristate.h.
Friends And Related Function Documentation
bool operator== | ( | bool | boolValue, | |
tristate | tsValue | |||
) | [friend] |
Equality operator comparing a bool value boolValue
and a tristate value tsValue
.
- Returns:
- true if both
- both
tsValue
value andboolValue
are true, or - both
tsValue
value andboolValue
are false If the tristate value has value of cancelled, false is returned.
- both
Definition at line 230 of file tristate.h.
bool operator== | ( | tristate | tsValue, | |
bool | boolValue | |||
) | [friend] |
Equality operator comparing a tristate value tsValue
and a bool value boolValue
.
- Returns:
- true if both
- both
tsValue
value andboolValue
are true, or - both
tsValue
value andboolValue
are false If the tristate value has value of cancelled, false is returned.
- both
Definition at line 217 of file tristate.h.
bool operator!= | ( | bool | boolValue, | |
tristate | tsValue | |||
) | [friend] |
Inequality operator comparing a bool value boolValue
and a tristate value tsValue
.
- Returns:
- false if both
boolValue
andtsValue
are true or if bothboolValue
andtsValue
are false. Else, returns true.
Definition at line 194 of file tristate.h.
bool operator!= | ( | tristate | tsValue, | |
bool | boolValue | |||
) | [friend] |
Inequality operator comparing a tristate value tsValue
and a bool value boolValue
.
- See also:
- bool operator!=(bool boolValue, tristate tsValue)
Definition at line 204 of file tristate.h.
The documentation for this class was generated from the following file: