Size: a a a

2020 September 08

SE

Stanislav Ershov in pro.cxx
Constantine Drozdov
    std::vector<CString> tokens = {
     name_space != L"" ? L"namespace " + name_space + L" { " : L"",
     cache.request_cref(type_return).formatted(),
     type_return.name() != L"" ? L" " : L"",
     name,
     wisprefix(name, L"operator") ? L" " : L"",
     L"(" + formatted_arguments(cache) + L")",
     is_noexcept ? L" noexcept" : L"",
     definition_type == definition_type_enum::prototype ? L" = 0" : L"",
     is_deleted ? L" = delete" : L"",
     L";",
     name_space != L"" ? L" }" : L"",
     L"\r\n"
   };
источник

CD

Constantine Drozdov in pro.cxx
вот это - реальные задачи, когда нужен формат
источник

CD

Constantine Drozdov in pro.cxx
потому что хочется выйти это матчить, да
источник

AN

Alexander N in pro.cxx
Я не понял что это
источник

CD

Constantine Drozdov in pro.cxx
Alexander N
Я не понял что это
namespace abacaba { type_return function_name(argument1, argument2) noexcept = delete; }
источник

AN

Alexander N in pro.cxx
откуда это всё?
источник

CD

Constantine Drozdov in pro.cxx
достал просто первый попавшийся пример
источник

AN

Alexander N in pro.cxx
Выглядит по крайней мере нечитаемо
источник

CD

Constantine Drozdov in pro.cxx
нужно экспортировать declaration разобранной плюсовой сигнатуры
источник

CD

Constantine Drozdov in pro.cxx
Alexander N
Выглядит по крайней мере нечитаемо
напиши читаемо
источник

CD

Constantine Drozdov in pro.cxx
можешь std::format использовать
источник

CD

Constantine Drozdov in pro.cxx
будет примерно {}{}{}{}{}
источник

AN

Alexander N in pro.cxx
хах, я так подумал, с std::format один фиг условия будут просто в args. Тоже выйдет каша наверное
источник

CD

Constantine Drozdov in pro.cxx
я просто к тому, что аргументы для форматирования бывают вот такие вот
источник

CD

Constantine Drozdov in pro.cxx
и идея заинлайнить их в строку формата может быть очень плохой
источник

CD

Constantine Drozdov in pro.cxx
и перед нами по сути единственная проблема записи типа ostringstream
источник

CD

Constantine Drozdov in pro.cxx
как раз невозможность разделения
источник

CD

Constantine Drozdov in pro.cxx
вот такие примеры поинлайнить
источник

ПК

Побитый Кирпич... in pro.cxx
Constantine Drozdov
    std::vector<CString> tokens = {
     name_space != L"" ? L"namespace " + name_space + L" { " : L"",
     cache.request_cref(type_return).formatted(),
     type_return.name() != L"" ? L" " : L"",
     name,
     wisprefix(name, L"operator") ? L" " : L"",
     L"(" + formatted_arguments(cache) + L")",
     is_noexcept ? L" noexcept" : L"",
     definition_type == definition_type_enum::prototype ? L" = 0" : L"",
     is_deleted ? L" = delete" : L"",
     L";",
     name_space != L"" ? L" }" : L"",
     L"\r\n"
   };
str = std::format(
 "{f_name_space(name_space)}"
 "{f_type_return(type_return)}"
 "{name}"
 "{f_operator(name)}"
 ...
);
источник

CD

Constantine Drozdov in pro.cxx
Побитый Кирпич
str = std::format(
 "{f_name_space(name_space)}"
 "{f_type_return(type_return)}"
 "{name}"
 "{f_operator(name)}"
 ...
);
очень сильно улучшил дело от вывода через  <<
источник