Language: Cpp
AccessModifierOffset: -4
AlignEscapedNewlinesLeft: false
AlignTrailingComments: true
AlignAfterOpenBracket: DontAlign
AllowAllParametersOfDeclarationOnNextLine: true
AllowShortIfStatementsOnASingleLine: false
AllowShortLoopsOnASingleLine: false
AllowShortFunctionsOnASingleLine: false
AlwaysBreakBeforeMultilineStrings: false
AlignOperands: false
AllowShortLambdasOnASingleLine: All
BreakBeforeBinaryOperators: true

# Same as 'Linux', but includes structs
BreakBeforeBraces: Custom
BraceWrapping:
    AfterClass: true
    AfterControlStatement: false
    AfterEnum: false
    AfterFunction: true
    AfterNamespace: true
    AfterObjCDeclaration: true
    AfterStruct: true
    AfterUnion: false
    BeforeCatch: false
    BeforeElse: false

BreakBeforeConceptDeclarations: Always
BreakBeforeTernaryOperators: true
BreakConstructorInitializers: BeforeComma
BreakFunctionDefinitionParameters: false
BreakInheritanceList: BeforeComma
BreakTemplateDeclarations: Yes
BinPackParameters: false
BinPackLongBracedList: false
ColumnLimit: 120
ConstructorInitializerAllOnOneLineOrOnePerLine: false
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4
Cpp11BracedListStyle: true
DerivePointerBinding: false
EmptyLineBeforeAccessModifier: Always
EnumTrailingComma: Leave
ExperimentalAutoDetectBinPacking: false
IncludeBlocks: Regroup
IndentAccessModifiers: false
IndentCaseLabels: false
IndentFunctionDeclarationAfterType: false
IndentWidth: 4
InsertBraces: true
InsertNewlineAtEOF: true
KeepEmptyLines:
    AtEndOfFile: true
    AtStartOfBlock: false
    AtStartOfFile: false
LambdaBodyIndentation: Signature
MaxEmptyLinesToKeep: 1
NamespaceIndentation: None
ObjCSpaceBeforeProtocolList: true
PackConstructorInitializers: Never
PenaltyBreakBeforeFirstCallParameter: 19
PenaltyBreakComment: 300
PenaltyBreakString: 1000
PenaltyBreakFirstLessLess: 120
PenaltyExcessCharacter: 1000000
PenaltyReturnTypeOnItsOwnLine: 60
PointerAlignment: Left
PointerBindsToType: true
RemoveParentheses: ReturnStatement
RemoveSemicolon: true
RequiresClausePosition: WithPreceding
SortIncludes: true
SortUsingDeclarations: Lexicographic
SeparateDefinitionBlocks: Always
SpaceBeforeAssignmentOperators: true
SpaceBeforeParens: Custom
SpaceBeforeParensOptions:
    AfterControlStatements: false
    AfterForeachMacros: false
    AfterFunctionDeclarationName: false
    AfterFunctionDefinitionName: false
    AfterIfMacros: false
    AfterOverloadedOperator: false
    AfterPlacementOperator: false
    AfterRequiresInClause: false
    AfterRequiresInExpression: false
    BeforeNonEmptyParentheses: false
SpaceBeforeRangeBasedForLoopColon: true
SpaceAfterTemplateKeyword: false
SpacesBeforeTrailingComments: 1
SpacesInParens: Never
SpacesInAngles: Never
SpacesInCStyleCastParentheses: false
Standard: Latest
TabWidth: 4
UseTab: ForContinuationAndIndentation
