Можем ли мы использовать пользовательские форматер для Std Strings?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Можем ли мы использовать пользовательские форматер для Std Strings?

Сообщение Anonymous »

Я хочу добавить пользовательскую форму std :: string , поэтому он имеет приоритет по умолчанию, и мне не нужно использовать форматер для пользовательских типов, таких как std :: format ("{}", верхний (s)) .

Код: Выделить всё

#include 
#include 
#include 

template 
struct std::formatter {
constexpr auto parse(std::format_parse_context& ctx) {
// Simplified for this example, actually I want to implement a specific {:}
return ctx.begin();
}

auto format(std::string s, std::format_context& ctx) const {
for (char& c : s) {
c = std::toupper(static_cast(c));
}
return std::format_to(ctx.out(), "{:s}", s);
}
};

int main() {
const std::string s = "hello world";
std::cout 

Подробнее здесь: [url]https://stackoverflow.com/questions/79755184/can-we-use-custom-formatters-for-std-strings[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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