8 changed files with 470 additions and 476 deletions
@ -1,362 +1,362 @@ |
|||
--- |
|||
# https://clang.llvm.org/docs/ClangFormatStyleOptions.html |
|||
|
|||
BasedOnStyle: LLVM |
|||
Language: Cpp |
|||
|
|||
# this style configuration is based on google style configuration. |
|||
# The following configuration is different from the basic configuration. |
|||
|
|||
# 缩进宽度 |
|||
IndentWidth: 4 |
|||
|
|||
# 访问权限说明符(public/private等)的偏移 |
|||
AccessModifierOffset: -4 |
|||
|
|||
# # 开括号(开圆括号、尖括号、方括号)后的对齐: Align, DontAlign, AlwaysBreak(总是在开括号后换行) |
|||
# AlignAfterOpenBracket: Align |
|||
|
|||
# # 连续赋值时,对齐所有等号 |
|||
# AlignConsecutiveAssignments: false |
|||
|
|||
# # 连续声明时,对齐所有声明的变量名 |
|||
# AlignConsecutiveDeclarations: false |
|||
|
|||
# 反斜杆换行的对齐方式 |
|||
# -- DontAlign - 不进行对齐 |
|||
# -- Left - 反斜杠靠左对齐 |
|||
# -- Right - 反斜杠靠右对齐 |
|||
# AlignEscapedNewlines: Right |
|||
|
|||
# 二元、三元表达式的对齐方式(当表达式需要占用多行时) |
|||
# -- DontAlign - 不进行对齐 |
|||
# -- Align - 从操作符开始对齐 |
|||
# -- AlignAfterOperator - 从操作数开始对齐 |
|||
AlignOperands: true |
|||
|
|||
# # 是否对齐行尾注释 |
|||
# AlignTrailingComments: true |
|||
|
|||
# # 函数声明的所有参数在放在下一行 |
|||
# AllowAllParametersOfDeclarationOnNextLine: false |
|||
|
|||
# # 是否允许短的代码块放在同一行 |
|||
# AllowShortBlocksOnASingleLine: false |
|||
|
|||
# # 短的case标签和语句放在同一行 |
|||
# AllowShortCaseLabelsOnASingleLine: true |
|||
|
|||
# # 短的函数放在同一行 |
|||
# -- None - 不把短的函数放在同一行 |
|||
# -- InlineOnly - 只把类内的内联函数放在同一行,全局的空函数不放在同一行 |
|||
# -- Empty - 只把空的函数放在同一行 |
|||
# -- Inline - 把类内的内联函数放在同一行,全局的空函数不放在同一行 |
|||
# -- All - 都允许放在同一行 |
|||
AllowShortFunctionsOnASingleLine: InlineOnly |
|||
|
|||
# # 短的if语句保持在同一行 |
|||
# AllowShortIfStatementsOnASingleLine: true |
|||
|
|||
# # 短的循环保持在同一行 |
|||
# AllowShortLoopsOnASingleLine: true |
|||
|
|||
# # 总是在返回类型后换行: None, All, TopLevel(顶级函数,不包括在类中的函数), |
|||
# # AllDefinitions(所有的定义,不包括声明), TopLevelDefinitions(所有的顶级函数的定义) |
|||
# AlwaysBreakAfterReturnType: None |
|||
|
|||
# # 总是在多行string字面量前换行 |
|||
# AlwaysBreakBeforeMultilineStrings: true |
|||
|
|||
# # 总是在template声明后换行 |
|||
AlwaysBreakTemplateDeclarations: true |
|||
|
|||
# # 函数调用时,参数的放置规则 |
|||
# -- false - 参数要么放在同一行,要么每个参数占用一行 |
|||
# -- true - 不做强制要求 |
|||
# BinPackArguments: true |
|||
|
|||
# 函数声明、定义时,参数的放置规则 |
|||
# -- false - 参数要么放在同一行,要么每个参数占用一行 |
|||
# -- true - 不做强制要求 |
|||
# BinPackParameters: true |
|||
|
|||
# 大括号放置风格 |
|||
# -- Attach - 大括号紧随前方内容,放在同一行 |
|||
# -- Linux - 与 Attach 类似,除了 函数、命名空间、类定义 的大括号放在下一行 |
|||
# -- Mozilla - 与 Attach 类似,除了枚举、函数、结构(class\struct\union)的大括号放在下一行 |
|||
# -- Stroustrup - 与 Attach 类似,但函数定义前、catch前方、else前方的"{}"放在单独一行 |
|||
# -- Allman - 总是换行 |
|||
# -- Whitesmiths - 类似 Allman,但"{}"和内部的语句对齐到同样位置 |
|||
# -- GNU - 总是换行,但在控制语句后的"{}"总是对齐到下一个位置 |
|||
# -- WebKit - 与 Attach 类似,但在函数定义前换行 |
|||
# -- Custom - 依赖 BraceWrapping |
|||
# 注:这里认为语句块也属于函数 |
|||
BreakBeforeBraces: Attach |
|||
|
|||
# 大括号换行,只有当BreakBeforeBraces设置为Custom时才有效 |
|||
BraceWrapping: |
|||
# class定义后面 |
|||
AfterClass: false |
|||
# 控制语句后面 |
|||
AfterControlStatement: false |
|||
# enum定义后面 |
|||
AfterEnum: false |
|||
# 函数定义后面 |
|||
AfterFunction: true |
|||
# 命名空间定义后面 |
|||
AfterNamespace: true |
|||
# ObjC定义后面 |
|||
AfterObjCDeclaration: false |
|||
# struct定义后面 |
|||
AfterStruct: false |
|||
# union定义后面 |
|||
AfterUnion: false |
|||
# extern之后 |
|||
AfterExternBlock: true |
|||
# catch之前 |
|||
BeforeCatch: false |
|||
# else之前 |
|||
BeforeElse: false |
|||
# 继续缩进大括号 |
|||
IndentBraces: false |
|||
# 分离空函数 |
|||
# # 当空白函数的"{}"和函数名称不需要放在同一行时,是否拆分函数体 |
|||
SplitEmptyFunction: true |
|||
# 分离空语句 |
|||
# # 当空白结构(class\struct\union)的"{}"需要放在单独的行时,是否拆分"{}" |
|||
SplitEmptyRecord: true |
|||
# 分离空命名空间 |
|||
# # 当空白的命名空间的"{}"需要放在单独的行时,是否拆分"{}" |
|||
SplitEmptyNamespace: true |
|||
|
|||
# # 在二元运算符前换行: None(在操作符后换行), NonAssignment(在非赋值的操作符前换行), All(在操作符前换行) |
|||
BreakBeforeBinaryOperators: NonAssignment |
|||
|
|||
# BreakBeforeInheritanceComma: false |
|||
|
|||
# # 在三元运算符前换行 |
|||
# 当三元表达式不能放在同一行时,是否在三元操作符前方换行 |
|||
# -- true - 操作符位于新行的首部 |
|||
# -- false - 操作符位于上一行的尾部 |
|||
BreakBeforeTernaryOperators: true |
|||
|
|||
# BreakConstructorInitializersBeforeComma: false |
|||
|
|||
# # 构造函数初始化列表分割方式 |
|||
# -- BeforeColon - 在冒号 ':' 前方分割,冒号位于行首,逗号','位于行尾 |
|||
# -- BeforeComma - 在冒号和逗号前方分割,冒号和逗号都位于行首,并且对齐 |
|||
# -- AfterColon - 在冒号和逗号后方分割,冒号和逗号位于行尾 |
|||
BreakConstructorInitializers: BeforeColon |
|||
|
|||
# # 是否在每个java注解后方换行 |
|||
# BreakAfterJavaFieldAnnotations: false |
|||
|
|||
# # 是否分割过长的字符串 |
|||
# BreakStringLiterals: false |
|||
|
|||
# # 每行字符长度的限制,0表示没有限制 |
|||
ColumnLimit: 100 |
|||
|
|||
# # 用于匹配注释信息的正则表达式,被匹配的行不会做任何修改 |
|||
# CommentPragmas: '^ IWYU pragma:' |
|||
# 是否压缩紧接的命名空间 |
|||
# -- true - 将紧跟的命名空间放在同一行 |
|||
# -- false - 每个命名空间位于新的一行 |
|||
CompactNamespaces: false |
|||
|
|||
# # 构造函数的初始化列表要么都在同一行,要么都各自一行 |
|||
# -- true - 如果可能,初始化列表放在同一行;如果不满足长度选择,则每个单独放一行 |
|||
# -- false - 初始化列表可以随意放置 |
|||
# ConstructorInitializerAllOnOneLineOrOnePerLine: false |
|||
|
|||
# # 构造函数的初始化列表和基类集成列表的对齐宽度 |
|||
ConstructorInitializerIndentWidth: 4 |
|||
|
|||
# # 延续语句的对齐宽度 |
|||
ContinuationIndentWidth: 4 |
|||
|
|||
# # 去除C++11的列表初始化的大括号{后和}前的空格 |
|||
Cpp11BracedListStyle: true |
|||
|
|||
# 是否自动分析指针的对齐方式 |
|||
# -- true - 自动分析并使用指针的对齐方式,若无法分析,则使用 PointerAlignment |
|||
# -- false - 不自动分析 |
|||
# DerivePointerAlignment: true |
|||
|
|||
# 是否禁用格式化 |
|||
DisableFormat: false |
|||
# ExperimentalAutoDetectBinPacking: false |
|||
|
|||
# 是否自动修正命名空间的结束注释 |
|||
# -- true - 在短的命名空间尾部,自动添加或修改错误的命名空间结束注释 |
|||
# -- false - 不自动修正 |
|||
FixNamespaceComments: true |
|||
|
|||
# foreach 循环 |
|||
ForEachMacros: |
|||
- foreach |
|||
- Q_FOREACH |
|||
- BOOST_FOREACH |
|||
|
|||
# 多个 include 块(有空行分隔的include)排序时的分组规则 |
|||
# -- Preserve - 保留原有的块分隔,各自排序 |
|||
# -- Merge - 将所有的块视为同一个,然后进行排序 |
|||
# -- Regroup - 将所有的块视为同一个进行排序,然后按照 IncludeCategories 的规则进行分组 |
|||
IncludeBlocks: Preserve |
|||
|
|||
# IncludeCategories: |
|||
# - Regex: '^<ext/.*\.h>' |
|||
# Priority: 2 |
|||
# - Regex: '^<.*\.h>' |
|||
# Priority: 1 |
|||
# - Regex: '^<.*' |
|||
# Priority: 2 |
|||
# - Regex: '.*' |
|||
# Priority: 3 |
|||
# IncludeIsMainRegex: '([-_](test|unittest))?$' |
|||
|
|||
# # 缩进case标签 |
|||
# -- true - case 不与 switch 对齐 |
|||
# -- false - case 和 switch 对齐 |
|||
IndentCaseLabels: true |
|||
|
|||
# 预处理命令(#if\#ifdef\#endif等)的缩进规则 |
|||
# -- None - 不进行缩进 |
|||
# -- AfterHash - 在前导'#'后缩进,'#'放在最左侧,之后的语句参与缩进 |
|||
# -- BeforeHash - 在前导'#'前进行缩进 |
|||
IndentPPDirectives: AfterHash |
|||
|
|||
# # 函数返回类型换行时,缩进函数声明或函数定义的函数名 |
|||
# IndentWrappedFunctionNames: false |
|||
|
|||
# JavaScript 中的字符串引号规则 |
|||
# -- Leave - 保持原样 |
|||
# -- Single - 全部使用单引号 |
|||
# -- Double - 全部使用双引号 |
|||
JavaScriptQuotes: Leave |
|||
|
|||
# 是否在 JavaScript 的 import/export 语句后换行 |
|||
# JavaScriptWrapImports: true |
|||
|
|||
# # 保留在块开始处的空行 |
|||
# -- true - 保留块起始的空行 |
|||
# -- false - 删除块起始的空行 |
|||
KeepEmptyLinesAtTheStartOfBlocks: true |
|||
|
|||
# 用于识别宏定义型块起始的正则表达式 |
|||
# MacroBlockBegin: '' |
|||
|
|||
# 用于识别宏定义型块结束的正则表达式 |
|||
# MacroBlockEnd: '' |
|||
|
|||
# # 连续空行的最大数量 |
|||
MaxEmptyLinesToKeep: 1 |
|||
|
|||
# # 命名空间内部的缩进规则 |
|||
# -- None - 都不缩进 |
|||
# -- Inner - 只缩进嵌套的命名空间内容 |
|||
# -- All - 缩进所有命名空间内容 |
|||
NamespaceIndentation: Inner |
|||
|
|||
# Objective-C 相关配置 |
|||
# ObjCBlockIndentWidth: 2 |
|||
# ObjCSpaceAfterProperty: false |
|||
# ObjCSpaceBeforeProtocolList: false |
|||
# PenaltyBreakAssignment: 2 |
|||
# PenaltyBreakBeforeFirstCallParameter: 1 |
|||
# PenaltyBreakComment: 300 |
|||
# PenaltyBreakFirstLessLess: 120 |
|||
# PenaltyBreakString: 1000 |
|||
# PenaltyExcessCharacter: 1000000 |
|||
# PenaltyReturnTypeOnItsOwnLine: 200 |
|||
|
|||
# # 指针和引用(*和&)的对齐规则 |
|||
# -- Left - * 靠近左侧 |
|||
# -- Right - * 靠近右侧 |
|||
# -- Middle - * 放在中间 |
|||
# NOTE : 在 SpaceAroundPointerQualifiers 为 Default, |
|||
# 且 DerivePointerAlignment 失效后启用 |
|||
PointerAlignment: Right |
|||
|
|||
# RawStringFormats: |
|||
# - Delimiter: pb |
|||
# Language: TextProto |
|||
# BasedOnStyle: google |
|||
|
|||
# # 重新排版注释 |
|||
ReflowComments: false |
|||
|
|||
# # 重新排序#include |
|||
# -- Never - 不进行排序 |
|||
# -- CaseSensitive - 排序时大小写敏感 |
|||
# -- CaseInsensitive - 排序时大小写不敏感 |
|||
SortIncludes: false |
|||
|
|||
# java 中静态 import 的排序规则 |
|||
# -- Before - 静态放在非静态前方 |
|||
# -- After - 静态放在非静态后方 |
|||
# SortJavaStaticImport: Before |
|||
|
|||
# # 重新排序using声明 |
|||
SortUsingDeclarations: false |
|||
|
|||
# # 在C风格类型转换后添加空格 |
|||
SpaceAfterCStyleCast: false |
|||
|
|||
# # 在Template关键字后面添加空格 |
|||
SpaceAfterTemplateKeyword: true |
|||
|
|||
# # 在赋值运算符之前添加空格 |
|||
SpaceBeforeAssignmentOperators: true |
|||
|
|||
# # 在 C++11 的初始化列表前加空格 |
|||
# SpaceBeforeCpp11BracedList: true |
|||
|
|||
# 在构造函数的初始化冒号":"前加空格 |
|||
# SpaceBeforeCtorInitializerColon: true |
|||
|
|||
# 在构造函数的继承冒号":"前加空格 |
|||
# SpaceBeforeInheritanceColon: true |
|||
|
|||
# 小括号"()"前加空格的规则 |
|||
# -- Never - 从不加空格 |
|||
# -- ControlStatements - 只在控制语句(for/if/while...)时加空格 |
|||
# -- ControlStatementsExceptForEachMacros - 类型 ControlStatements,只是不再 ForEach 后加空格 |
|||
# -- Always - 总是添加空格 |
|||
# -- NonEmptyParentheses - 类似 Always,只是不再空白括号前加空格 |
|||
SpaceBeforeParens: ControlStatements |
|||
|
|||
# 在 for 循环的冒号":"前加空格 |
|||
# SpaceBeforeRangeBasedForLoopColon: true |
|||
|
|||
# # 在空白的小括号"()"中添加空格 |
|||
SpaceInEmptyParentheses: false |
|||
|
|||
# # 在行尾的注释前添加的空格数(只适用于//) |
|||
SpacesBeforeTrailingComments: 1 |
|||
|
|||
# # 在尖括号的"<"后,和">"前添加空格 |
|||
SpacesInAngles: false |
|||
|
|||
# # 在容器(ObjC和JavaScript的数组和字典等)字面量中添加空格 |
|||
SpacesInContainerLiterals: true |
|||
|
|||
# # 在C风格类型转换的括号中添加空格 |
|||
SpacesInCStyleCastParentheses: false |
|||
|
|||
# # 在圆括号的"("后,和")"前添加空格 |
|||
SpacesInParentheses: false |
|||
|
|||
# 在中括号中加空格 |
|||
# 当中括号内没有数据时,不受本规则影响(如空白的lambda 捕获表、不定长度的数组声明) |
|||
SpacesInSquareBrackets: false |
|||
|
|||
# 语言标准: Cpp03, Cpp11, Auto |
|||
Standard: Auto |
|||
|
|||
# # tab宽度 |
|||
TabWidth: 4 |
|||
|
|||
# # 使用tab字符: Never, ForIndentation, ForContinuationAndIndentation, Always |
|||
UseTab: Never |
|||
--- |
|||
--- |
|||
# https://clang.llvm.org/docs/ClangFormatStyleOptions.html |
|||
|
|||
BasedOnStyle: LLVM |
|||
Language: Cpp |
|||
|
|||
# this style configuration is based on google style configuration. |
|||
# The following configuration is different from the basic configuration. |
|||
|
|||
# 缩进宽度 |
|||
IndentWidth: 4 |
|||
|
|||
# 访问权限说明符(public/private等)的偏移 |
|||
AccessModifierOffset: -4 |
|||
|
|||
# # 开括号(开圆括号、尖括号、方括号)后的对齐: Align, DontAlign, AlwaysBreak(总是在开括号后换行) |
|||
# AlignAfterOpenBracket: Align |
|||
|
|||
# # 连续赋值时,对齐所有等号 |
|||
# AlignConsecutiveAssignments: false |
|||
|
|||
# # 连续声明时,对齐所有声明的变量名 |
|||
# AlignConsecutiveDeclarations: false |
|||
|
|||
# 反斜杆换行的对齐方式 |
|||
# -- DontAlign - 不进行对齐 |
|||
# -- Left - 反斜杠靠左对齐 |
|||
# -- Right - 反斜杠靠右对齐 |
|||
# AlignEscapedNewlines: Right |
|||
|
|||
# 二元、三元表达式的对齐方式(当表达式需要占用多行时) |
|||
# -- DontAlign - 不进行对齐 |
|||
# -- Align - 从操作符开始对齐 |
|||
# -- AlignAfterOperator - 从操作数开始对齐 |
|||
AlignOperands: true |
|||
|
|||
# # 是否对齐行尾注释 |
|||
# AlignTrailingComments: true |
|||
|
|||
# # 函数声明的所有参数在放在下一行 |
|||
# AllowAllParametersOfDeclarationOnNextLine: false |
|||
|
|||
# # 是否允许短的代码块放在同一行 |
|||
# AllowShortBlocksOnASingleLine: false |
|||
|
|||
# # 短的case标签和语句放在同一行 |
|||
# AllowShortCaseLabelsOnASingleLine: true |
|||
|
|||
# # 短的函数放在同一行 |
|||
# -- None - 不把短的函数放在同一行 |
|||
# -- InlineOnly - 只把类内的内联函数放在同一行,全局的空函数不放在同一行 |
|||
# -- Empty - 只把空的函数放在同一行 |
|||
# -- Inline - 把类内的内联函数放在同一行,全局的空函数不放在同一行 |
|||
# -- All - 都允许放在同一行 |
|||
AllowShortFunctionsOnASingleLine: InlineOnly |
|||
|
|||
# # 短的if语句保持在同一行 |
|||
# AllowShortIfStatementsOnASingleLine: true |
|||
|
|||
# # 短的循环保持在同一行 |
|||
# AllowShortLoopsOnASingleLine: true |
|||
|
|||
# # 总是在返回类型后换行: None, All, TopLevel(顶级函数,不包括在类中的函数), |
|||
# # AllDefinitions(所有的定义,不包括声明), TopLevelDefinitions(所有的顶级函数的定义) |
|||
# AlwaysBreakAfterReturnType: None |
|||
|
|||
# # 总是在多行string字面量前换行 |
|||
# AlwaysBreakBeforeMultilineStrings: true |
|||
|
|||
# # 总是在template声明后换行 |
|||
AlwaysBreakTemplateDeclarations: true |
|||
|
|||
# # 函数调用时,参数的放置规则 |
|||
# -- false - 参数要么放在同一行,要么每个参数占用一行 |
|||
# -- true - 不做强制要求 |
|||
# BinPackArguments: true |
|||
|
|||
# 函数声明、定义时,参数的放置规则 |
|||
# -- false - 参数要么放在同一行,要么每个参数占用一行 |
|||
# -- true - 不做强制要求 |
|||
# BinPackParameters: true |
|||
|
|||
# 大括号放置风格 |
|||
# -- Attach - 大括号紧随前方内容,放在同一行 |
|||
# -- Linux - 与 Attach 类似,除了 函数、命名空间、类定义 的大括号放在下一行 |
|||
# -- Mozilla - 与 Attach 类似,除了枚举、函数、结构(class\struct\union)的大括号放在下一行 |
|||
# -- Stroustrup - 与 Attach 类似,但函数定义前、catch前方、else前方的"{}"放在单独一行 |
|||
# -- Allman - 总是换行 |
|||
# -- Whitesmiths - 类似 Allman,但"{}"和内部的语句对齐到同样位置 |
|||
# -- GNU - 总是换行,但在控制语句后的"{}"总是对齐到下一个位置 |
|||
# -- WebKit - 与 Attach 类似,但在函数定义前换行 |
|||
# -- Custom - 依赖 BraceWrapping |
|||
# 注:这里认为语句块也属于函数 |
|||
BreakBeforeBraces: Attach |
|||
|
|||
# 大括号换行,只有当BreakBeforeBraces设置为Custom时才有效 |
|||
BraceWrapping: |
|||
# class定义后面 |
|||
AfterClass: false |
|||
# 控制语句后面 |
|||
AfterControlStatement: false |
|||
# enum定义后面 |
|||
AfterEnum: false |
|||
# 函数定义后面 |
|||
AfterFunction: true |
|||
# 命名空间定义后面 |
|||
AfterNamespace: true |
|||
# ObjC定义后面 |
|||
AfterObjCDeclaration: false |
|||
# struct定义后面 |
|||
AfterStruct: false |
|||
# union定义后面 |
|||
AfterUnion: false |
|||
# extern之后 |
|||
AfterExternBlock: true |
|||
# catch之前 |
|||
BeforeCatch: false |
|||
# else之前 |
|||
BeforeElse: false |
|||
# 继续缩进大括号 |
|||
IndentBraces: false |
|||
# 分离空函数 |
|||
# # 当空白函数的"{}"和函数名称不需要放在同一行时,是否拆分函数体 |
|||
SplitEmptyFunction: true |
|||
# 分离空语句 |
|||
# # 当空白结构(class\struct\union)的"{}"需要放在单独的行时,是否拆分"{}" |
|||
SplitEmptyRecord: true |
|||
# 分离空命名空间 |
|||
# # 当空白的命名空间的"{}"需要放在单独的行时,是否拆分"{}" |
|||
SplitEmptyNamespace: true |
|||
|
|||
# # 在二元运算符前换行: None(在操作符后换行), NonAssignment(在非赋值的操作符前换行), All(在操作符前换行) |
|||
BreakBeforeBinaryOperators: NonAssignment |
|||
|
|||
# BreakBeforeInheritanceComma: false |
|||
|
|||
# # 在三元运算符前换行 |
|||
# 当三元表达式不能放在同一行时,是否在三元操作符前方换行 |
|||
# -- true - 操作符位于新行的首部 |
|||
# -- false - 操作符位于上一行的尾部 |
|||
BreakBeforeTernaryOperators: true |
|||
|
|||
# BreakConstructorInitializersBeforeComma: false |
|||
|
|||
# # 构造函数初始化列表分割方式 |
|||
# -- BeforeColon - 在冒号 ':' 前方分割,冒号位于行首,逗号','位于行尾 |
|||
# -- BeforeComma - 在冒号和逗号前方分割,冒号和逗号都位于行首,并且对齐 |
|||
# -- AfterColon - 在冒号和逗号后方分割,冒号和逗号位于行尾 |
|||
BreakConstructorInitializers: BeforeColon |
|||
|
|||
# # 是否在每个java注解后方换行 |
|||
# BreakAfterJavaFieldAnnotations: false |
|||
|
|||
# # 是否分割过长的字符串 |
|||
# BreakStringLiterals: false |
|||
|
|||
# # 每行字符长度的限制,0表示没有限制 |
|||
ColumnLimit: 100 |
|||
|
|||
# # 用于匹配注释信息的正则表达式,被匹配的行不会做任何修改 |
|||
# CommentPragmas: '^ IWYU pragma:' |
|||
# 是否压缩紧接的命名空间 |
|||
# -- true - 将紧跟的命名空间放在同一行 |
|||
# -- false - 每个命名空间位于新的一行 |
|||
CompactNamespaces: false |
|||
|
|||
# # 构造函数的初始化列表要么都在同一行,要么都各自一行 |
|||
# -- true - 如果可能,初始化列表放在同一行;如果不满足长度选择,则每个单独放一行 |
|||
# -- false - 初始化列表可以随意放置 |
|||
# ConstructorInitializerAllOnOneLineOrOnePerLine: false |
|||
|
|||
# # 构造函数的初始化列表和基类集成列表的对齐宽度 |
|||
ConstructorInitializerIndentWidth: 4 |
|||
|
|||
# # 延续语句的对齐宽度 |
|||
ContinuationIndentWidth: 4 |
|||
|
|||
# # 去除C++11的列表初始化的大括号{后和}前的空格 |
|||
Cpp11BracedListStyle: true |
|||
|
|||
# 是否自动分析指针的对齐方式 |
|||
# -- true - 自动分析并使用指针的对齐方式,若无法分析,则使用 PointerAlignment |
|||
# -- false - 不自动分析 |
|||
# DerivePointerAlignment: true |
|||
|
|||
# 是否禁用格式化 |
|||
DisableFormat: false |
|||
# ExperimentalAutoDetectBinPacking: false |
|||
|
|||
# 是否自动修正命名空间的结束注释 |
|||
# -- true - 在短的命名空间尾部,自动添加或修改错误的命名空间结束注释 |
|||
# -- false - 不自动修正 |
|||
FixNamespaceComments: true |
|||
|
|||
# foreach 循环 |
|||
ForEachMacros: |
|||
- foreach |
|||
- Q_FOREACH |
|||
- BOOST_FOREACH |
|||
|
|||
# 多个 include 块(有空行分隔的include)排序时的分组规则 |
|||
# -- Preserve - 保留原有的块分隔,各自排序 |
|||
# -- Merge - 将所有的块视为同一个,然后进行排序 |
|||
# -- Regroup - 将所有的块视为同一个进行排序,然后按照 IncludeCategories 的规则进行分组 |
|||
IncludeBlocks: Preserve |
|||
|
|||
# IncludeCategories: |
|||
# - Regex: '^<ext/.*\.h>' |
|||
# Priority: 2 |
|||
# - Regex: '^<.*\.h>' |
|||
# Priority: 1 |
|||
# - Regex: '^<.*' |
|||
# Priority: 2 |
|||
# - Regex: '.*' |
|||
# Priority: 3 |
|||
# IncludeIsMainRegex: '([-_](test|unittest))?$' |
|||
|
|||
# # 缩进case标签 |
|||
# -- true - case 不与 switch 对齐 |
|||
# -- false - case 和 switch 对齐 |
|||
IndentCaseLabels: true |
|||
|
|||
# 预处理命令(#if\#ifdef\#endif等)的缩进规则 |
|||
# -- None - 不进行缩进 |
|||
# -- AfterHash - 在前导'#'后缩进,'#'放在最左侧,之后的语句参与缩进 |
|||
# -- BeforeHash - 在前导'#'前进行缩进 |
|||
IndentPPDirectives: AfterHash |
|||
|
|||
# # 函数返回类型换行时,缩进函数声明或函数定义的函数名 |
|||
# IndentWrappedFunctionNames: false |
|||
|
|||
# JavaScript 中的字符串引号规则 |
|||
# -- Leave - 保持原样 |
|||
# -- Single - 全部使用单引号 |
|||
# -- Double - 全部使用双引号 |
|||
JavaScriptQuotes: Leave |
|||
|
|||
# 是否在 JavaScript 的 import/export 语句后换行 |
|||
# JavaScriptWrapImports: true |
|||
|
|||
# # 保留在块开始处的空行 |
|||
# -- true - 保留块起始的空行 |
|||
# -- false - 删除块起始的空行 |
|||
KeepEmptyLinesAtTheStartOfBlocks: true |
|||
|
|||
# 用于识别宏定义型块起始的正则表达式 |
|||
# MacroBlockBegin: '' |
|||
|
|||
# 用于识别宏定义型块结束的正则表达式 |
|||
# MacroBlockEnd: '' |
|||
|
|||
# # 连续空行的最大数量 |
|||
MaxEmptyLinesToKeep: 1 |
|||
|
|||
# # 命名空间内部的缩进规则 |
|||
# -- None - 都不缩进 |
|||
# -- Inner - 只缩进嵌套的命名空间内容 |
|||
# -- All - 缩进所有命名空间内容 |
|||
NamespaceIndentation: Inner |
|||
|
|||
# Objective-C 相关配置 |
|||
# ObjCBlockIndentWidth: 2 |
|||
# ObjCSpaceAfterProperty: false |
|||
# ObjCSpaceBeforeProtocolList: false |
|||
# PenaltyBreakAssignment: 2 |
|||
# PenaltyBreakBeforeFirstCallParameter: 1 |
|||
# PenaltyBreakComment: 300 |
|||
# PenaltyBreakFirstLessLess: 120 |
|||
# PenaltyBreakString: 1000 |
|||
# PenaltyExcessCharacter: 1000000 |
|||
# PenaltyReturnTypeOnItsOwnLine: 200 |
|||
|
|||
# # 指针和引用(*和&)的对齐规则 |
|||
# -- Left - * 靠近左侧 |
|||
# -- Right - * 靠近右侧 |
|||
# -- Middle - * 放在中间 |
|||
# NOTE : 在 SpaceAroundPointerQualifiers 为 Default, |
|||
# 且 DerivePointerAlignment 失效后启用 |
|||
PointerAlignment: Right |
|||
|
|||
# RawStringFormats: |
|||
# - Delimiter: pb |
|||
# Language: TextProto |
|||
# BasedOnStyle: google |
|||
|
|||
# # 重新排版注释 |
|||
ReflowComments: false |
|||
|
|||
# # 重新排序#include |
|||
# -- Never - 不进行排序 |
|||
# -- CaseSensitive - 排序时大小写敏感 |
|||
# -- CaseInsensitive - 排序时大小写不敏感 |
|||
SortIncludes: false |
|||
|
|||
# java 中静态 import 的排序规则 |
|||
# -- Before - 静态放在非静态前方 |
|||
# -- After - 静态放在非静态后方 |
|||
# SortJavaStaticImport: Before |
|||
|
|||
# # 重新排序using声明 |
|||
SortUsingDeclarations: false |
|||
|
|||
# # 在C风格类型转换后添加空格 |
|||
SpaceAfterCStyleCast: false |
|||
|
|||
# # 在Template关键字后面添加空格 |
|||
SpaceAfterTemplateKeyword: true |
|||
|
|||
# # 在赋值运算符之前添加空格 |
|||
SpaceBeforeAssignmentOperators: true |
|||
|
|||
# # 在 C++11 的初始化列表前加空格 |
|||
# SpaceBeforeCpp11BracedList: true |
|||
|
|||
# 在构造函数的初始化冒号":"前加空格 |
|||
# SpaceBeforeCtorInitializerColon: true |
|||
|
|||
# 在构造函数的继承冒号":"前加空格 |
|||
# SpaceBeforeInheritanceColon: true |
|||
|
|||
# 小括号"()"前加空格的规则 |
|||
# -- Never - 从不加空格 |
|||
# -- ControlStatements - 只在控制语句(for/if/while...)时加空格 |
|||
# -- ControlStatementsExceptForEachMacros - 类型 ControlStatements,只是不再 ForEach 后加空格 |
|||
# -- Always - 总是添加空格 |
|||
# -- NonEmptyParentheses - 类似 Always,只是不再空白括号前加空格 |
|||
SpaceBeforeParens: ControlStatements |
|||
|
|||
# 在 for 循环的冒号":"前加空格 |
|||
# SpaceBeforeRangeBasedForLoopColon: true |
|||
|
|||
# # 在空白的小括号"()"中添加空格 |
|||
SpaceInEmptyParentheses: false |
|||
|
|||
# # 在行尾的注释前添加的空格数(只适用于//) |
|||
SpacesBeforeTrailingComments: 1 |
|||
|
|||
# # 在尖括号的"<"后,和">"前添加空格 |
|||
SpacesInAngles: false |
|||
|
|||
# # 在容器(ObjC和JavaScript的数组和字典等)字面量中添加空格 |
|||
SpacesInContainerLiterals: true |
|||
|
|||
# # 在C风格类型转换的括号中添加空格 |
|||
SpacesInCStyleCastParentheses: false |
|||
|
|||
# # 在圆括号的"("后,和")"前添加空格 |
|||
SpacesInParentheses: false |
|||
|
|||
# 在中括号中加空格 |
|||
# 当中括号内没有数据时,不受本规则影响(如空白的lambda 捕获表、不定长度的数组声明) |
|||
SpacesInSquareBrackets: false |
|||
|
|||
# 语言标准: Cpp03, Cpp11, Auto |
|||
Standard: Auto |
|||
|
|||
# # tab宽度 |
|||
TabWidth: 4 |
|||
|
|||
# # 使用tab字符: Never, ForIndentation, ForContinuationAndIndentation, Always |
|||
UseTab: Never |
|||
--- |
|||
|
@ -1,33 +1,33 @@ |
|||
Checks: " |
|||
-*, |
|||
bugprone-*, |
|||
-bugprone-easily-swappable-parameters, |
|||
performance-*, |
|||
readability-*, |
|||
-readability-braces-around-statements, |
|||
-readability-magic-numbers, |
|||
-readability-identifier-length, |
|||
misc-*, |
|||
-misc-non-private-member-variables-in-classes, |
|||
clang-analyzer-*, |
|||
clang-diagnostic-*, |
|||
cppcoreguidelines-*, |
|||
modernize-*, |
|||
|
|||
performance-unnecessary-value-param, |
|||
modernize-pass-by-value, |
|||
|
|||
|
|||
-modernize-use-trailing-return-type, |
|||
-cppcoreguidelines-magic-numbers, |
|||
-cppcoreguidelines-init-variables, |
|||
-cppcoreguidelines-pro-type-member-init, |
|||
" |
|||
CheckOptions: |
|||
- key: misc-non-private-member-variables-in-classes.Level |
|||
value: None |
|||
|
|||
WarningsAsErrors: '' |
|||
HeaderFilterRegex: '.*' |
|||
AnalyzeTemporaryDtors: false |
|||
Checks: " |
|||
-*, |
|||
bugprone-*, |
|||
-bugprone-easily-swappable-parameters, |
|||
performance-*, |
|||
readability-*, |
|||
-readability-braces-around-statements, |
|||
-readability-magic-numbers, |
|||
-readability-identifier-length, |
|||
misc-*, |
|||
-misc-non-private-member-variables-in-classes, |
|||
clang-analyzer-*, |
|||
clang-diagnostic-*, |
|||
cppcoreguidelines-*, |
|||
modernize-*, |
|||
|
|||
performance-unnecessary-value-param, |
|||
modernize-pass-by-value, |
|||
|
|||
|
|||
-modernize-use-trailing-return-type, |
|||
-cppcoreguidelines-magic-numbers, |
|||
-cppcoreguidelines-init-variables, |
|||
-cppcoreguidelines-pro-type-member-init, |
|||
" |
|||
CheckOptions: |
|||
- key: misc-non-private-member-variables-in-classes.Level |
|||
value: None |
|||
|
|||
WarningsAsErrors: '' |
|||
HeaderFilterRegex: '.*' |
|||
AnalyzeTemporaryDtors: false |
|||
FormatStyle: file |
@ -1,18 +1,20 @@ |
|||
#include <iostream> |
|||
#include "line.hpp" |
|||
#include "solid.hpp" |
|||
|
|||
// TIP To <b>Run</b> code, press <shortcut actionId="Run"/> or
|
|||
// click the <icon src="AllIcons.Actions.Execute"/> icon in the gutter.
|
|||
int main() { |
|||
Polyline axis{{}, {}, Vec3()}; |
|||
ExtrudedSolidPolyline a({axis}, axis); |
|||
const Vec3 queryP = Vec3(); |
|||
auto f = a.sdf(queryP); |
|||
void testPrint(const ISolid &solid, const Vec3 &queryPt) { |
|||
std::cout << "sdf on " << queryPt << " = " << solid.sdf(queryPt) << std::endl; |
|||
} |
|||
|
|||
return 0; |
|||
void caseCyliner() { |
|||
Polyline profile{{{-1, 0., 0}, {1., 0., 0.}}, {1., 1.}, {0, 0, -1}, true}; |
|||
Polyline axis{{{0, 0, 0}, {0, 0, 2}}, {0}, {0, 1, 0}}; |
|||
ExtrudedSolidPolyline extrusion({profile}, axis); |
|||
testPrint(extrusion, {1, 2, 1}); |
|||
testPrint(extrusion, {1, 2, -1}); |
|||
} |
|||
|
|||
// TIP See CLion help at <a
|
|||
// href="https://www.jetbrains.com/help/clion/">jetbrains.com/help/clion/</a>.
|
|||
// Also, you can try interactive lessons for CLion by selecting
|
|||
// 'Help | Learn IDE Features' from the main menu.
|
|||
int main() { |
|||
caseCyliner(); |
|||
return 0; |
|||
} |
Loading…
Reference in new issue