28 #if !defined(MYSQLPP_TINY_INT_H) 29 #define MYSQLPP_TINY_INT_H 54 template <
typename VT =
signed char>
83 return static_cast<int>(value_);
95 value_ = static_cast<value_type>(v);
102 value_ += static_cast<value_type>(v);
109 value_ -= static_cast<value_type>(v);
116 value_ *= static_cast<value_type>(v);
123 value_ /= static_cast<value_type>(v);
131 value_ %= static_cast<value_type>(v);
138 value_ &= static_cast<value_type>(v);
145 value_ |= static_cast<value_type>(v);
152 value_ ^= static_cast<value_type>(v);
159 value_ <<= static_cast<value_type>(v);
166 value_ >>= static_cast<value_type>(v);
204 return value_ - i.value_;
210 return value_ + i.value_;
216 return value_ * i.value_;
222 return value_ / i.value_;
228 return value_ % i.value_;
234 return value_ | i.value_;
240 return value_ & i.value_;
246 return value_ ^ i.value_;
252 return value_ << i.value_;
258 return value_ >> i.value_;
264 return value_ == i.value_;
270 return value_ != i.value_;
276 return value_ < i.value_;
282 return value_ > i.value_;
288 return value_ <= i.value_;
294 return value_ >= i.value_;
302 template <
typename VT>
305 os << static_cast<int>(i);
this_type & operator|=(int v)
Bitwise OR this value by another value.
Definition: tiny_int.h:143
this_type & operator<<=(int v)
Shift this value left by v positions.
Definition: tiny_int.h:157
this_type & operator -=(int v)
Subtract another value to this object.
Definition: tiny_int.h:107
this_type operator --(int)
Subtract one from this value and return the previous value.
Definition: tiny_int.h:194
bool operator !=(const this_type &i) const
Check for inequality.
Definition: tiny_int.h:268
this_type & operator %=(int v)
Divide this value by another object and store the remainder.
Definition: tiny_int.h:129
this_type operator *(const this_type &i) const
Return this value multiplied by i.
Definition: tiny_int.h:214
this_type & operator ^=(int v)
Bitwise XOR this value by another value.
Definition: tiny_int.h:150
this_type operator/(const this_type &i) const
Return this value divided by i.
Definition: tiny_int.h:220
tiny_int(value_type v)
Create object from any integral type that can be converted to a short int.
Definition: tiny_int.h:69
this_type operator -(const this_type &i) const
Return this value minus i.
Definition: tiny_int.h:202
this_type & operator *=(int v)
Multiply this value by another object.
Definition: tiny_int.h:114
this_type operator ^(const this_type &i) const
Return this value bitwise XOR'd by i.
Definition: tiny_int.h:244
tiny_int< VT > this_type
alias for this object's type
Definition: tiny_int.h:59
bool operator >=(const this_type &i) const
Check this object is greater than or equal to another.
Definition: tiny_int.h:292
bool operator >(const this_type &i) const
Check that this object is greater than another.
Definition: tiny_int.h:280
Class for holding an SQL TINYINT value.
Definition: tiny_int.h:55
this_type & operator=(int v)
Assign a new value to the object.
Definition: tiny_int.h:93
this_type operator+(const this_type &i) const
Return this value plus i.
Definition: tiny_int.h:208
this_type operator|(const this_type &i) const
Return this value bitwise OR'd by i.
Definition: tiny_int.h:232
this_type operator >>(const this_type &i) const
Return this value bitwise shifted right by i.
Definition: tiny_int.h:256
this_type & operator/=(int v)
Divide this value by another object.
Definition: tiny_int.h:121
bool operator==(const this_type &i) const
Check for equality.
Definition: tiny_int.h:262
tiny_int()
Default constructor.
Definition: tiny_int.h:65
bool operator<=(const this_type &i) const
Check this object is less than or equal to another.
Definition: tiny_int.h:286
this_type & operator --()
Subtract one from this value and return that value.
Definition: tiny_int.h:178
this_type & operator+=(int v)
Add another value to this object.
Definition: tiny_int.h:100
this_type & operator &=(int v)
Bitwise AND this value by another value.
Definition: tiny_int.h:136
this_type operator &(const this_type &i) const
Return this value bitwise AND'd by i.
Definition: tiny_int.h:238
This file includes top-level definitions for use both internal to the library, and outside it....
this_type operator<<(const this_type &i) const
Return this value bitwise shifted left by i.
Definition: tiny_int.h:250
VT value_type
alias for type of internal value
Definition: tiny_int.h:60
this_type & operator++()
Add one to this value and return that value.
Definition: tiny_int.h:171
bool operator<(const this_type &i) const
Check that this object is less than another.
Definition: tiny_int.h:274
this_type & operator >>=(int v)
Shift this value right by v positions.
Definition: tiny_int.h:164
this_type operator %(const this_type &i) const
Return the modulus of this value divided by i.
Definition: tiny_int.h:226