clang 24.0.0git
clang::format::FormatStyle::BraceWrappingFlags Struct Reference

Precise control over the wrapping of braces. More...

#include "clang/Format/Format.h"

Public Attributes

bool AfterCaseLabel
 Wrap case labels.
bool AfterClass
 Wrap class definitions.
BraceWrappingAfterControlStatementStyle AfterControlStatement
 Wrap control statements (if/for/while/switch/..).
bool AfterEnum
 Wrap enum definitions.
bool AfterFunction
 Wrap function definitions.
bool AfterNamespace
 Wrap namespace definitions.
bool AfterObjCDeclaration
 Wrap ObjC definitions (interfaces, implementations...).
bool AfterRequiresExpression
 Wrap requires expression body.
bool AfterStruct
 Wrap struct definitions.
bool AfterUnion
 Wrap union definitions.
bool AfterExportBlock
 Wrap export blocks.
bool AfterExternBlock
 Wrap extern blocks.
bool BeforeCatch
 Wrap before catch.
bool BeforeElse
 Wrap before else.
bool BeforeLambdaBody
 Wrap lambda block.
bool BeforeWhile
 Wrap before while.
bool IndentBraces
 Indent the wrapped braces themselves.
bool SplitEmptyFunction
 If false, empty function body can be put on a single line.
