BasedOnStyle: LLVM
ColumnLimit: 120
IndentWidth: 4
TabWidth: 4
UseTab: Never
PointerAlignment: Right
SpaceBeforeParens: ControlStatements
SortIncludes: true
IncludeBlocks: Regroup
IncludeCategories:
  - Regex: "^<[^/]+>$"
    Priority: 1
  - Regex: '^<[^/]+\.h(>|$)'
    Priority: 2
  - Regex: "^<.*/.*>"
    Priority: 3
  - Regex: '^"(catlass|tla)/.*"'
    Priority: 4
  - Regex: '^".*"'
    Priority: 5
  - Regex: ".*"
    Priority: 6
AccessModifierOffset: -4
AlignAfterOpenBracket: BlockIndent
AllowAllArgumentsOnNextLine: false
AllowAllParametersOfDeclarationOnNextLine: false
AllowShortFunctionsOnASingleLine: false
AlwaysBreakTemplateDeclarations: Yes
BinPackParameters: false
BreakBeforeBinaryOperators: NonAssignment
BreakBeforeTernaryOperators: true
BreakConstructorInitializers: BeforeComma
PenaltyBreakAssignment: 100
PenaltyBreakBeforeFirstCallParameter: 100
PenaltyBreakComment: 60
PenaltyBreakFirstLessLess: 120
PenaltyBreakString: 1000
PenaltyExcessCharacter: 100
DerivePointerAlignment: false
SpaceInEmptyParentheses: false
SpacesInAngles: false
SpacesInConditionalStatement: false
SpacesInContainerLiterals: false
SpacesInCStyleCastParentheses: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
AlwaysBreakAfterReturnType: None
AllowShortEnumsOnASingleLine: false
AllowShortBlocksOnASingleLine: false
BreakBeforeBraces: Custom
BraceWrapping:
  AfterClass: false
  AfterStruct: false
  AfterUnion: false
  AfterFunction: true
  BeforeCatch: false
  BeforeElse: false