Checks: '-*,
bugprone-*,
performance-*,
misc-*,
cppcoreguidelines-avoid-non-const-global-variables,
cppcoreguidelines-avoid-goto,
readability-qualified-auto,
readability-identifier-naming,
readability-make-member-function-const,
readability-const-return-type,
readability-function-size,
readability-inconsistent-declaration-parameter-name'
CheckOptions:
  - { key: readability-identifier-naming.ClassCase,     value: CamelCase  }
  - { key: readability-identifier-naming.UnionCase,     value: CamelCase  }
  - { key: readability-identifier-naming.EnumCase,      value: CamelCase  }
  - { key: readability-identifier-naming.EnumConstantCase, value: lower_case  }
  - { key: readability-identifier-naming.TypeAliasCase, value: CamelCase  }
  - { key: readability-identifier-naming.TemplateParameterCase, value: lower_case  }
  - { key: readability-identifier-naming.TypeTemplateParameterCase, value: CamelCase  }
  - { key: readability-identifier-naming.MemberCase,    value: lower_case }
  - { key: readability-identifier-naming.MemberSuffix,  value: _          }
  - { key: readability-identifier-naming.NamespaceCase, value: lower_case }
  - { key: readability-identifier-naming.VariableCase,  value: lower_case }
  - { key: readability-identifier-naming.FunctionCase,  value: lower_case }
  - { key: readability-identifier-naming.ParameterCase, value: lower_case }
  - { key: readability-identifier-naming.StructCase,    value: lower_case }
  - { key: readability-function-size.LineThreshold, value: 60}
  - { key: performance-unnecessary-value-param.AllowedTypes, value: '[Rr]ef(erence)?$;Ptr$;ptr$'}
  - { key: misc-non-private-member-variables-in-classes.IgnoreClassesWithAllMemberVariablesBeingPublic, value: 1}