В чем разница между форматтерами для const char*, std::string_view, std::string?C++

Программы на C++. Форум разработчиков
Anonymous
В чем разница между форматтерами для const char*, std::string_view, std::string?

Сообщение Anonymous »

Я хочу сделать свой пользовательский тип форматируемым, унаследовав существующий модуль форматирования для некоторого строкового типа. В чем разница между fmt::formatter, fmt::formatter, fmt::formatter? Должны ли они быть включены через format.h или core.h? Требует ли первый минимальных зависимостей?
// type.h

#include
#include

struct Type {
// ...
};

auto to_string(Type x) -> std::string {};

template
struct fmt::formatter : formatter {
auto format(Type x, format_context& ctx) const -> format_context::iterator;
};

// type.cpp

#include "type.h"
#include

auto fmt::formatter::format(Type x, format_context& ctx) const -> format_context::iterator {
return formatter::format(to_string(x).c_str(), ctx);
}


Подробнее здесь: https://stackoverflow.com/questions/783 ... g-view-std

Вернуться в «C++»