Commit bfedba5a authored by Victor Zverovich's avatar Victor Zverovich

Add support for int64_t in FormatInt.

parent c3f5dce8
......@@ -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>
......
......@@ -1293,9 +1293,8 @@ class FormatInt {
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)) {}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment