#c #clang-format
Вопрос:
Возможно ли в формате clang прикрепить открывающую скобку только к встроенным функциям-членам класса, не имея определения в одной строке? Цель здесь состоит в том, чтобы сохранить класс def компактным, но при этом разрешить установку точек останова.
Не похоже, что это возможно с обертыванием: Обычай.. Просто интересно, не пропустил ли я что-нибудь.
Так что для функций-членов класса:
class Foo {
// YES:
int bar() {
return 10;
}
// NO - cant set a breakpoint in the body
int bar() { return 10; }
// NO - too long
int bar()
{
return 10;
}
};
Однако для функций верхнего уровня скобка не прикреплена:
int main()
{
return 0;
}
int Foo::bar()
{
return 10;
}
Ответ №1:
Я думаю, что вы можете, но это будет немного сложно. Я думаю, что у вас должно быть два файла формата .clang, один с
BreakBeforeBraces : Attach
и второй с
BreakBeforeBraces : Allman
например. вы должны применить первый из них к заголовочному файлу, а второй-к файлу cpp, используя командную строку в формате clang (я сказал, что это немного сложно).
Комментарии:
1. Хм, хорошо — спасибо тебе за это. Мне, вероятно, просто придется жить с более длинными определениями классов!