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