# Copyright 2019, 2023-2024 Avid Technology, Inc
# All rights reserved.
# 
# This file is part of the Avid AAX SDK.
# 
# The AAX SDK is subject to commercial or open-source licensing.
# 
# By using the AAX SDK, you agree to the terms of both the Avid AAX SDK License
# Agreement and Avid Privacy Policy.
# 
# AAX SDK License: https://developer.avid.com/aax
# Privacy Policy: https://www.avid.com/legal/privacy-policy-statement
# 
# Or: You may also use this code under the terms of the GPL v3 (see
# www.gnu.org/licenses).
# 
# THE AAX SDK IS PROVIDED "AS IS" WITHOUT ANY WARRANTY, AND ALL WARRANTIES, WHETHER
# EXPRESSED OR IMPLIED, INCLUDING MERCHANTABILITY AND FITNESS FOR PURPOSE, ARE
# DISCLAIMED.

---
BasedOnStyle: LLVM
DisableFormat: true # Don't format for languages which are not specified below
---
Language: Cpp
DisableFormat: false
#AccessModifierOffset: 0 # For some reason "0" results in a tab-size offset
AlignAfterOpenBracket: AlwaysBreak
#AlignConsecutiveAssignments: true
AlignConsecutiveDeclarations: false
AlignEscapedNewlines: Left
#AlignOperands: true
AlignTrailingComments: false
AllowAllArgumentsOnNextLine: false
AllowAllConstructorInitializersOnNextLine: false
AllowAllParametersOfDeclarationOnNextLine: false
#AllowShortBlocksOnASingleLine: true
AllowShortCaseLabelsOnASingleLine: true
AllowShortIfStatementsOnASingleLine: false
AllowShortFunctionsOnASingleLine: Inline
#AllowShortLambdasOnASingleLine: All # UNSUPPORTED?
AllowShortLoopsOnASingleLine: true
AlwaysBreakAfterReturnType: None
#AlwaysBreakBeforeMultilineStrings: true
AlwaysBreakTemplateDeclarations: MultiLine
BinPackArguments: false
BinPackParameters: false
BraceWrapping:
#  AfterCaseLabel: true # UNSUPPORTED?
  AfterClass: true
  AfterControlStatement: false
  AfterEnum: true
  AfterFunction: true
  AfterNamespace: true
  #AfterObjCDeclaration: true
  AfterStruct: true
  AfterUnion: true
  #AfterExternBlock: false
  BeforeCatch: true
  BeforeElse: true
  IndentBraces: false
  SplitEmptyFunction: false
  SplitEmptyRecord: false
  SplitEmptyNamespace: false
#BreakAfterJavaFieldAnnotations: true
BreakBeforeBinaryOperators: None
BreakBeforeBraces: Custom
BreakBeforeTernaryOperators: false
BreakConstructorInitializers: BeforeComma
BreakInheritanceList: BeforeComma
#BreakStringLiterals: true
ColumnLimit: 91 # What is a good standard?
CommentPragmas: 'AAX_SDK_PACKAGING' '<\s*[a-zA-Z]+\s*>'
#CompactNamespaces: true
ConstructorInitializerAllOnOneLineOrOnePerLine: true
ConstructorInitializerIndentWidth: 4
ContinuationIndentWidth: 4
Cpp11BracedListStyle: true
DerivePointerAlignment: false
FixNamespaceComments: false
#ForEachMacros
#TypenameMacros
IncludeBlocks: Preserve
#IncludeCategories
#IncludeIsMainRegex
#IndentCaseLabels: false
IndentPPDirectives: AfterHash
IndentWidth: 4
IndentWrappedFunctionNames: false
#JavaImportGroups
#JavaScriptQuotes
#JavaScriptWrapImports
#KeepEmptyLinesAtTheStartOfBlocks: false
#MacroBlockBegin
#MacroBlockEnd
MaxEmptyLinesToKeep: 3
NamespaceIndentation: All
#ObjCBinPackProtocolList
#ObjCBlockIndentWidth
#ObjCSpaceAfterProperty
#ObjCSpaceBeforeProtocolList
#PenaltyBreakAssignment:               # not sure what level to set; use default
PenaltyBreakBeforeFirstCallParameter: 50 # not sure what level to set; use default
PenaltyBreakComment: 100               # not sure what level to set; use default
#PenaltyBreakFirstLessLess:            # not sure what level to set; use default
#PenaltyBreakString:                   # not sure what level to set; use default
#PenaltyBreakTemplateDeclaration:      # not sure what level to set; use default
#PenaltyExcessCharacter:               # not sure what level to set; use default
#PenaltyReturnTypeOnItsOwnLine:        # not sure what level to set; use default
PointerAlignment: Left
#RawStringFormats
ReflowComments: false
SortIncludes: false
SortUsingDeclarations: false
#SpaceAfterCStyleCast: false
#SpaceAfterLogicalNot: false # UNSUPPORTED?
SpaceAfterTemplateKeyword: false
SpaceBeforeAssignmentOperators: true
SpaceBeforeCpp11BracedList: false
SpaceBeforeCtorInitializerColon: true
SpaceBeforeInheritanceColon: true
SpaceBeforeParens: Never
SpaceBeforeRangeBasedForLoopColon: true
SpaceInEmptyParentheses: false
#SpacesBeforeTrailingComments: 2
SpacesInAngles: false
SpacesInCStyleCastParentheses: false
SpacesInContainerLiterals: false
SpacesInParentheses: false
SpacesInSquareBrackets: false
Standard: Cpp11
#StatementMacros
TabWidth: 4
UseTab: ForIndentation
...
