Boost logo

Boost :

From: Rob Stewart (stewart_at_[hidden])
Date: 2002-08-02 09:15:17

It seems to me that the default ctor should initialize the state to
indeterminate (or whatever it will be called). Since bool doesn't have a
default ctor, this is the most logical behavior for tribool.

I agree with the sentiments regarding the name. Of those suggested thus far, I
like tristate.

I don't think such a simple type should be overly complicated with support for
various numbers of states unless it can be managed by a template and typedef
approach. If a tristate version of such a template uses {true,false,unknown},
while a quadstate version uses {true,false,maybe_true,maybe_false}, etc. -- that
is, each variation can have its own names for the values such that they are
sensible for the number of states -- then it will be sensible. Without those
characteristics, it will be too unwieldy.

I can't think of a use for n-state logic at the moment in my current efforts,
but several of the suggested uses did resonate with me. For example, I have
done GUI programming in the past and a tristate variable would work very nicely
to represent the tristate checkboxes in many GUIs. I can imagine that I might
have need for a tristate class in the future, so it would be nice to have it
available. Unfortunately, I can't say that it is a current or recent need.

Rob Stewart                           stewart_at_[hidden]
Software Engineer           
Susquehanna International Group, LLP  using std::disclaimer;

Boost list run by bdawes at, gregod at, cpdaniel at, john at