#pragma warning(default:4554)template <typename t_CInteger>struct TCGetHighestBitSetStaticHelper{ template <t_CInteger t_CurrentNumber, bool t_bIsZero = t_CurrentNumber == t_CInteger(0)> struct TCInternal { enum { mc_Value = 1 + TCInternal< t_CInteger(t_CurrentNumber >> 1), t_CInteger(t_CurrentNumber >> 1) == 0 >::mc_Value }; }; template <t_CInteger t_CurrentNumber2> struct TCInternal<t_CurrentNumber2, true> { enum { mc_Value = 0 }; };};template <typename t_CInteger, t_CInteger t_CurrentNumber>struct TCHighestBitSet { enum { mc_Value = TCGetHighestBitSetStaticHelper<t_CInteger>::template TCInternal<t_CurrentNumber>::mc_Value };};template <int t_MantissaBits>class TCStrFormatType_Float{public: enum { EMantissaBits = t_MantissaBits + 8, EMinExponentBits = TCHighestBitSet<int, EMantissaBits + (EMantissaBits - 1)>::mc_Value + 2 };};int _tmain(int argc, _TCHAR* argv[]){ TCStrFormatType_Float<52> Float; return 0;}
Visual Studio/Silverlight/Tooling version
What category (if any) best represents this feedback?
Steps to reproduce
Product Language
Operating System
Operating System Language
Actual results
Expected results
Locale
Please wait...