mirror of
https://github.com/fmtlib/fmt.git
synced 2025-02-05 18:40:07 +00:00
Add ptr, a helper function for pointer formatting
This commit is contained in:
parent
77c892c88e
commit
20168147dd
@ -3675,6 +3675,12 @@ void vformat_to(basic_buffer<Char> &buffer, basic_string_view<Char> format_str,
|
|||||||
}
|
}
|
||||||
buffer.append(pointer_from(start), pointer_from(it));
|
buffer.append(pointer_from(start), pointer_from(it));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Casts ``p`` to ``const void*`` for pointer formatting.
|
||||||
|
// Example:
|
||||||
|
// auto s = format("{}", ptr(p));
|
||||||
|
template <typename T>
|
||||||
|
inline const void *ptr(const T *p) { return p; }
|
||||||
} // namespace fmt
|
} // namespace fmt
|
||||||
|
|
||||||
#if FMT_USE_USER_DEFINED_LITERALS
|
#if FMT_USE_USER_DEFINED_LITERALS
|
||||||
|
@ -1217,6 +1217,7 @@ TEST(FormatterTest, FormatPointer) {
|
|||||||
EXPECT_EQ("0x1234", format("{0:p}", reinterpret_cast<void*>(0x1234)));
|
EXPECT_EQ("0x1234", format("{0:p}", reinterpret_cast<void*>(0x1234)));
|
||||||
EXPECT_EQ("0x" + std::string(sizeof(void*) * CHAR_BIT / 4, 'f'),
|
EXPECT_EQ("0x" + std::string(sizeof(void*) * CHAR_BIT / 4, 'f'),
|
||||||
format("{0}", reinterpret_cast<void*>(~uintptr_t())));
|
format("{0}", reinterpret_cast<void*>(~uintptr_t())));
|
||||||
|
EXPECT_EQ("0x1234", format("{}", fmt::ptr(reinterpret_cast<int*>(0x1234))));
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(FormatterTest, FormatString) {
|
TEST(FormatterTest, FormatString) {
|
||||||
@ -1504,8 +1505,7 @@ class MockArgFormatter : public fmt::internal::arg_formatter_base<char> {
|
|||||||
public:
|
public:
|
||||||
typedef fmt::internal::arg_formatter_base<char> Base;
|
typedef fmt::internal::arg_formatter_base<char> Base;
|
||||||
|
|
||||||
MockArgFormatter(fmt::buffer &b, fmt::context &ctx,
|
MockArgFormatter(fmt::buffer &b, fmt::context &, fmt::format_specs &s)
|
||||||
fmt::format_specs &s)
|
|
||||||
: fmt::internal::arg_formatter_base<char>(b, s) {
|
: fmt::internal::arg_formatter_base<char>(b, s) {
|
||||||
EXPECT_CALL(*this, call(42));
|
EXPECT_CALL(*this, call(42));
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user