Настройка Clang-формат для C ++ 20 ДиаграммовC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Настройка Clang-формат для C ++ 20 Диаграммов

Сообщение Anonymous »

c ++ 20 (и 23 с std :: ranges :: to () ) делает идиоматическим применением оператора | для создания трубопровода преобразований, таких как:

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

    return numbers
| std::views::filter([](int n) { return n % 2 == 0; })
| std::views::transform([](int n) { return n * 2; })
| std::ranges::to();
С текущим.

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

    return numbers | std::views::filter([](int n) { return n % 2 == 0; }) |
std::views::transform([](int n) { return n * 2; }) | std::ranges::to();
< /code>
, который мне довольно сложно читать. Если я установите BreakbeForeBinaryOperators: All 
Я получаю

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

    return numbers | std::views::filter([](int n) { return n % 2 == 0; })
| std::views::transform([](int n) { return n * 2; }) | std::ranges::to();
< /code>
, что лучше, но мне бы очень хотелось, чтобы исходная версия с одной работой трубопровода на каждой строке.    return numbers | std::views::filter([](int n) {
return n % 2 == 0;
})
| std::views::transform(
[](int n) { return n * 2; })
| std::ranges::to();
< /code>
Я могу вручную использовать пустые комментарии, чтобы установить новую линию: < /p>
    return numbers                                                //
| std::views::filter([](int n) { return n % 2 == 0; }) //
| std::views::transform([](int n) { return n * 2; })   //
| std::ranges::to();
< /code>
Но опять же, не идеально, зная, что трубопроводы будут довольно распространены. Мне не хватает настроек? Или это скорее запрос на функцию, который я должен направить на Clang-формат 
, например, «Добавить опцию, поэтому, когда в выражении появляется более n оператор |>

Подробнее здесь: https://stackoverflow.com/questions/709 ... -pipelines
Ответить

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

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

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

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

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