> Why do you want to bother with a non-standard,
> unportable extension instead of just writing:
> 
> inline bool isSystemClosed()
> { return !isSystemOpen; }
> 
> Which is simple, conventional, easy to understand
> and portable.
> 
> Or in C++ just define a suitable type, instead of
> needing changes to the core language:
> 
> struct inv_bool {
>   bool& b;
>   operator bool() const { return !b; }
> };
> 
> inv_bool isSystemClosed = { isSystemOpen };

There are certain fundamentals in data processing.  The inverse bool is one of 
them.  Why not be able to reference it more naturally in code utilizing 
something the compiler already knows about and can wield effortlessly?

I've thought more about the syntax, and I see this making more sense:
bool isSystemOpen[!isSystemClosed];

As the inverse bool relationship is fundamental in software, I hope this will 
become a C/C++ standard.

Best regards,
Rick C. Hodgin

Reply via email to