[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-core-devel
Subject:    Re: RFC: A new helper class
From:       Allan Sandfeld Jensen <kde () carewolf ! com>
Date:       2004-10-04 13:36:30
Message-ID: 200410041536.31398.kde () carewolf ! com
[Download RAW message or body]

On Monday 04 October 2004 14:42, Jarosław Staniek wrote:
> Hello,
> Many of us do not use C++ exceptions, while sometimes it's usable to use
> 3-state logic because boolean is not enough. The 3rd state means sometimes
> 'cancelled' or 'dontKnow'. Moreover, this logic is also havily used for
> relational databases. My proposal is a lightweight 'tristate' class as a
> companion to bool type:
>
> http://www.iidea.pl/~js/kexi/download/tristate.h
>
> As you can see, the class is 'inline' and there are convenient operators.
> I used the class in Kexi's code and thus decreased complexity pretty much
> and cleaned up the code and the API (removed many "bool &cancelled"
> parameters). Example real-life usage:
>
> http://www.iidea.pl/~js/kexi/download/kexidialogbase.cpp
>
> Within KDE CVS the class can be located as koffice/kexi/tristate.h.
> Currently, application developers are free to use the class by copying the
> file (later maybe that it will be moved to more official place?).

Maybe I am old-fashioned, but I prefer the traditional C-way of representing 
this:
int ret;
ret>0 -> true
ret==0 -> false
ret<0 -> error/exception

It provides more than one abnormal termination type, which you often need, and 
this scheme can also handle any function with positive integer return-types.

`Allan
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic