51 INT_INT = (3 << 16) | (
sizeof(
int) << 8) | 1,
55 INT_LONG = (4 << 16) | (
sizeof(
long) << 8) | 1,
59 INT_LLONG = (5 << 16) | (
sizeof(
long long) << 8) | 1,
86 return (
_type & 0xff00) >> 8;
93 unsigned long long raw()
const {
static integer_type result_type(integer const &lhs, integer const &rhs)
unsigned long long raw() const
Get the bits comprising the integer as an unsigned long long
void make_unsigned()
Make the integer unsigned.
integer operator&&(integer const &rhs) const
size_t size() const
Get the size of the integer
integer operator>(integer const &rhs) const
void make_signed()
Make the integer signed.
integer operator<(integer const &rhs) const
bool good() const
Say whether the integer is of valid type, not INT_UNDEF
integer operator*(integer const &rhs) const
static integer_type to_signed(integer_type type)
integer_type _type
The type of the integer.
integer operator^(integer const &rhs) const
Undetermined type or invalid.
Class integer encapsulates an integer of some type.
integer operator>=(integer const &rhs) const
integer operator+() const
integer operator-() const
static bool valid_shift(int direction, integer const &lhs, integer const &rhs)
integer(integer_type type=INT_INT, unsigned long long val=0)
char const * type_desc() const
Get the text descriptor of this integer's type.
static unsigned rank_of(integer_type type)
integer_type
Enumerated constants denoting integral types.
struct integer_constant encapsulates an integer constant
integer operator/(integer const &rhs) const
integer operator~() const
integer operator==(integer const &rhs) const
unsigned long long _val
The value of the integer
integer operator<=(integer const &rhs) const
unsigned rank() const
Get the conversion rank of an integer
integer_type type() const
Get the type of the integer
integer operator<<(integer const &rhs) const
integer operator|(integer const &rhs) const
integer operator&(integer const &rhs) const
integer operator>>(integer const &rhs) const
integer operator!=(integer const &rhs) const
static integer_type to_unsigned(integer_type type)
integer operator%(integer const &rhs) const
integer operator!() const
integer operator||(integer const &rhs) const
bool is_signed() const
Say whether the integer is of signed type.