BasedOnStyle: Google

# === Indentation ===
IndentWidth: 4
TabWidth: 4
UseTab: Never

# === Pointer/Reference Alignment ===
DerivePointerAlignment: false
PointerAlignment: Left

# === Braces ===
BraceWrapping:
  AfterClass: false
  AfterControlStatement: false
  AfterEnum: false
  AfterFunction: false
  AfterNamespace: false
  AfterStruct: false
  BeforeCatch: false
  BeforeElse: false
  IndentBraces: false

# === Spaces ===
SpaceBeforeParens: ControlStatements
SpaceAfterCStyleCast: false
SpaceBeforeAssignmentOperators: true
SpacesInParentheses: false
SpacesInSquareBrackets: false
SpacesInAngles: false

# === Line Breaking ===
AllowShortFunctionsOnASingleLine: Empty
AllowShortIfStatementsOnASingleLine: false
BreakBeforeBraces: Attach
ColumnLimit: 120

# === Includes ===
IncludeBlocks: Preserve
IncludeCategories:
  - Regex: '.*'
    Priority: 1
SortIncludes: false

# === Misc ===
AlignAfterOpenBracket: Align
AlwaysBreakTemplateDeclarations: Yes
Cpp11BracedListStyle: true

# === Constructor ===
ConstructorInitializerIndentWidth: 4
BreakConstructorInitializers: AfterColon