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);
- Author:
- Jaroslaw Staniek
Definition at line 97 of file tristate.h.
Public Member Functions | |
tristate () | |
tristate (bool boolValue) | |
tristate (char c) | |
tristate (int intValue) | |
operator bool () const | |
bool | operator! () const |
bool | operator~ () const |
tristate & | operator= (const tristate &tsValue) |
Friends | |
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
tristate::operator bool | ( | ) | const [inline] |
Casting to bool type: true is only returned if the original tristate value is equal to true.
Definition at line 143 of file tristate.h.
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 149 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 155 of file tristate.h.
Friends And Related Function Documentation
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 196 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 186 of file tristate.h.
The documentation for this class was generated from the following file: