# Copyright 2019, 2023 Avid Technology, Inc
# All rights reserved.
# 
# CONFIDENTIAL: this document contains confidential information of Avid. Do
# not disclose to any third party. Use of the information contained in this
# document is subject to an Avid SDK license.

---
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
...
