Browse Source

Oops - bits parameter isn't actually used any more

Michael Hansen 10 years ago
parent
commit
2cb19d3308
  1. 72
      Sources/Plasma/CoreLib/plFormat.cpp

72
Sources/Plasma/CoreLib/plFormat.cpp

@ -187,7 +187,7 @@ namespace plFormat_Private
} }
} }
template <typename _IType, size_t bits> template <typename _IType>
void _IFormatNumeric_Impl(char *output_end, _IType value, int radix, bool upperCase = false) void _IFormatNumeric_Impl(char *output_end, _IType value, int radix, bool upperCase = false)
{ {
if (value == 0) { if (value == 0) {
@ -210,7 +210,7 @@ void _IFormatNumeric_Impl(char *output_end, _IType value, int radix, bool upperC
} }
} }
template <typename _IType, size_t bits> template <typename _IType>
static plStringBuffer<char> _formatNumeric(const plFormat_Private::FormatSpec &format, static plStringBuffer<char> _formatNumeric(const plFormat_Private::FormatSpec &format,
_IType value, int radix, bool upperCase = false) _IType value, int radix, bool upperCase = false)
{ {
@ -231,15 +231,15 @@ static plStringBuffer<char> _formatNumeric(const plFormat_Private::FormatSpec &f
char *output = buffer.CreateWritableBuffer(format.fPrecisionLeft); char *output = buffer.CreateWritableBuffer(format.fPrecisionLeft);
memset(output, pad, format.fPrecisionLeft); memset(output, pad, format.fPrecisionLeft);
if (format.fAlignment == plFormat_Private::kAlignLeft) { if (format.fAlignment == plFormat_Private::kAlignLeft) {
_IFormatNumeric_Impl<_IType, bits>(output + max, value, radix, upperCase); _IFormatNumeric_Impl<_IType>(output + max, value, radix, upperCase);
} else { } else {
_IFormatNumeric_Impl<_IType, bits>(output + format.fPrecisionLeft, _IFormatNumeric_Impl<_IType>(output + format.fPrecisionLeft,
value, radix, upperCase); value, radix, upperCase);
} }
output[format.fPrecisionLeft] = 0; output[format.fPrecisionLeft] = 0;
} else { } else {
char *output = buffer.CreateWritableBuffer(max); char *output = buffer.CreateWritableBuffer(max);
_IFormatNumeric_Impl<_IType, bits>(output + max, value, radix, upperCase); _IFormatNumeric_Impl<_IType>(output + max, value, radix, upperCase);
output[max] = 0; output[max] = 0;
} }
@ -247,7 +247,7 @@ static plStringBuffer<char> _formatNumeric(const plFormat_Private::FormatSpec &f
} }
// Currently, only decimal formatting supports rendering negative numbers // Currently, only decimal formatting supports rendering negative numbers
template <typename _IType, size_t bits> template <typename _IType>
static plStringBuffer<char> _formatDecimal(const plFormat_Private::FormatSpec &format, _IType value) static plStringBuffer<char> _formatDecimal(const plFormat_Private::FormatSpec &format, _IType value)
{ {
char pad = format.fPadChar ? format.fPadChar : ' '; char pad = format.fPadChar ? format.fPadChar : ' ';
@ -272,13 +272,13 @@ static plStringBuffer<char> _formatDecimal(const plFormat_Private::FormatSpec &f
output = buffer.CreateWritableBuffer(format.fPrecisionLeft); output = buffer.CreateWritableBuffer(format.fPrecisionLeft);
memset(output, pad, format.fPrecisionLeft); memset(output, pad, format.fPrecisionLeft);
if (format.fAlignment == plFormat_Private::kAlignLeft) if (format.fAlignment == plFormat_Private::kAlignLeft)
_IFormatNumeric_Impl<_IType, bits>(output + max, abs, 10); _IFormatNumeric_Impl<_IType>(output + max, abs, 10);
else else
_IFormatNumeric_Impl<_IType, bits>(output + format.fPrecisionLeft, abs, 10); _IFormatNumeric_Impl<_IType>(output + format.fPrecisionLeft, abs, 10);
output[format.fPrecisionLeft] = 0; output[format.fPrecisionLeft] = 0;
} else { } else {
output = buffer.CreateWritableBuffer(max); output = buffer.CreateWritableBuffer(max);
_IFormatNumeric_Impl<_IType, bits>(output + max, abs, 10); _IFormatNumeric_Impl<_IType>(output + max, abs, 10);
output[max] = 0; output[max] = 0;
} }
@ -335,24 +335,24 @@ static plStringBuffer<char> _formatChar(const plFormat_Private::FormatSpec &form
return plStringBuffer<char>(utf8, max); return plStringBuffer<char>(utf8, max);
} }
#define _PL_FORMAT_IMPL_INT_TYPE(_stype, _utype, _bits) \ #define _PL_FORMAT_IMPL_INT_TYPE(_stype, _utype) \
PL_FORMAT_IMPL(_stype) \ PL_FORMAT_IMPL(_stype) \
{ \ { \
/* Note: The use of unsigned here is not a typo -- we only format decimal /* Note: The use of unsigned here is not a typo -- we only format decimal
values with a sign, so we can convert everything else to unsigned. */ \ values with a sign, so we can convert everything else to unsigned. */ \
switch (format.fDigitClass) { \ switch (format.fDigitClass) { \
case plFormat_Private::kDigitBin: \ case plFormat_Private::kDigitBin: \
return _formatNumeric<_utype, _bits>(format, value, 2); \ return _formatNumeric<_utype>(format, value, 2); \
case plFormat_Private::kDigitOct: \ case plFormat_Private::kDigitOct: \
return _formatNumeric<_utype, _bits>(format, value, 8); \ return _formatNumeric<_utype>(format, value, 8); \
case plFormat_Private::kDigitHex: \ case plFormat_Private::kDigitHex: \
return _formatNumeric<_utype, _bits>(format, value, 16, false); \ return _formatNumeric<_utype>(format, value, 16, false); \
case plFormat_Private::kDigitHexUpper: \ case plFormat_Private::kDigitHexUpper: \
return _formatNumeric<_utype, _bits>(format, value, 16, true); \ return _formatNumeric<_utype>(format, value, 16, true); \
case plFormat_Private::kDigitDec: \ case plFormat_Private::kDigitDec: \
case plFormat_Private::kDigitDecAlwaysSigned: \ case plFormat_Private::kDigitDecAlwaysSigned: \
case plFormat_Private::kDigitDefault: \ case plFormat_Private::kDigitDefault: \
return _formatDecimal<_stype, _bits>(format, value); \ return _formatDecimal<_stype>(format, value); \
case plFormat_Private::kDigitChar: \ case plFormat_Private::kDigitChar: \
return _formatChar(format, value); \ return _formatChar(format, value); \
} \ } \
@ -365,17 +365,17 @@ static plStringBuffer<char> _formatChar(const plFormat_Private::FormatSpec &form
{ \ { \
switch (format.fDigitClass) { \ switch (format.fDigitClass) { \
case plFormat_Private::kDigitBin: \ case plFormat_Private::kDigitBin: \
return _formatNumeric<_utype, _bits>(format, value, 2); \ return _formatNumeric<_utype>(format, value, 2); \
case plFormat_Private::kDigitOct: \ case plFormat_Private::kDigitOct: \
return _formatNumeric<_utype, _bits>(format, value, 8); \ return _formatNumeric<_utype>(format, value, 8); \
case plFormat_Private::kDigitHex: \ case plFormat_Private::kDigitHex: \
return _formatNumeric<_utype, _bits>(format, value, 16, false); \ return _formatNumeric<_utype>(format, value, 16, false); \
case plFormat_Private::kDigitHexUpper: \ case plFormat_Private::kDigitHexUpper: \
return _formatNumeric<_utype, _bits>(format, value, 16, true); \ return _formatNumeric<_utype>(format, value, 16, true); \
case plFormat_Private::kDigitDec: \ case plFormat_Private::kDigitDec: \
case plFormat_Private::kDigitDecAlwaysSigned: \ case plFormat_Private::kDigitDecAlwaysSigned: \
case plFormat_Private::kDigitDefault: \ case plFormat_Private::kDigitDefault: \
return _formatDecimal<_utype, _bits>(format, value); \ return _formatDecimal<_utype>(format, value); \
case plFormat_Private::kDigitChar: \ case plFormat_Private::kDigitChar: \
return _formatChar(format, value); \ return _formatChar(format, value); \
} \ } \
@ -384,11 +384,11 @@ static plStringBuffer<char> _formatChar(const plFormat_Private::FormatSpec &form
return plStringBuffer<char>(); \ return plStringBuffer<char>(); \
} }
_PL_FORMAT_IMPL_INT_TYPE(signed char, unsigned char, 8) _PL_FORMAT_IMPL_INT_TYPE(signed char, unsigned char)
_PL_FORMAT_IMPL_INT_TYPE(short, unsigned short, 16) _PL_FORMAT_IMPL_INT_TYPE(short, unsigned short)
_PL_FORMAT_IMPL_INT_TYPE(int, unsigned, sizeof(int) * 8) _PL_FORMAT_IMPL_INT_TYPE(int, unsigned)
_PL_FORMAT_IMPL_INT_TYPE(long, unsigned long, sizeof(long) * 8) _PL_FORMAT_IMPL_INT_TYPE(long, unsigned long)
_PL_FORMAT_IMPL_INT_TYPE(int64_t, uint64_t, 64) _PL_FORMAT_IMPL_INT_TYPE(int64_t, uint64_t)
PL_FORMAT_IMPL(char) PL_FORMAT_IMPL(char)
{ {
@ -396,16 +396,16 @@ PL_FORMAT_IMPL(char)
values with a sign, so we can convert everything else to unsigned. */ values with a sign, so we can convert everything else to unsigned. */
switch (format.fDigitClass) { switch (format.fDigitClass) {
case plFormat_Private::kDigitBin: case plFormat_Private::kDigitBin:
return _formatNumeric<unsigned char, 8>(format, value, 2); return _formatNumeric<unsigned char>(format, value, 2);
case plFormat_Private::kDigitOct: case plFormat_Private::kDigitOct:
return _formatNumeric<unsigned char, 8>(format, value, 8); return _formatNumeric<unsigned char>(format, value, 8);
case plFormat_Private::kDigitHex: case plFormat_Private::kDigitHex:
return _formatNumeric<unsigned char, 8>(format, value, 16, false); return _formatNumeric<unsigned char>(format, value, 16, false);
case plFormat_Private::kDigitHexUpper: case plFormat_Private::kDigitHexUpper:
return _formatNumeric<unsigned char, 8>(format, value, 16, true); return _formatNumeric<unsigned char>(format, value, 16, true);
case plFormat_Private::kDigitDec: case plFormat_Private::kDigitDec:
case plFormat_Private::kDigitDecAlwaysSigned: case plFormat_Private::kDigitDecAlwaysSigned:
return _formatDecimal<signed char, 8>(format, value); return _formatDecimal<signed char>(format, value);
case plFormat_Private::kDigitChar: case plFormat_Private::kDigitChar:
case plFormat_Private::kDigitDefault: case plFormat_Private::kDigitDefault:
return _formatChar(format, value); return _formatChar(format, value);
@ -419,16 +419,16 @@ PL_FORMAT_IMPL(wchar_t)
{ {
switch (format.fDigitClass) { switch (format.fDigitClass) {
case plFormat_Private::kDigitBin: case plFormat_Private::kDigitBin:
return _formatNumeric<wchar_t, sizeof(wchar_t) * 8>(format, value, 2); return _formatNumeric<wchar_t>(format, value, 2);
case plFormat_Private::kDigitOct: case plFormat_Private::kDigitOct:
return _formatNumeric<wchar_t, sizeof(wchar_t) * 8>(format, value, 8); return _formatNumeric<wchar_t>(format, value, 8);
case plFormat_Private::kDigitHex: case plFormat_Private::kDigitHex:
return _formatNumeric<wchar_t, sizeof(wchar_t) * 8>(format, value, 16, false); return _formatNumeric<wchar_t>(format, value, 16, false);
case plFormat_Private::kDigitHexUpper: case plFormat_Private::kDigitHexUpper:
return _formatNumeric<wchar_t, sizeof(wchar_t) * 8>(format, value, 16, true); return _formatNumeric<wchar_t>(format, value, 16, true);
case plFormat_Private::kDigitDec: case plFormat_Private::kDigitDec:
case plFormat_Private::kDigitDecAlwaysSigned: case plFormat_Private::kDigitDecAlwaysSigned:
return _formatDecimal<wchar_t, sizeof(wchar_t) * 8>(format, value); return _formatDecimal<wchar_t>(format, value);
case plFormat_Private::kDigitChar: case plFormat_Private::kDigitChar:
case plFormat_Private::kDigitDefault: case plFormat_Private::kDigitDefault:
return _formatChar(format, value); return _formatChar(format, value);

Loading…
Cancel
Save