mirror of
https://github.com/fmtlib/fmt.git
synced 2025-07-31 19:24:48 +02:00
Move wmemory_buffer to wchar.h
This commit is contained in:
@@ -647,15 +647,7 @@ enum { inline_buffer_size = 500 };
|
|||||||
A dynamically growing memory buffer for trivially copyable/constructible types
|
A dynamically growing memory buffer for trivially copyable/constructible types
|
||||||
with the first ``SIZE`` elements stored in the object itself.
|
with the first ``SIZE`` elements stored in the object itself.
|
||||||
|
|
||||||
You can use one of the following type aliases for common character types:
|
You can use the ```memory_buffer`` type alias for ``char`` instead.
|
||||||
|
|
||||||
+----------------+------------------------------+
|
|
||||||
| Type | Definition |
|
|
||||||
+================+==============================+
|
|
||||||
| memory_buffer | basic_memory_buffer<char> |
|
|
||||||
+----------------+------------------------------+
|
|
||||||
| wmemory_buffer | basic_memory_buffer<wchar_t> |
|
|
||||||
+----------------+------------------------------+
|
|
||||||
|
|
||||||
**Example**::
|
**Example**::
|
||||||
|
|
||||||
@@ -785,7 +777,6 @@ void basic_memory_buffer<T, SIZE, Allocator>::grow(size_t size) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
using memory_buffer = basic_memory_buffer<char>;
|
using memory_buffer = basic_memory_buffer<char>;
|
||||||
using wmemory_buffer = basic_memory_buffer<wchar_t>;
|
|
||||||
|
|
||||||
template <typename T, size_t SIZE, typename Allocator>
|
template <typename T, size_t SIZE, typename Allocator>
|
||||||
struct is_contiguous<basic_memory_buffer<T, SIZE, Allocator>> : std::true_type {
|
struct is_contiguous<basic_memory_buffer<T, SIZE, Allocator>> : std::true_type {
|
||||||
@@ -1152,7 +1143,7 @@ inline It format_uint(It out, UInt value, int num_digits, bool upper = false) {
|
|||||||
// A converter from UTF-8 to UTF-16.
|
// A converter from UTF-8 to UTF-16.
|
||||||
class utf8_to_utf16 {
|
class utf8_to_utf16 {
|
||||||
private:
|
private:
|
||||||
wmemory_buffer buffer_;
|
basic_memory_buffer<wchar_t> buffer_;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
FMT_API explicit utf8_to_utf16(string_view s);
|
FMT_API explicit utf8_to_utf16(string_view s);
|
||||||
|
@@ -24,6 +24,7 @@ using wstring_view = basic_string_view<wchar_t>;
|
|||||||
using wformat_parse_context = basic_format_parse_context<wchar_t>;
|
using wformat_parse_context = basic_format_parse_context<wchar_t>;
|
||||||
using wformat_context = buffer_context<wchar_t>;
|
using wformat_context = buffer_context<wchar_t>;
|
||||||
using wformat_args = basic_format_args<wformat_context>;
|
using wformat_args = basic_format_args<wformat_context>;
|
||||||
|
using wmemory_buffer = basic_memory_buffer<wchar_t>;
|
||||||
|
|
||||||
#if FMT_GCC_VERSION && FMT_GCC_VERSION < 409
|
#if FMT_GCC_VERSION && FMT_GCC_VERSION < 409
|
||||||
// Workaround broken conversion on older gcc.
|
// Workaround broken conversion on older gcc.
|
||||||
|
@@ -14,6 +14,7 @@
|
|||||||
// clang-format on
|
// clang-format on
|
||||||
|
|
||||||
#include <stdint.h> // uint32_t
|
#include <stdint.h> // uint32_t
|
||||||
|
|
||||||
#include <climits> // INT_MAX
|
#include <climits> // INT_MAX
|
||||||
#include <cmath> // std::signbit
|
#include <cmath> // std::signbit
|
||||||
#include <cstring> // std::strlen
|
#include <cstring> // std::strlen
|
||||||
@@ -1896,12 +1897,9 @@ TEST(format_test, format_to_wide) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
TEST(format_test, format_to_memory_buffer) {
|
TEST(format_test, format_to_memory_buffer) {
|
||||||
fmt::basic_memory_buffer<char, 100> buffer;
|
auto buf = fmt::basic_memory_buffer<char, 100>();
|
||||||
fmt::format_to(buffer, "{}", "foo");
|
fmt::format_to(buf, "{}", "foo");
|
||||||
EXPECT_EQ("foo", to_string(buffer));
|
EXPECT_EQ("foo", to_string(buf));
|
||||||
fmt::wmemory_buffer wbuffer;
|
|
||||||
fmt::format_to(wbuffer, L"{}", L"foo");
|
|
||||||
EXPECT_EQ(L"foo", to_string(wbuffer));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(format_test, format_to_vector) {
|
TEST(format_test, format_to_vector) {
|
||||||
|
@@ -37,6 +37,12 @@ TEST(wchar_test, vformat_to) {
|
|||||||
EXPECT_EQ(L"42", w);
|
EXPECT_EQ(L"42", w);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
TEST(wchar_test, format_to_memory_buffer) {
|
||||||
|
auto buf = fmt::wmemory_buffer();
|
||||||
|
fmt::format_to(buf, L"{}", L"foo");
|
||||||
|
EXPECT_EQ(L"foo", to_string(buf));
|
||||||
|
}
|
||||||
|
|
||||||
TEST(format_test, wide_format_to_n) {
|
TEST(format_test, wide_format_to_n) {
|
||||||
wchar_t buffer[4];
|
wchar_t buffer[4];
|
||||||
buffer[3] = L'x';
|
buffer[3] = L'x';
|
||||||
|
Reference in New Issue
Block a user