# Format Style Options - Created with Clang Power Tools
---

AttributeMacros: [
  GEN_API
]
StatementMacros: [
  GEN_NS_BEGIN, 
  GEN_NS_END, 
  GEN_NS_PARSER_BEGIN, 
  GEN_NS_PARSER_END, 
  GEN_API_C_BEGIN, 
  GEN_API_C_END,
  GEN_IF_MACRO_DEFINED_INCLUDE_THIS_SLOT
]
Macros:
- enum_underlying(type)=type
- gen_enum_underlying(type)=type
# WhitespaceSensitiveMacros: [
# ]

TypenameMacros: [Array, Hashtable]
SkipMacroDefinitionBody: false

AccessModifierOffset: -4

AlignAfterOpenBracket: BlockIndent
AlignArrayOfStructures: Left
AlignConsecutiveAssignments:
  Enabled: true
  AcrossEmptyLines: true
  AcrossComments: false
  AlignCompound: true
  PadOperators: true
AlignConsecutiveBitFields:
  Enabled: true
  AcrossEmptyLines: true
  AcrossComments: false
AlignConsecutiveDeclarations:
  Enabled: true
  AcrossEmptyLines: false
  AcrossComments: false
AlignConsecutiveMacros:
  Enabled: true
  AcrossEmptyLines: true
  AcrossComments: false
AlignEscapedNewlines: Left
AlignOperands: DontAlign

AlignTrailingComments: true

AllowAllArgumentsOnNextLine: false
AllowAllConstructorInitializersOnNextLine: false
AllowAllParametersOfDeclarationOnNextLine: false
AllowShortBlocksOnASingleLine: Never
AllowShortCaseLabelsOnASingleLine: false
AllowShortLambdasOnASingleLine: None
AllowShortEnumsOnASingleLine: false
AllowShortFunctionsOnASingleLine: None
AllowShortIfStatementsOnASingleLine: Never
AllowShortLoopsOnASingleLine: false

AlwaysBreakAfterReturnType: None
AlwaysBreakBeforeMultilineStrings: true
AlwaysBreakTemplateDeclarations: Yes

BinPackArguments: false
BinPackParameters: false

BitFieldColonSpacing: Both

BraceWrapping:
  AfterCaseLabel: false
  AfterClass: false
  AfterControlStatement: false
  AfterEnum: false
  AfterFunction: false
  AfterNamespace: false
  AfterObjCDeclaration: false
  AfterStruct: false
  AfterUnion: false
  AfterExternBlock: false
  BeforeCatch: false
  BeforeElse: false
  IndentBraces: false
  SplitEmptyFunction: false
  SplitEmptyRecord: false
  SplitEmptyNamespace: false
  BeforeLambdaBody: false
  BeforeWhile: false

BreakAfterAttributes: Always
BreakArrays: true
# BreakBeforeInlineASMColon: OnlyMultiline
BreakBeforeBinaryOperators: NonAssignment
BreakBeforeBraces: Allman
BreakBeforeInheritanceComma: true
BreakInheritanceList: BeforeComma
BreakBeforeConceptDeclarations: true
BreakBeforeTernaryOperators: true
BreakConstructorInitializers: BeforeComma
BreakStringLiterals: true

ColumnLimit: 160

CompactNamespaces: true

ConstructorInitializerAllOnOneLineOrOnePerLine: true
ConstructorInitializerIndentWidth : 4

ContinuationIndentWidth: 4

Cpp11BracedListStyle: false

DeriveLineEnding: true

ExperimentalAutoDetectBinPacking: false

FixNamespaceComments: true

IncludeBlocks: Preserve

IndentCaseBlocks: false
IndentCaseLabels: true
IndentExternBlock: AfterExternBlock
IndentGotoLabels: true
IndentPPDirectives: None
IndentRequires: true
IndentWidth: 4
IndentWrappedFunctionNames: true

# InsertNewlineAtEOF: true
# InsertTrailingCommas: Wrapped

LambdaBodyIndentation: OuterScope

Language: Cpp

MaxEmptyLinesToKeep: 4

NamespaceIndentation: All

PointerAlignment: Left

QualifierAlignment: Leave

ReferenceAlignment: Left

ReflowComments: true

# RequiresExpressionIndentation: OuterScope

SeparateDefinitionBlocks: Always

ShortNamespaceLines: 40

SortIncludes: false
SortUsingDeclarations: false

SpaceAfterCStyleCast: false
SpaceAfterLogicalNot: true
SpaceAfterTemplateKeyword: false

SpaceAroundPointerQualifiers: Default

SpaceBeforeAssignmentOperators: true
SpaceBeforeCaseColon: true
SpaceBeforeCpp11BracedList: true
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
SpaceBeforeParens: ControlStatementsExceptControlMacros
SpaceBeforeRangeBasedForLoopColon: true
SpaceBeforeSquareBrackets: false
SpacesBeforeTrailingComments: 4

SpaceInEmptyBlock: false
SpaceInEmptyParentheses: false
SpacesInAngles: false
SpacesInCStyleCastParentheses: false
SpacesInConditionalStatement: false
SpacesInContainerLiterals: false
SpacesInLineCommentPrefix:
  Minimum: 1
  Maximum: 20
SpacesInParentheses: true
SpacesInSquareBrackets: false

Standard: c++17

TabWidth: 4

UseTab: ForIndentation
...