#ifndef BASE_BITS_H #define BASE_BITS_H //---------------------------------------------------------------- namespace base { template bool test_bit(T flag, unsigned bit) { return flag & (1 << bit); } template void set_bit(T &flag, unsigned bit) { flag = flag | (1 << bit); } template void clear_bit(T &flag, unsigned bit) { flag = flag & ~(1 << bit); } } //---------------------------------------------------------------- #endif