-/* ridiculous! all to shut microsoft up about ambiguous byte definitions,
-which seems like a bug.
-struct byte {
- byte(unsigned char b = 0) : c_data(b) {}
-// byte(char b) : c_data(b) {}
- operator unsigned char() const { return c_data; }
- operator char() const { return c_data; }
- operator int() const { return c_data; }
- operator unsigned int() const { return c_data; }
- operator bool() const { return (bool)c_data; }
- byte operator &(byte and_with) { return c_data & and_with; }
- byte operator |(byte or_with) { return c_data & or_with; }
- unsigned char c_data;
-};
-*/