Logging: made LogMessage contain a string view instead of const char*, added BufferSink, changed message parameter of formatted parameter to be string instead of const char*.
This commit is contained in:
@@ -26,27 +26,28 @@ public:
|
||||
using typename base_t::allocator_t;
|
||||
using typename base_t::formatter_ptr_t;
|
||||
using typename base_t::message_t;
|
||||
using typename base_t::string_t;
|
||||
public:
|
||||
explicit BaseDebugOutputSink(formatter_ptr_t formatter, allocator_t allocator = {})
|
||||
MIJIN_NOEXCEPT_IF(std::is_nothrow_move_constructible_v<allocator_t>)
|
||||
: base_t(std::move(formatter), std::move(allocator)) {}
|
||||
|
||||
void handleMessageFormatted(const message_t&, const char_t* formatted) MIJIN_NOEXCEPT override
|
||||
void handleMessageFormatted(const message_t&, const string_t& formatted) MIJIN_NOEXCEPT override
|
||||
{
|
||||
if constexpr (std::is_same_v<char_t, char>)
|
||||
{
|
||||
OutputDebugStringA(formatted);
|
||||
OutputDebugStringA(formatted.c_str());
|
||||
OutputDebugStringA("\n");
|
||||
}
|
||||
else if constexpr (std::is_same_v<char_t, wchar_t>)
|
||||
{
|
||||
OutputDebugStringW(formatted);
|
||||
OutputDebugStringW(formatted.c_str());
|
||||
OutputDebugStringW(L"\n");
|
||||
}
|
||||
else if constexpr (sizeof(char_t) == sizeof(char))
|
||||
{
|
||||
// char8_t etc.
|
||||
OutputDebugStringA(std::bit_cast<const char*>(formatted));
|
||||
OutputDebugStringA(std::bit_cast<const char*>(formatted.c_str()));
|
||||
OutputDebugStringA("\n");
|
||||
}
|
||||
else
|
||||
|
||||
Reference in New Issue
Block a user