# This file is copy from https://github.com/microsoft/STL with some modifications # Copyright (c) Microsoft Corporation. # SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception # https://releases.llvm.org/12.0.0/tools/clang/docs/ClangFormatStyleOptions.html --- Language: Cpp Standard: Cpp11 BasedOnStyle: LLVM # AccessModifierOffset: -2 AccessModifierOffset: -4 # AlignAfterOpenBracket: Align AlignAfterOpenBracket: DontAlign # AlignConsecutiveMacros: false AlignConsecutiveMacros: true # AlignConsecutiveAssignments: false AlignConsecutiveAssignments: true # AlignConsecutiveBitFields: false # AlignConsecutiveDeclarations: false # AlignEscapedNewlines: Right AlignEscapedNewlines: Left # AlignOperands: Align AlignOperands: AlignAfterOperator # AlignTrailingComments: true AlignTrailingComments: false # AllowAllArgumentsOnNextLine: true # AllowAllConstructorInitializersOnNextLine: true # AllowAllParametersOfDeclarationOnNextLine: true # AllowShortEnumsOnASingleLine: true # AllowShortBlocksOnASingleLine: Never # AllowShortCaseLabelsOnASingleLine: false # AllowShortFunctionsOnASingleLine: All AllowShortFunctionsOnASingleLine: Empty # AllowShortLambdasOnASingleLine: All # AllowShortIfStatementsOnASingleLine: Never # AllowShortLoopsOnASingleLine: false # AlwaysBreakAfterDefinitionReturnType: None # AlwaysBreakAfterReturnType: None # AlwaysBreakBeforeMultilineStrings: false # AlwaysBreakTemplateDeclarations: MultiLine AlwaysBreakTemplateDeclarations: Yes # BinPackArguments: true # BinPackParameters: true # BraceWrapping: # AfterCaseLabel: false # AfterClass: false # AfterControlStatement: Never # AfterEnum: false # AfterFunction: false # AfterNamespace: false # AfterObjCDeclaration: false # AfterStruct: false # AfterUnion: false # AfterExternBlock: false # BeforeCatch: false # BeforeElse: false # BeforeLambdaBody: false # BeforeWhile: false # IndentBraces: false # SplitEmptyFunction: true # SplitEmptyRecord: true # SplitEmptyNamespace: true # BreakBeforeBinaryOperators: None BreakBeforeBinaryOperators: NonAssignment # BreakBeforeBraces: Attach # BreakBeforeInheritanceComma: false # BreakInheritanceList: BeforeColon # BreakBeforeTernaryOperators: true # BreakConstructorInitializersBeforeComma: false # BreakConstructorInitializers: BeforeColon # BreakAfterJavaFieldAnnotations: false # BreakStringLiterals: true # ColumnLimit: 80 ColumnLimit: 120 # CommentPragmas: '^ IWYU pragma:' # CompactNamespaces: false # ConstructorInitializerAllOnOneLineOrOnePerLine: false # ConstructorInitializerIndentWidth: 4 # ContinuationIndentWidth: 4 # Cpp11BracedListStyle: true # DeriveLineEnding: true DeriveLineEnding: false # DerivePointerAlignment: false # DisableFormat: false # ExperimentalAutoDetectBinPacking: false # FixNamespaceComments: true # ForEachMacros: # - foreach # - Q_FOREACH # - BOOST_FOREACH # IncludeBlocks: Preserve IncludeBlocks: Regroup # IncludeCategories: # - Regex: '^"(llvm|llvm-c|clang|clang-c)/' # Priority: 2 # SortPriority: 0 # - Regex: '^(<|"(gtest|gmock|isl|json)/)' # Priority: 3 # SortPriority: 0 # - Regex: '.*' # Priority: 1 # SortPriority: 0 IncludeCategories: - Regex: '^$' Priority: 1 - Regex: '^<(Windows|userenv)\.h>$' Priority: 3 SortPriority: 3 - Regex: '^$' Priority: 3 SortPriority: 4 - Regex: '^<__.*\.hpp>$' Priority: 2 - Regex: '\.hpp[>"]$' Priority: 5 - Regex: '.*' Priority: 2 # IncludeIsMainRegex: '(Test)?$' # IncludeIsMainSourceRegex: '' # IndentCaseLabels: false # IndentCaseBlocks: false IndentCaseBlocks: true # IndentGotoLabels: true # IndentPPDirectives: None # IndentExternBlock: AfterExternBlock # IndentWidth: 2 IndentWidth: 4 # IndentWrappedFunctionNames: false IndentWrappedFunctionNames: true # InsertTrailingCommas: None # JavaScriptQuotes: Leave # JavaScriptWrapImports: true # KeepEmptyLinesAtTheStartOfBlocks: true # NOTE: MacroBlockBegin/MacroBlockEnd don't work with _CATCH_ALL. # MacroBlockBegin: '' # MacroBlockEnd: '' # MaxEmptyLinesToKeep: 1 MaxEmptyLinesToKeep: 2 # NamespaceIndentation: None NamespaceIndentation: None # ObjCBinPackProtocolList: Auto # ObjCBlockIndentWidth: 2 # ObjCBreakBeforeNestedBlockParam: true # ObjCSpaceAfterProperty: false # ObjCSpaceBeforeProtocolList: true # PenaltyBreakAssignment: 2 # PenaltyBreakBeforeFirstCallParameter: 19 # PenaltyBreakComment: 300 # PenaltyBreakFirstLessLess: 120 # PenaltyBreakString: 1000 # PenaltyBreakTemplateDeclaration: 10 # PenaltyExcessCharacter: 1000000 # PenaltyReturnTypeOnItsOwnLine: 60 # PointerAlignment: Right PointerAlignment: Left # ReflowComments: true SortIncludes: false # SortUsingDeclarations: true # SpaceAfterCStyleCast: false SpaceAfterCStyleCast: true # SpaceAfterLogicalNot: false # SpaceAfterTemplateKeyword: true # SpaceBeforeAssignmentOperators: true # SpaceBeforeCpp11BracedList: false # SpaceBeforeCtorInitializerColon: true # SpaceBeforeInheritanceColon: true # SpaceBeforeParens: ControlStatements # SpaceBeforeRangeBasedForLoopColon: true # SpaceInEmptyBlock: false # SpaceInEmptyParentheses: false # SpacesBeforeTrailingComments: 1 # SpacesInAngles: false # SpacesInConditionalStatement: false # SpacesInContainerLiterals: true # SpacesInCStyleCastParentheses: false # SpacesInParentheses: false # SpacesInSquareBrackets: false # SpaceBeforeSquareBrackets: false # Standard: Latest # StatementMacros: # - Q_UNUSED # - QT_REQUIRE_VERSION # NOTE: _STD_BEGIN, _STD_END, etc. aren't macros for complete statements, but telling # clang-format that they are produces the behavior that we want (with no block indentation). UseTab: Never