BitMask
#define BITMASK(high, low) ((unsigned long long)(BitMask<high, low>::value))
enum { value = (BitMask<h-l-1,0>::value +
struct BitMask<-1,0>