i don't know if the compiler supports it. atm flags are set via set() or reset() which implies the define-stuff with one or several big flag integers.

the 0 and -1 thing is due to the way negative numbers are stored in computers, it is always something like from -n,-n+1,...,0,...,n-1 - there's always one more negative number than positive numbers. i guess when you use unsigned it will be 0 and 1.

what are bit members (@saturnus), if i may ask?