/* version 2007.09.24, D. J. Bernstein; public domain */ #ifndef DAGBIT8_H #define DAGBIT8_H #include "dagbit.h" class dagbit16; class dagbit32; class dagbit8 { public: dagbit b[8]; dagbit8(); dagbit8(int); dagbit8(dagbit16); dagbit8(dagbit32); void key(long long,int); void input(long long,int); void output(long long); dagbit8& operator=(int); dagbit8& operator=(const dagbit8&); friend dagbit8 operator~(dagbit8); friend dagbit8 operator&(dagbit8,dagbit8); friend dagbit8 operator|(dagbit8,dagbit8); friend dagbit8 operator^(dagbit8,dagbit8); friend dagbit8 operator+(dagbit8,dagbit8); friend dagbit8 operator-(dagbit8,dagbit8); friend dagbit8 operator<<(dagbit8,int); friend dagbit8 operator>>(dagbit8,int); dagbit8& operator&=(const dagbit8 &x) { *this = *this & x; } dagbit8& operator|=(const dagbit8 &x) { *this = *this | x; } dagbit8& operator^=(const dagbit8 &x) { *this = *this ^ x; } dagbit8& operator+=(const dagbit8 &x) { *this = *this + x; } dagbit8& operator-=(const dagbit8 &x) { *this = *this - x; } dagbit8& operator<<=(int n) { *this = *this << n; } dagbit8& operator>>=(int n) { *this = *this >> n; } } ; #endif