bool SplitEmptyRecord
 If false, empty record (e.g.
bool SplitEmptyNamespace
 If false, empty namespace body can be put on a single line.

Detailed Description

Precise control over the wrapping of braces.

# Should be declared this way:
BreakBeforeBraces: Custom
BraceWrapping:
AfterClass: true

Definition at line 1425 of file Format.h.

Member Data Documentation

◆ AfterCaseLabel

bool clang::format::FormatStyle::BraceWrappingFlags::AfterCaseLabel

Wrap case labels.

false: true:
switch (foo) { vs. switch (foo) {
case 1: { case 1:
bar(); {
break; bar();
} break;
default: { }
plop(); default:
} {
} plop();
}
}

Definition at line 1441 of file Format.h.

Referenced by clang::format::expandPresetsBraceWrapping().

◆ AfterClass

bool clang::format::FormatStyle::BraceWrappingFlags::AfterClass

Wrap class definitions.

true:
class foo
{};
false:
class foo {};

Definition at line 1451 of file Format.h.

Referenced by clang::format::expandPresetsBraceWrapping().

◆ AfterControlStatement

BraceWrappingAfterControlStatementStyle clang::format::FormatStyle::BraceWrappingFlags::AfterControlStatement

Wrap control statements (if/for/while/switch/..).

Definition at line 1454 of file Format.h.

Referenced by clang::format::expandPresetsBraceWrapping().

◆ AfterEnum

bool clang::format::FormatStyle::BraceWrappingFlags::AfterEnum

Wrap enum definitions.

true:
enum X : int
{
B
};
false:
enum X : int { B };
#define X(type, name)
Definition Value.h:97

Definition at line 1466 of file Format.h.

Referenced by clang::format::expandPresetsBraceWrapping(), and clang::format::internal::reformat().

◆ AfterExportBlock

bool clang::format::FormatStyle::BraceWrappingFlags::AfterExportBlock

Wrap export blocks.

true: false:
export vs. export {
{ int foo();
int foo(); }
}

Definition at line 1557 of file Format.h.

Referenced by clang::format::expandPresetsBraceWrapping().

◆ AfterExternBlock

bool clang::format::FormatStyle::BraceWrappingFlags::AfterExternBlock

Wrap extern blocks.

true:
extern "C"
{
int foo();
}
false:
extern "C" {
int foo();
}

Definition at line 1571 of file Format.h.

Referenced by clang::format::expandPresetsBraceWrapping().

◆ AfterFunction

bool clang::format::FormatStyle::BraceWrappingFlags::AfterFunction

Wrap function definitions.

true:
void foo()
{
bar();
bar2();
}
false:
void foo() {
bar();
bar2();
}

Definition at line 1482 of file Format.h.

Referenced by clang::format::expandPresetsBraceWrapping().

◆ AfterNamespace

bool clang::format::FormatStyle::BraceWrappingFlags::AfterNamespace

Wrap namespace definitions.

true:
namespace
{
int foo();
int bar();
}
false:
namespace {
int foo();
int bar();
}

Definition at line 1498 of file Format.h.

Referenced by clang::format::expandPresetsBraceWrapping().

◆ AfterObjCDeclaration

bool clang::format::FormatStyle::BraceWrappingFlags::AfterObjCDeclaration

Wrap ObjC definitions (interfaces, implementations...).

Note
@autoreleasepool and @synchronized blocks are wrapped according to AfterControlStatement flag. \endnote

Definition at line 1504 of file Format.h.

Referenced by clang::format::expandPresetsBraceWrapping().

◆ AfterRequiresExpression

bool clang::format::FormatStyle::BraceWrappingFlags::AfterRequiresExpression

Wrap requires expression body.

true:
template <typename T>
concept C = requires(T t)
{
foo(t);
};
false:
template <typename T>
concept C = requires(T t) {
foo(t);
};
const FunctionProtoType * T

Definition at line 1520 of file Format.h.

Referenced by clang::format::expandPresetsBraceWrapping().

◆ AfterStruct

bool clang::format::FormatStyle::BraceWrappingFlags::AfterStruct

Wrap struct definitions.

true:
struct foo
{
int x;
};
false:
struct foo {
int x;
};

Definition at line 1534 of file Format.h.

Referenced by clang::format::expandPresetsBraceWrapping().

◆ AfterUnion

bool clang::format::FormatStyle::BraceWrappingFlags::AfterUnion

Wrap union definitions.

true:
union foo
{
int x;
}
false:
union foo {
int x;
}

Definition at line 1548 of file Format.h.

Referenced by clang::format::expandPresetsBraceWrapping().

◆ BeforeCatch

bool clang::format::FormatStyle::BraceWrappingFlags::BeforeCatch

Wrap before catch.

true:
try {
foo();
}
catch () {
}
false:
try {
foo();
} catch () {
}

Definition at line 1587 of file Format.h.

Referenced by clang::format::expandPresetsBraceWrapping().

◆ BeforeElse

bool clang::format::FormatStyle::BraceWrappingFlags::BeforeElse

Wrap before else.

true:
if (foo()) {
}
else {
}
false:
if (foo()) {
} else {
}

Definition at line 1601 of file Format.h.

Referenced by clang::format::expandPresetsBraceWrapping().

◆ BeforeLambdaBody

bool clang::format::FormatStyle::BraceWrappingFlags::BeforeLambdaBody

Wrap lambda block.

true:
connect(
[]()
{
foo();
bar();
});
false:
connect([]() {
foo();
bar();
});

Definition at line 1618 of file Format.h.

Referenced by clang::format::expandPresetsBraceWrapping().

◆ BeforeWhile

bool clang::format::FormatStyle::BraceWrappingFlags::BeforeWhile

Wrap before while.

true:
do {
foo();
}
while (1);
false:
do {
foo();
} while (1);

Definition at line 1632 of file Format.h.

◆ IndentBraces

bool clang::format::FormatStyle::BraceWrappingFlags::IndentBraces

Indent the wrapped braces themselves.

Definition at line 1634 of file Format.h.

◆ SplitEmptyFunction

bool clang::format::FormatStyle::BraceWrappingFlags::SplitEmptyFunction

If false, empty function body can be put on a single line.

This option is used only if the opening brace of the function has already been wrapped, i.e. the AfterFunction brace wrapping mode is set, and the function could/should not be put on a single line (as per AllowShortFunctionsOnASingleLine and constructor formatting options).

false: true:
int f() vs. int f()
{} {
}

Definition at line 1648 of file Format.h.

Referenced by clang::format::expandPresetsBraceWrapping().

◆ SplitEmptyNamespace

bool clang::format::FormatStyle::BraceWrappingFlags::SplitEmptyNamespace

If false, empty namespace body can be put on a single line.

This option is used only if the opening brace of the namespace has already been wrapped, i.e. the AfterNamespace brace wrapping mode is set.

false: true:
namespace Foo vs. namespace Foo
{} {
}

Definition at line 1672 of file Format.h.

◆ SplitEmptyRecord

bool clang::format::FormatStyle::BraceWrappingFlags::SplitEmptyRecord

If false, empty record (e.g.

class, struct or union) body can be put on a single line. This option is used only if the opening brace of the record has already been wrapped, i.e. the AfterClass (for classes) brace wrapping mode is set.

false: true:
class Foo vs. class Foo
{} {
}

Definition at line 1660 of file Format.h.

Referenced by clang::format::expandPresetsBraceWrapping().


The documentation for this struct was generated from the following file: