This enum hack is outdated and not necessary on modern compilers. Use static constants instead. And the decision-making ?: operator is completely unnecessary.



template < unsigned int B,...