Add support for int64_t in FormatInt.
This commit is contained in:
parent
c3f5dce8d5
commit
bfedba5a0a
@ -1411,6 +1411,9 @@ TEST(FormatterTest, Examples) {
|
||||
TEST(FormatIntTest, FormatInt) {
|
||||
EXPECT_EQ("42", fmt::FormatInt(42).str());
|
||||
EXPECT_EQ("-42", fmt::FormatInt(-42).str());
|
||||
std::ostringstream os;
|
||||
os << std::numeric_limits<int64_t>::max();
|
||||
EXPECT_EQ(os.str(), fmt::FormatInt(std::numeric_limits<int64_t>::max()).str());
|
||||
}
|
||||
|
||||
template <typename T>
|
||||
|
11
format.h
11
format.h
@ -1292,10 +1292,9 @@ class FormatInt {
|
||||
*--buffer_end = internal::DIGITS[index];
|
||||
return buffer_end;
|
||||
}
|
||||
|
||||
public:
|
||||
explicit FormatInt(int value) {
|
||||
unsigned abs_value = value;
|
||||
|
||||
void FormatSigned(int64_t value) {
|
||||
uint64_t abs_value = value;
|
||||
bool negative = value < 0;
|
||||
if (negative)
|
||||
abs_value = 0 - value;
|
||||
@ -1303,6 +1302,10 @@ class FormatInt {
|
||||
if (negative)
|
||||
*--str_ = '-';
|
||||
}
|
||||
|
||||
public:
|
||||
explicit FormatInt(int value) { FormatSigned(value); }
|
||||
explicit FormatInt(int64_t value) { FormatSigned(value); }
|
||||
explicit FormatInt(unsigned value) : str_(FormatDecimal(value)) {}
|
||||
explicit FormatInt(uint64_t value) : str_(FormatDecimal(value)) {}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user