18#ifndef __BIT_OPERATIONS_H
19#define __BIT_OPERATIONS_H
29template<
class T>
inline T
operator~ (T a) {
return (T)~(int)a; }
30template<
class T>
inline T
operator| (T a, T b) {
return (T)((int)a | (
int)b); }
31template<
class T>
inline T
operator& (T a, T b) {
return (T)((int)a & (
int)b); }
32template<
class T>
inline T
operator^ (T a, T b) {
return (T)((int)a ^ (
int)b); }
33template<
class T>
inline T&
operator|= (T& a, T b) {
return (T&)((
int&)a |= (
int)b); }
34template<
class T>
inline T&
operator&= (T& a, T b) {
return (T&)((
int&)a &= (
int)b); }
35template<
class T>
inline T&
operator^= (T& a, T b) {
return (T&)((
int&)a ^= (
int)b); }
T & operator&=(T &a, T b)
T & operator^=(T &a, T b)
T & operator|=(T &a, T b)