3135 lines · plain
1.. title:: clang-tidy - readability-identifier-naming2 3readability-identifier-naming4=============================5 6Checks for identifiers naming style mismatch.7 8This check will try to enforce coding guidelines on the identifiers naming. It9supports one of the following casing types and tries to convert from one to10another if a mismatch is detected11 12Casing types include:13 14 - ``lower_case``15 - ``UPPER_CASE``16 - ``camelBack``17 - ``CamelCase``18 - ``camel_Snake_Back``19 - ``Camel_Snake_Case``20 - ``aNy_CasE``21 - ``Leading_upper_snake_case``22 23It also supports a fixed prefix and suffix that will be prepended or appended24to the identifiers, regardless of the casing.25 26Many configuration options are available, in order to be able to create27different rules for different kinds of identifiers. In general, the rules are28falling back to a more generic rule if the specific case is not configured.29 30The naming of virtual methods is reported where they occur in the base class,31but not where they are overridden, as it can't be fixed locally there.32This also applies for pseudo-override patterns like CRTP.33 34``Leading_upper_snake_case`` is a naming convention where the first word is35capitalized followed by lower case word(s) separated by underscore(s) '_'.36Examples include: `Cap_snake_case`, `Cobra_case`, `Foo_bar_baz`,37and `Master_copy_8gb`.38 39Hungarian notation can be customized using different *HungarianPrefix*40settings. The options and their corresponding values are:41 42 - ``Off`` - the default setting43 - ``On`` - example: ``int iVariable``44 - ``LowerCase`` - example: ``int i_Variable``45 - ``CamelCase`` - example: ``int IVariable``46 47Options summary48---------------49 50The available options are summarized below:51 52**General options**53 54 - :option:`AggressiveDependentMemberLookup`55 - :option:`CheckAnonFieldInParent`56 - :option:`GetConfigPerFile`57 - :option:`IgnoreMainLikeFunctions`58 59**Specific options**60 61 - :option:`AbstractClassCase`, :option:`AbstractClassPrefix`,62 :option:`AbstractClassSuffix`, :option:`AbstractClassIgnoredRegexp`,63 :option:`AbstractClassHungarianPrefix`64 - :option:`ClassCase`, :option:`ClassPrefix`, :option:`ClassSuffix`,65 :option:`ClassIgnoredRegexp`, :option:`ClassHungarianPrefix`66 - :option:`ClassConstexprCase`, :option:`ClassConstexprPrefix`,67 :option:`ClassConstexprSuffix`, :option:`ClassConstexprIgnoredRegexp`,68 :option:`ClassConstexprHungarianPrefix`69 - :option:`ClassConstantCase`, :option:`ClassConstantPrefix`,70 :option:`ClassConstantSuffix`, :option:`ClassConstantIgnoredRegexp`,71 :option:`ClassConstantHungarianPrefix`72 - :option:`ClassMemberCase`, :option:`ClassMemberPrefix`,73 :option:`ClassMemberSuffix`, :option:`ClassMemberIgnoredRegexp`,74 :option:`ClassMemberHungarianPrefix`75 - :option:`ClassMethodCase`, :option:`ClassMethodPrefix`,76 :option:`ClassMethodSuffix`, :option:`ClassMethodIgnoredRegexp`77 - :option:`ConceptCase`, :option:`ConceptPrefix`, :option:`ConceptSuffix`,78 :option:`ConceptIgnoredRegexp`79 - :option:`ConstantCase`, :option:`ConstantPrefix`, :option:`ConstantSuffix`,80 :option:`ConstantIgnoredRegexp`, :option:`ConstantHungarianPrefix`81 - :option:`ConstantMemberCase`, :option:`ConstantMemberPrefix`,82 :option:`ConstantMemberSuffix`, :option:`ConstantMemberIgnoredRegexp`,83 :option:`ConstantMemberHungarianPrefix`84 - :option:`ConstantParameterCase`, :option:`ConstantParameterPrefix`,85 :option:`ConstantParameterSuffix`, :option:`ConstantParameterIgnoredRegexp`,86 :option:`ConstantParameterHungarianPrefix`87 - :option:`ConstantPointerParameterCase`,88 :option:`ConstantPointerParameterPrefix`,89 :option:`ConstantPointerParameterSuffix`,90 :option:`ConstantPointerParameterIgnoredRegexp`,91 :option:`ConstantPointerParameterHungarianPrefix`92 - :option:`ConstexprFunctionCase`, :option:`ConstexprFunctionPrefix`,93 :option:`ConstexprFunctionSuffix`, :option:`ConstexprFunctionIgnoredRegexp`94 - :option:`ConstexprMethodCase`, :option:`ConstexprMethodPrefix`,95 :option:`ConstexprMethodSuffix`, :option:`ConstexprMethodIgnoredRegexp`96 - :option:`ConstexprVariableCase`, :option:`ConstexprVariablePrefix`,97 :option:`ConstexprVariableSuffix`, :option:`ConstexprVariableIgnoredRegexp`,98 :option:`ConstexprVariableHungarianPrefix`99 - :option:`EnumCase`, :option:`EnumPrefix`, :option:`EnumSuffix`,100 :option:`EnumIgnoredRegexp`101 - :option:`EnumConstantCase`, :option:`EnumConstantPrefix`,102 :option:`EnumConstantSuffix`, :option:`EnumConstantIgnoredRegexp`,103 :option:`EnumConstantHungarianPrefix`104 - :option:`FunctionCase`, :option:`FunctionPrefix`, :option:`FunctionSuffix`,105 :option:`FunctionIgnoredRegexp`106 - :option:`GlobalConstexprVariableCase`,107 :option:`GlobalConstexprVariablePrefix`,108 :option:`GlobalConstexprVariableSuffix`,109 :option:`GlobalConstexprVariableIgnoredRegexp`,110 :option:`GlobalConstexprVariableHungarianPrefix`111 - :option:`GlobalConstantCase`, :option:`GlobalConstantPrefix`,112 :option:`GlobalConstantSuffix`, :option:`GlobalConstantIgnoredRegexp`,113 :option:`GlobalConstantHungarianPrefix`114 - :option:`GlobalConstantPointerCase`,115 :option:`GlobalConstantPointerPrefix`,116 :option:`GlobalConstantPointerSuffix`,117 :option:`GlobalConstantPointerIgnoredRegexp`,118 :option:`GlobalConstantPointerHungarianPrefix`119 - :option:`GlobalFunctionCase`, :option:`GlobalFunctionPrefix`,120 :option:`GlobalFunctionSuffix`, :option:`GlobalFunctionIgnoredRegexp`121 - :option:`GlobalPointerCase`, :option:`GlobalPointerPrefix`,122 :option:`GlobalPointerSuffix`, :option:`GlobalPointerIgnoredRegexp`,123 :option:`GlobalPointerHungarianPrefix`124 - :option:`GlobalVariableCase`, :option:`GlobalVariablePrefix`,125 :option:`GlobalVariableSuffix`, :option:`GlobalVariableIgnoredRegexp`,126 :option:`GlobalVariableHungarianPrefix`127 - :option:`InlineNamespaceCase`, :option:`InlineNamespacePrefix`,128 :option:`InlineNamespaceSuffix`, :option:`InlineNamespaceIgnoredRegexp`129 - :option:`LocalConstexprVariableCase`,130 :option:`LocalConstexprVariablePrefix`,131 :option:`LocalConstexprVariableSuffix`,132 :option:`LocalConstexprVariableIgnoredRegexp`,133 :option:`LocalConstexprVariableHungarianPrefix`134 - :option:`LocalConstantCase`, :option:`LocalConstantPrefix`,135 :option:`LocalConstantSuffix`, :option:`LocalConstantIgnoredRegexp`,136 :option:`LocalConstantHungarianPrefix`137 - :option:`LocalConstantPointerCase`,138 :option:`LocalConstantPointerPrefix`,139 :option:`LocalConstantPointerSuffix`,140 :option:`LocalConstantPointerIgnoredRegexp`,141 :option:`LocalConstantPointerHungarianPrefix`142 - :option:`LocalPointerCase`, :option:`LocalPointerPrefix`,143 :option:`LocalPointerSuffix`, :option:`LocalPointerIgnoredRegexp`,144 :option:`LocalPointerHungarianPrefix`145 - :option:`LocalVariableCase`, :option:`LocalVariablePrefix`,146 :option:`LocalVariableSuffix`, :option:`LocalVariableIgnoredRegexp`,147 :option:`LocalVariableHungarianPrefix`148 - :option:`MacroDefinitionCase`, :option:`MacroDefinitionPrefix`,149 :option:`MacroDefinitionSuffix`, :option:`MacroDefinitionIgnoredRegexp`150 - :option:`MemberCase`, :option:`MemberPrefix`, :option:`MemberSuffix`,151 :option:`MemberIgnoredRegexp`, :option:`MemberHungarianPrefix`152 - :option:`MethodCase`, :option:`MethodPrefix`, :option:`MethodSuffix`,153 :option:`MethodIgnoredRegexp`154 - :option:`NamespaceCase`, :option:`NamespacePrefix`,155 :option:`NamespaceSuffix`, :option:`NamespaceIgnoredRegexp`156 - :option:`ParameterCase`, :option:`ParameterPrefix`,157 :option:`ParameterSuffix`, :option:`ParameterIgnoredRegexp`,158 :option:`ParameterHungarianPrefix`159 - :option:`ParameterPackCase`, :option:`ParameterPackPrefix`,160 :option:`ParameterPackSuffix`, :option:`ParameterPackIgnoredRegexp`161 - :option:`PointerParameterCase`, :option:`PointerParameterPrefix`,162 :option:`PointerParameterSuffix`, :option:`PointerParameterIgnoredRegexp`,163 :option:`PointerParameterHungarianPrefix`164 - :option:`PrivateMemberCase`, :option:`PrivateMemberPrefix`,165 :option:`PrivateMemberSuffix`, :option:`PrivateMemberIgnoredRegexp`,166 :option:`PrivateMemberHungarianPrefix`167 - :option:`PrivateMethodCase`, :option:`PrivateMethodPrefix`,168 :option:`PrivateMethodSuffix`, :option:`PrivateMethodIgnoredRegexp`169 - :option:`ProtectedMemberCase`, :option:`ProtectedMemberPrefix`,170 :option:`ProtectedMemberSuffix`, :option:`ProtectedMemberIgnoredRegexp`,171 :option:`ProtectedMemberHungarianPrefix`172 - :option:`ProtectedMethodCase`, :option:`ProtectedMethodPrefix`,173 :option:`ProtectedMethodSuffix`, :option:`ProtectedMethodIgnoredRegexp`174 - :option:`PublicMemberCase`, :option:`PublicMemberPrefix`,175 :option:`PublicMemberSuffix`, :option:`PublicMemberIgnoredRegexp`,176 :option:`PublicMemberHungarianPrefix`177 - :option:`PublicMethodCase`, :option:`PublicMethodPrefix`,178 :option:`PublicMethodSuffix`, :option:`PublicMethodIgnoredRegexp`179 - :option:`ScopedEnumConstantCase`, :option:`ScopedEnumConstantPrefix`,180 :option:`ScopedEnumConstantSuffix`,181 :option:`ScopedEnumConstantIgnoredRegexp`182 - :option:`StaticConstexprVariableCase`,183 :option:`StaticConstexprVariablePrefix`,184 :option:`StaticConstexprVariableSuffix`,185 :option:`StaticConstexprVariableIgnoredRegexp`,186 :option:`StaticConstexprVariableHungarianPrefix`187 - :option:`StaticConstantCase`, :option:`StaticConstantPrefix`,188 :option:`StaticConstantSuffix`, :option:`StaticConstantIgnoredRegexp`,189 :option:`StaticConstantHungarianPrefix`190 - :option:`StaticVariableCase`, :option:`StaticVariablePrefix`,191 :option:`StaticVariableSuffix`, :option:`StaticVariableIgnoredRegexp`,192 :option:`StaticVariableHungarianPrefix`193 - :option:`StructCase`, :option:`StructPrefix`, :option:`StructSuffix`,194 :option:`StructIgnoredRegexp`195 - :option:`TemplateParameterCase`, :option:`TemplateParameterPrefix`,196 :option:`TemplateParameterSuffix`, :option:`TemplateParameterIgnoredRegexp`197 - :option:`TemplateTemplateParameterCase`,198 :option:`TemplateTemplateParameterPrefix`,199 :option:`TemplateTemplateParameterSuffix`,200 :option:`TemplateTemplateParameterIgnoredRegexp`201 - :option:`TypeAliasCase`, :option:`TypeAliasPrefix`,202 :option:`TypeAliasSuffix`, :option:`TypeAliasIgnoredRegexp`203 - :option:`TypedefCase`, :option:`TypedefPrefix`, :option:`TypedefSuffix`,204 :option:`TypedefIgnoredRegexp`205 - :option:`TypeTemplateParameterCase`,206 :option:`TypeTemplateParameterPrefix`,207 :option:`TypeTemplateParameterSuffix`,208 :option:`TypeTemplateParameterIgnoredRegexp`209 - :option:`UnionCase`, :option:`UnionPrefix`, :option:`UnionSuffix`,210 :option:`UnionIgnoredRegexp`211 - :option:`ValueTemplateParameterCase`,212 :option:`ValueTemplateParameterPrefix`,213 :option:`ValueTemplateParameterSuffix`,214 :option:`ValueTemplateParameterIgnoredRegexp`215 - :option:`VariableCase`, :option:`VariablePrefix`, :option:`VariableSuffix`,216 :option:`VariableIgnoredRegexp`, :option:`VariableHungarianPrefix`217 - :option:`VirtualMethodCase`, :option:`VirtualMethodPrefix`,218 :option:`VirtualMethodSuffix`, :option:`VirtualMethodIgnoredRegexp`219 220 221Options description222-------------------223 224A detailed description of each option is presented below:225 226.. option:: AbstractClassCase227 228 When defined, the check will ensure abstract class names conform to the229 selected casing.230 231.. option:: AbstractClassPrefix232 233 When defined, the check will ensure abstract class names will add the234 prefixed with the given value (regardless of casing).235 236.. option:: AbstractClassIgnoredRegexp237 238 Identifier naming checks won't be enforced for abstract class names239 matching this regular expression.240 241.. option:: AbstractClassSuffix242 243 When defined, the check will ensure abstract class names will add the244 suffix with the given value (regardless of casing).245 246.. option:: AbstractClassHungarianPrefix247 248 When enabled, the check ensures that the declared identifier will249 have a Hungarian notation prefix based on the declared type.250 251For example using values of:252 253 - AbstractClassCase of ``lower_case``254 - AbstractClassPrefix of ``pre_``255 - AbstractClassSuffix of ``_post``256 - AbstractClassHungarianPrefix of ``On``257 258 259Identifies and/or transforms abstract class names as follows:260 261Before:262 263.. code-block:: c++264 265 class ABSTRACT_CLASS {266 public:267 ABSTRACT_CLASS();268 };269 270After:271 272.. code-block:: c++273 274 class pre_abstract_class_post {275 public:276 pre_abstract_class_post();277 };278 279.. option:: AggressiveDependentMemberLookup280 281 When set to `true` the check will look in dependent base classes for dependent282 member references that need changing. This can lead to errors with template283 specializations so the default value is `false`.284 285For example using values of:286 287 - ClassMemberCase of ``lower_case``288 289Before:290 291.. code-block:: c++292 293 template <typename T>294 struct Base {295 T BadNamedMember;296 };297 298 template <typename T>299 struct Derived : Base<T> {300 void reset() {301 this->BadNamedMember = 0;302 }303 };304 305After if AggressiveDependentMemberLookup is `false`:306 307.. code-block:: c++308 309 template <typename T>310 struct Base {311 T bad_named_member;312 };313 314 template <typename T>315 struct Derived : Base<T> {316 void reset() {317 this->BadNamedMember = 0;318 }319 };320 321After if AggressiveDependentMemberLookup is `true`:322 323.. code-block:: c++324 325 template <typename T>326 struct Base {327 T bad_named_member;328 };329 330 template <typename T>331 struct Derived : Base<T> {332 void reset() {333 this->bad_named_member = 0;334 }335 };336 337.. option:: CheckAnonFieldInParent338 339 When set to `true`, fields in anonymous records (i.e. anonymous340 unions and structs) will be treated as names in the enclosing scope341 rather than public members of the anonymous record for the purpose342 of name checking.343 344For example:345 346.. code-block:: c++347 348 class Foo {349 private:350 union {351 int iv_;352 float fv_;353 };354 };355 356If :option:`CheckAnonFieldInParent` is `false`, you may get warnings357that ``iv_`` and ``fv_`` are not coherent to public member names, because358``iv_`` and ``fv_`` are public members of the anonymous union. When359:option:`CheckAnonFieldInParent` is `true`, ``iv_`` and ``fv_`` will be360treated as private data members of ``Foo`` for the purpose of name checking361and thus no warnings will be emitted.362 363.. option:: ClassCase364 365 When defined, the check will ensure class names conform to the366 selected casing.367 368.. option:: ClassPrefix369 370 When defined, the check will ensure class names will add the371 prefixed with the given value (regardless of casing).372 373.. option:: ClassIgnoredRegexp374 375 Identifier naming checks won't be enforced for class names matching376 this regular expression.377 378.. option:: ClassSuffix379 380 When defined, the check will ensure class names will add the381 suffix with the given value (regardless of casing).382 383.. option:: ClassHungarianPrefix384 385 When enabled, the check ensures that the declared identifier will386 have a Hungarian notation prefix based on the declared type.387 388For example using values of:389 390 - ClassCase of ``lower_case``391 - ClassPrefix of ``pre_``392 - ClassSuffix of ``_post``393 - ClassHungarianPrefix of ``On``394 395Identifies and/or transforms class names as follows:396 397Before:398 399.. code-block:: c++400 401 class FOO {402 public:403 FOO();404 ~FOO();405 };406 407After:408 409.. code-block:: c++410 411 class pre_foo_post {412 public:413 pre_foo_post();414 ~pre_foo_post();415 };416 417.. option:: ClassConstexprCase418 419 When defined, the check will ensure class ``constexpr`` names conform to420 the selected casing.421 422.. option:: ClassConstexprPrefix423 424 When defined, the check will ensure class ``constexpr`` names will add the425 prefixed with the given value (regardless of casing).426 427.. option:: ClassConstexprIgnoredRegexp428 429 Identifier naming checks won't be enforced for class ``constexpr`` names430 matching this regular expression.431 432.. option:: ClassConstexprSuffix433 434 When defined, the check will ensure class ``constexpr`` names will add the435 suffix with the given value (regardless of casing).436 437.. option:: ClassConstexprHungarianPrefix438 439 When enabled, the check ensures that the declared identifier will have a440 Hungarian notation prefix based on the declared type.441 442For example using values of:443 444 - ClassConstexprCase of ``lower_case``445 - ClassConstexprPrefix of ``pre_``446 - ClassConstexprSuffix of ``_post``447 - ClassConstexprHungarianPrefix of ``On``448 449Identifies and/or transforms class ``constexpr`` variable names as follows:450 451Before:452 453.. code-block:: c++454 455 class FOO {456 public:457 static constexpr int CLASS_CONSTEXPR;458 };459 460After:461 462.. code-block:: c++463 464 class FOO {465 public:466 static const int pre_class_constexpr_post;467 };468 469.. option:: ClassConstantCase470 471 When defined, the check will ensure class constant names conform to the472 selected casing.473 474.. option:: ClassConstantPrefix475 476 When defined, the check will ensure class constant names will add the477 prefixed with the given value (regardless of casing).478 479.. option:: ClassConstantIgnoredRegexp480 481 Identifier naming checks won't be enforced for class constant names482 matching this regular expression.483 484.. option:: ClassConstantSuffix485 486 When defined, the check will ensure class constant names will add the487 suffix with the given value (regardless of casing).488 489.. option:: ClassConstantHungarianPrefix490 491 When enabled, the check ensures that the declared identifier will492 have a Hungarian notation prefix based on the declared type.493 494For example using values of:495 496 - ClassConstantCase of ``lower_case``497 - ClassConstantPrefix of ``pre_``498 - ClassConstantSuffix of ``_post``499 - ClassConstantHungarianPrefix of ``On``500 501Identifies and/or transforms class constant names as follows:502 503Before:504 505.. code-block:: c++506 507 class FOO {508 public:509 static const int CLASS_CONSTANT;510 };511 512After:513 514.. code-block:: c++515 516 class FOO {517 public:518 static const int pre_class_constant_post;519 };520 521.. option:: ClassMemberCase522 523 When defined, the check will ensure class member names conform to the524 selected casing.525 526.. option:: ClassMemberPrefix527 528 When defined, the check will ensure class member names will add the529 prefixed with the given value (regardless of casing).530 531.. option:: ClassMemberIgnoredRegexp532 533 Identifier naming checks won't be enforced for class member names534 matching this regular expression.535 536.. option:: ClassMemberSuffix537 538 When defined, the check will ensure class member names will add the539 suffix with the given value (regardless of casing).540 541.. option:: ClassMemberHungarianPrefix542 543 When enabled, the check ensures that the declared identifier will544 have a Hungarian notation prefix based on the declared type.545 546For example using values of:547 548 - ClassMemberCase of ``lower_case``549 - ClassMemberPrefix of ``pre_``550 - ClassMemberSuffix of ``_post``551 - ClassMemberHungarianPrefix of ``On``552 553Identifies and/or transforms class member names as follows:554 555Before:556 557.. code-block:: c++558 559 class FOO {560 public:561 static int CLASS_CONSTANT;562 };563 564After:565 566.. code-block:: c++567 568 class FOO {569 public:570 static int pre_class_constant_post;571 };572 573.. option:: ClassMethodCase574 575 When defined, the check will ensure class method names conform to the576 selected casing.577 578.. option:: ClassMethodPrefix579 580 When defined, the check will ensure class method names will add the581 prefixed with the given value (regardless of casing).582 583.. option:: ClassMethodIgnoredRegexp584 585 Identifier naming checks won't be enforced for class method names586 matching this regular expression.587 588.. option:: ClassMethodSuffix589 590 When defined, the check will ensure class method names will add the591 suffix with the given value (regardless of casing).592 593For example using values of:594 595 - ClassMethodCase of ``lower_case``596 - ClassMethodPrefix of ``pre_``597 - ClassMethodSuffix of ``_post``598 599Identifies and/or transforms class method names as follows:600 601Before:602 603.. code-block:: c++604 605 class FOO {606 public:607 int CLASS_MEMBER();608 };609 610After:611 612.. code-block:: c++613 614 class FOO {615 public:616 int pre_class_member_post();617 };618 619.. option:: ConceptCase620 621 When defined, the check will ensure concept names conform to the622 selected casing.623 624.. option:: ConceptPrefix625 626 When defined, the check will ensure concept names will add the627 prefixed with the given value (regardless of casing).628 629.. option:: ConceptIgnoredRegexp630 631 Identifier naming checks won't be enforced for concept names632 matching this regular expression.633 634.. option:: ConceptSuffix635 636 When defined, the check will ensure concept names will add the637 suffix with the given value (regardless of casing).638 639For example using values of:640 641 - ConceptCase of ``CamelCase``642 - ConceptPrefix of ``Pre``643 - ConceptSuffix of ``Post``644 645Identifies and/or transforms concept names as follows:646 647Before:648 649.. code-block:: c++650 651 template<typename T> concept my_concept = requires (T t) { {t++}; };652 653After:654 655.. code-block:: c++656 657 template<typename T> concept PreMyConceptPost = requires (T t) { {t++}; };658 659.. option:: ConstantCase660 661 When defined, the check will ensure constant names conform to the662 selected casing.663 664.. option:: ConstantPrefix665 666 When defined, the check will ensure constant names will add the667 prefixed with the given value (regardless of casing).668 669.. option:: ConstantIgnoredRegexp670 671 Identifier naming checks won't be enforced for constant names672 matching this regular expression.673 674.. option:: ConstantSuffix675 676 When defined, the check will ensure constant names will add the677 suffix with the given value (regardless of casing).678 679.. option:: ConstantHungarianPrefix680 681 When enabled, the check ensures that the declared identifier will682 have a Hungarian notation prefix based on the declared type.683 684For example using values of:685 686 - ConstantCase of ``lower_case``687 - ConstantPrefix of ``pre_``688 - ConstantSuffix of ``_post``689 - ConstantHungarianPrefix of ``On``690 691Identifies and/or transforms constant names as follows:692 693Before:694 695.. code-block:: c++696 697 void function() { unsigned const MyConst_array[] = {1, 2, 3}; }698 699After:700 701.. code-block:: c++702 703 void function() { unsigned const pre_myconst_array_post[] = {1, 2, 3}; }704 705.. option:: ConstantMemberCase706 707 When defined, the check will ensure constant member names conform to the708 selected casing.709 710.. option:: ConstantMemberPrefix711 712 When defined, the check will ensure constant member names will add the713 prefixed with the given value (regardless of casing).714 715.. option:: ConstantMemberIgnoredRegexp716 717 Identifier naming checks won't be enforced for constant member names718 matching this regular expression.719 720.. option:: ConstantMemberSuffix721 722 When defined, the check will ensure constant member names will add the723 suffix with the given value (regardless of casing).724 725.. option:: ConstantMemberHungarianPrefix726 727 When enabled, the check ensures that the declared identifier will728 have a Hungarian notation prefix based on the declared type.729 730For example using values of:731 732 - ConstantMemberCase of ``lower_case``733 - ConstantMemberPrefix of ``pre_``734 - ConstantMemberSuffix of ``_post``735 - ConstantMemberHungarianPrefix of ``On``736 737Identifies and/or transforms constant member names as follows:738 739Before:740 741.. code-block:: c++742 743 class Foo {744 char const MY_ConstMember_string[4] = "123";745 }746 747After:748 749.. code-block:: c++750 751 class Foo {752 char const pre_my_constmember_string_post[4] = "123";753 }754 755.. option:: ConstantParameterCase756 757 When defined, the check will ensure constant parameter names conform to the758 selected casing.759 760.. option:: ConstantParameterPrefix761 762 When defined, the check will ensure constant parameter names will add the763 prefixed with the given value (regardless of casing).764 765.. option:: ConstantParameterIgnoredRegexp766 767 Identifier naming checks won't be enforced for constant parameter names768 matching this regular expression.769 770.. option:: ConstantParameterSuffix771 772 When defined, the check will ensure constant parameter names will add the773 suffix with the given value (regardless of casing).774 775.. option:: ConstantParameterHungarianPrefix776 777 When enabled, the check ensures that the declared identifier will778 have a Hungarian notation prefix based on the declared type.779 780For example using values of:781 782 - ConstantParameterCase of ``lower_case``783 - ConstantParameterPrefix of ``pre_``784 - ConstantParameterSuffix of ``_post``785 - ConstantParameterHungarianPrefix of ``On``786 787Identifies and/or transforms constant parameter names as follows:788 789Before:790 791.. code-block:: c++792 793 void GLOBAL_FUNCTION(int PARAMETER_1, int const CONST_parameter);794 795After:796 797.. code-block:: c++798 799 void GLOBAL_FUNCTION(int PARAMETER_1, int const pre_const_parameter_post);800 801.. option:: ConstantPointerParameterCase802 803 When defined, the check will ensure constant pointer parameter names conform to the804 selected casing.805 806.. option:: ConstantPointerParameterPrefix807 808 When defined, the check will ensure constant pointer parameter names will add the809 prefixed with the given value (regardless of casing).810 811.. option:: ConstantPointerParameterIgnoredRegexp812 813 Identifier naming checks won't be enforced for constant pointer parameter814 names matching this regular expression.815 816.. option:: ConstantPointerParameterSuffix817 818 When defined, the check will ensure constant pointer parameter names will add the819 suffix with the given value (regardless of casing).820 821.. option:: ConstantPointerParameterHungarianPrefix822 823 When enabled, the check ensures that the declared identifier will824 have a Hungarian notation prefix based on the declared type.825 826For example using values of:827 828 - ConstantPointerParameterCase of ``lower_case``829 - ConstantPointerParameterPrefix of ``pre_``830 - ConstantPointerParameterSuffix of ``_post``831 - ConstantPointerParameterHungarianPrefix of ``On``832 833Identifies and/or transforms constant pointer parameter names as follows:834 835Before:836 837.. code-block:: c++838 839 void GLOBAL_FUNCTION(int const *CONST_parameter);840 841After:842 843.. code-block:: c++844 845 void GLOBAL_FUNCTION(int const *pre_const_parameter_post);846 847.. option:: ConstexprFunctionCase848 849 When defined, the check will ensure constexpr function names conform to the850 selected casing.851 852.. option:: ConstexprFunctionPrefix853 854 When defined, the check will ensure constexpr function names will add the855 prefixed with the given value (regardless of casing).856 857.. option:: ConstexprFunctionIgnoredRegexp858 859 Identifier naming checks won't be enforced for constexpr function names860 matching this regular expression.861 862.. option:: ConstexprFunctionSuffix863 864 When defined, the check will ensure constexpr function names will add the865 suffix with the given value (regardless of casing).866 867For example using values of:868 869 - ConstexprFunctionCase of ``lower_case``870 - ConstexprFunctionPrefix of ``pre_``871 - ConstexprFunctionSuffix of ``_post``872 873Identifies and/or transforms constexpr function names as follows:874 875Before:876 877.. code-block:: c++878 879 constexpr int CE_function() { return 3; }880 881After:882 883.. code-block:: c++884 885 constexpr int pre_ce_function_post() { return 3; }886 887.. option:: ConstexprMethodCase888 889 When defined, the check will ensure constexpr method names conform to the890 selected casing.891 892.. option:: ConstexprMethodPrefix893 894 When defined, the check will ensure constexpr method names will add the895 prefixed with the given value (regardless of casing).896 897.. option:: ConstexprMethodIgnoredRegexp898 899 Identifier naming checks won't be enforced for constexpr method names900 matching this regular expression.901 902.. option:: ConstexprMethodSuffix903 904 When defined, the check will ensure constexpr method names will add the905 suffix with the given value (regardless of casing).906 907For example using values of:908 909 - ConstexprMethodCase of ``lower_case``910 - ConstexprMethodPrefix of ``pre_``911 - ConstexprMethodSuffix of ``_post``912 913Identifies and/or transforms constexpr method names as follows:914 915Before:916 917.. code-block:: c++918 919 class Foo {920 public:921 constexpr int CST_expr_Method() { return 2; }922 }923 924After:925 926.. code-block:: c++927 928 class Foo {929 public:930 constexpr int pre_cst_expr_method_post() { return 2; }931 }932 933.. option:: ConstexprVariableCase934 935 When defined, the check will ensure constexpr variable names conform to the936 selected casing.937 938.. option:: ConstexprVariablePrefix939 940 When defined, the check will ensure constexpr variable names will add the941 prefixed with the given value (regardless of casing).942 943.. option:: ConstexprVariableIgnoredRegexp944 945 Identifier naming checks won't be enforced for constexpr variable names946 matching this regular expression.947 948.. option:: ConstexprVariableSuffix949 950 When defined, the check will ensure constexpr variable names will add the951 suffix with the given value (regardless of casing).952 953.. option:: ConstexprVariableHungarianPrefix954 955 When enabled, the check ensures that the declared identifier will956 have a Hungarian notation prefix based on the declared type.957 958For example using values of:959 960 - ConstexprVariableCase of ``lower_case``961 - ConstexprVariablePrefix of ``pre_``962 - ConstexprVariableSuffix of ``_post``963 - ConstexprVariableHungarianPrefix of ``On``964 965Identifies and/or transforms constexpr variable names as follows:966 967Before:968 969.. code-block:: c++970 971 constexpr int ConstExpr_variable = MyConstant;972 973After:974 975.. code-block:: c++976 977 constexpr int pre_constexpr_variable_post = MyConstant;978 979.. option:: EnumCase980 981 When defined, the check will ensure enumeration names conform to the982 selected casing.983 984.. option:: EnumPrefix985 986 When defined, the check will ensure enumeration names will add the987 prefixed with the given value (regardless of casing).988 989.. option:: EnumIgnoredRegexp990 991 Identifier naming checks won't be enforced for enumeration names992 matching this regular expression.993 994.. option:: EnumSuffix995 996 When defined, the check will ensure enumeration names will add the997 suffix with the given value (regardless of casing).998 999For example using values of:1000 1001 - EnumCase of ``lower_case``1002 - EnumPrefix of ``pre_``1003 - EnumSuffix of ``_post``1004 1005Identifies and/or transforms enumeration names as follows:1006 1007Before:1008 1009.. code-block:: c++1010 1011 enum FOO { One, Two, Three };1012 1013After:1014 1015.. code-block:: c++1016 1017 enum pre_foo_post { One, Two, Three };1018 1019.. option:: EnumConstantCase1020 1021 When defined, the check will ensure enumeration constant names conform to the1022 selected casing.1023 1024.. option:: EnumConstantPrefix1025 1026 When defined, the check will ensure enumeration constant names will add the1027 prefixed with the given value (regardless of casing).1028 1029.. option:: EnumConstantIgnoredRegexp1030 1031 Identifier naming checks won't be enforced for enumeration constant names1032 matching this regular expression.1033 1034.. option:: EnumConstantSuffix1035 1036 When defined, the check will ensure enumeration constant names will add the1037 suffix with the given value (regardless of casing).1038 1039.. option:: EnumConstantHungarianPrefix1040 1041 When enabled, the check ensures that the declared identifier will1042 have a Hungarian notation prefix based on the declared type.1043 1044For example using values of:1045 1046 - EnumConstantCase of ``lower_case``1047 - EnumConstantPrefix of ``pre_``1048 - EnumConstantSuffix of ``_post``1049 - EnumConstantHungarianPrefix of ``On``1050 1051Identifies and/or transforms enumeration constant names as follows:1052 1053Before:1054 1055.. code-block:: c++1056 1057 enum FOO { One, Two, Three };1058 1059After:1060 1061.. code-block:: c++1062 1063 enum FOO { pre_One_post, pre_Two_post, pre_Three_post };1064 1065.. option:: FunctionCase1066 1067 When defined, the check will ensure function names conform to the1068 selected casing.1069 1070.. option:: FunctionPrefix1071 1072 When defined, the check will ensure function names will add the1073 prefixed with the given value (regardless of casing).1074 1075.. option:: FunctionIgnoredRegexp1076 1077 Identifier naming checks won't be enforced for function names1078 matching this regular expression.1079 1080.. option:: FunctionSuffix1081 1082 When defined, the check will ensure function names will add the1083 suffix with the given value (regardless of casing).1084 1085For example using values of:1086 1087 - FunctionCase of ``lower_case``1088 - FunctionPrefix of ``pre_``1089 - FunctionSuffix of ``_post``1090 1091Identifies and/or transforms function names as follows:1092 1093Before:1094 1095.. code-block:: c++1096 1097 char MY_Function_string();1098 1099After:1100 1101.. code-block:: c++1102 1103 char pre_my_function_string_post();1104 1105.. option:: GetConfigPerFile1106 1107 When `true` the check will look for the configuration for where an1108 identifier is declared. Useful for when included header files use a1109 different style.1110 Default value is `true`.1111 1112.. option:: GlobalConstexprVariableCase1113 1114 When defined, the check will ensure global ``constexpr`` variable names1115 conform to the selected casing.1116 1117.. option:: GlobalConstexprVariablePrefix1118 1119 When defined, the check will ensure global ``constexpr`` variable names1120 will add the prefixed with the given value (regardless of casing).1121 1122.. option:: GlobalConstexprVariableIgnoredRegexp1123 1124 Identifier naming checks won't be enforced for global ``constexpr``1125 variable names matching this regular expression.1126 1127.. option:: GlobalConstexprVariableSuffix1128 1129 When defined, the check will ensure global ``constexpr`` variable names1130 will add the suffix with the given value (regardless of casing).1131 1132.. option:: GlobalConstexprVariableHungarianPrefix1133 1134 When enabled, the check ensures that the declared identifier will have a1135 Hungarian notation prefix based on the declared type.1136 1137For example using values of:1138 1139 - GlobalConstexprVariableCase of ``lower_case``1140 - GlobalConstexprVariablePrefix of ``pre_``1141 - GlobalConstexprVariableSuffix of ``_post``1142 - GlobalConstexprVariableHungarianPrefix of ``On``1143 1144Identifies and/or transforms global ``constexpr`` variable names as follows:1145 1146Before:1147 1148.. code-block:: c++1149 1150 constexpr unsigned ImportantValue = 69;1151 1152After:1153 1154.. code-block:: c++1155 1156 constexpr unsigned pre_important_value_post = 69;1157 1158.. option:: GlobalConstantCase1159 1160 When defined, the check will ensure global constant names conform to the1161 selected casing.1162 1163.. option:: GlobalConstantPrefix1164 1165 When defined, the check will ensure global constant names will add the1166 prefixed with the given value (regardless of casing).1167 1168.. option:: GlobalConstantIgnoredRegexp1169 1170 Identifier naming checks won't be enforced for global constant names1171 matching this regular expression.1172 1173.. option:: GlobalConstantSuffix1174 1175 When defined, the check will ensure global constant names will add the1176 suffix with the given value (regardless of casing).1177 1178.. option:: GlobalConstantHungarianPrefix1179 1180 When enabled, the check ensures that the declared identifier will1181 have a Hungarian notation prefix based on the declared type.1182 1183For example using values of:1184 1185 - GlobalConstantCase of ``lower_case``1186 - GlobalConstantPrefix of ``pre_``1187 - GlobalConstantSuffix of ``_post``1188 - GlobalConstantHungarianPrefix of ``On``1189 1190Identifies and/or transforms global constant names as follows:1191 1192Before:1193 1194.. code-block:: c++1195 1196 unsigned const MyConstGlobal_array[] = {1, 2, 3};1197 1198After:1199 1200.. code-block:: c++1201 1202 unsigned const pre_myconstglobal_array_post[] = {1, 2, 3};1203 1204.. option:: GlobalConstantPointerCase1205 1206 When defined, the check will ensure global constant pointer names conform to the1207 selected casing.1208 1209.. option:: GlobalConstantPointerPrefix1210 1211 When defined, the check will ensure global constant pointer names will add the1212 prefixed with the given value (regardless of casing).1213 1214.. option:: GlobalConstantPointerIgnoredRegexp1215 1216 Identifier naming checks won't be enforced for global constant pointer1217 names matching this regular expression.1218 1219.. option:: GlobalConstantPointerSuffix1220 1221 When defined, the check will ensure global constant pointer names will add the1222 suffix with the given value (regardless of casing).1223 1224.. option:: GlobalConstantPointerHungarianPrefix1225 1226 When enabled, the check ensures that the declared identifier will1227 have a Hungarian notation prefix based on the declared type.1228 1229For example using values of:1230 1231 - GlobalConstantPointerCase of ``lower_case``1232 - GlobalConstantPointerPrefix of ``pre_``1233 - GlobalConstantPointerSuffix of ``_post``1234 - GlobalConstantPointerHungarianPrefix of ``On``1235 1236Identifies and/or transforms global constant pointer names as follows:1237 1238Before:1239 1240.. code-block:: c++1241 1242 int *const MyConstantGlobalPointer = nullptr;1243 1244After:1245 1246.. code-block:: c++1247 1248 int *const pre_myconstantglobalpointer_post = nullptr;1249 1250.. option:: GlobalFunctionCase1251 1252 When defined, the check will ensure global function names conform to the1253 selected casing.1254 1255.. option:: GlobalFunctionPrefix1256 1257 When defined, the check will ensure global function names will add the1258 prefixed with the given value (regardless of casing).1259 1260.. option:: GlobalFunctionIgnoredRegexp1261 1262 Identifier naming checks won't be enforced for global function names1263 matching this regular expression.1264 1265.. option:: GlobalFunctionSuffix1266 1267 When defined, the check will ensure global function names will add the1268 suffix with the given value (regardless of casing).1269 1270For example using values of:1271 1272 - GlobalFunctionCase of ``lower_case``1273 - GlobalFunctionPrefix of ``pre_``1274 - GlobalFunctionSuffix of ``_post``1275 1276Identifies and/or transforms global function names as follows:1277 1278Before:1279 1280.. code-block:: c++1281 1282 void GLOBAL_FUNCTION(int PARAMETER_1, int const CONST_parameter);1283 1284After:1285 1286.. code-block:: c++1287 1288 void pre_global_function_post(int PARAMETER_1, int const CONST_parameter);1289 1290.. option:: GlobalPointerCase1291 1292 When defined, the check will ensure global pointer names conform to the1293 selected casing.1294 1295.. option:: GlobalPointerPrefix1296 1297 When defined, the check will ensure global pointer names will add the1298 prefixed with the given value (regardless of casing).1299 1300.. option:: GlobalPointerIgnoredRegexp1301 1302 Identifier naming checks won't be enforced for global pointer names1303 matching this regular expression.1304 1305.. option:: GlobalPointerSuffix1306 1307 When defined, the check will ensure global pointer names will add the1308 suffix with the given value (regardless of casing).1309 1310.. option:: GlobalPointerHungarianPrefix1311 1312 When enabled, the check ensures that the declared identifier will1313 have a Hungarian notation prefix based on the declared type.1314 1315For example using values of:1316 1317 - GlobalPointerCase of ``lower_case``1318 - GlobalPointerPrefix of ``pre_``1319 - GlobalPointerSuffix of ``_post``1320 - GlobalPointerHungarianPrefix of ``On``1321 1322Identifies and/or transforms global pointer names as follows:1323 1324Before:1325 1326.. code-block:: c++1327 1328 int *GLOBAL3;1329 1330After:1331 1332.. code-block:: c++1333 1334 int *pre_global3_post;1335 1336.. option:: GlobalVariableCase1337 1338 When defined, the check will ensure global variable names conform to the1339 selected casing.1340 1341.. option:: GlobalVariablePrefix1342 1343 When defined, the check will ensure global variable names will add the1344 prefixed with the given value (regardless of casing).1345 1346.. option:: GlobalVariableIgnoredRegexp1347 1348 Identifier naming checks won't be enforced for global variable names1349 matching this regular expression.1350 1351.. option:: GlobalVariableSuffix1352 1353 When defined, the check will ensure global variable names will add the1354 suffix with the given value (regardless of casing).1355 1356.. option:: GlobalVariableHungarianPrefix1357 1358 When enabled, the check ensures that the declared identifier will1359 have a Hungarian notation prefix based on the declared type.1360 1361For example using values of:1362 1363 - GlobalVariableCase of ``lower_case``1364 - GlobalVariablePrefix of ``pre_``1365 - GlobalVariableSuffix of ``_post``1366 - GlobalVariableHungarianPrefix of ``On``1367 1368Identifies and/or transforms global variable names as follows:1369 1370Before:1371 1372.. code-block:: c++1373 1374 int GLOBAL3;1375 1376After:1377 1378.. code-block:: c++1379 1380 int pre_global3_post;1381 1382.. option:: IgnoreMainLikeFunctions1383 1384 When set to `true` functions that have a similar signature to ``main`` or1385 ``wmain`` won't enforce checks on the names of their parameters.1386 Default value is `false`.1387 1388.. option:: InlineNamespaceCase1389 1390 When defined, the check will ensure inline namespaces names conform to the1391 selected casing.1392 1393.. option:: InlineNamespacePrefix1394 1395 When defined, the check will ensure inline namespaces names will add the1396 prefixed with the given value (regardless of casing).1397 1398.. option:: InlineNamespaceIgnoredRegexp1399 1400 Identifier naming checks won't be enforced for inline namespaces names1401 matching this regular expression.1402 1403.. option:: InlineNamespaceSuffix1404 1405 When defined, the check will ensure inline namespaces names will add the1406 suffix with the given value (regardless of casing).1407 1408For example using values of:1409 1410 - InlineNamespaceCase of ``lower_case``1411 - InlineNamespacePrefix of ``pre_``1412 - InlineNamespaceSuffix of ``_post``1413 1414Identifies and/or transforms inline namespaces names as follows:1415 1416Before:1417 1418.. code-block:: c++1419 1420 namespace FOO_NS {1421 inline namespace InlineNamespace {1422 ...1423 }1424 } // namespace FOO_NS1425 1426After:1427 1428.. code-block:: c++1429 1430 namespace FOO_NS {1431 inline namespace pre_inlinenamespace_post {1432 ...1433 }1434 } // namespace FOO_NS1435 1436.. option:: LocalConstexprVariableCase1437 1438 When defined, the check will ensure local ``constexpr`` variable names1439 conform to the selected casing.1440 1441.. option:: LocalConstexprVariablePrefix1442 1443 When defined, the check will ensure local ``constexpr`` variable names will1444 add the prefixed with the given value (regardless of casing).1445 1446.. option:: LocalConstexprVariableIgnoredRegexp1447 1448 Identifier naming checks won't be enforced for local ``constexpr`` variable1449 names matching this regular expression.1450 1451.. option:: LocalConstexprVariableSuffix1452 1453 When defined, the check will ensure local ``constexpr`` variable names will1454 add the suffix with the given value (regardless of casing).1455 1456.. option:: LocalConstexprVariableHungarianPrefix1457 1458 When enabled, the check ensures that the declared identifier will have a1459 Hungarian notation prefix based on the declared type.1460 1461For example using values of:1462 1463 - LocalConstexprVariableCase of ``lower_case``1464 - LocalConstexprVariablePrefix of ``pre_``1465 - LocalConstexprVariableSuffix of ``_post``1466 - LocalConstexprVariableHungarianPrefix of ``On``1467 1468Identifies and/or transforms local ``constexpr`` variable names as follows:1469 1470Before:1471 1472.. code-block:: c++1473 1474 void foo() { int const local_Constexpr = 420; }1475 1476After:1477 1478.. code-block:: c++1479 1480 void foo() { int const pre_local_constexpr_post = 420; }1481 1482.. option:: LocalConstantCase1483 1484 When defined, the check will ensure local constant names conform to the1485 selected casing.1486 1487.. option:: LocalConstantPrefix1488 1489 When defined, the check will ensure local constant names will add the1490 prefixed with the given value (regardless of casing).1491 1492.. option:: LocalConstantIgnoredRegexp1493 1494 Identifier naming checks won't be enforced for local constant names1495 matching this regular expression.1496 1497.. option:: LocalConstantSuffix1498 1499 When defined, the check will ensure local constant names will add the1500 suffix with the given value (regardless of casing).1501 1502.. option:: LocalConstantHungarianPrefix1503 1504 When enabled, the check ensures that the declared identifier will1505 have a Hungarian notation prefix based on the declared type.1506 1507For example using values of:1508 1509 - LocalConstantCase of ``lower_case``1510 - LocalConstantPrefix of ``pre_``1511 - LocalConstantSuffix of ``_post``1512 - LocalConstantHungarianPrefix of ``On``1513 1514Identifies and/or transforms local constant names as follows:1515 1516Before:1517 1518.. code-block:: c++1519 1520 void foo() { int const local_Constant = 3; }1521 1522After:1523 1524.. code-block:: c++1525 1526 void foo() { int const pre_local_constant_post = 3; }1527 1528.. option:: LocalConstantPointerCase1529 1530 When defined, the check will ensure local constant pointer names conform to the1531 selected casing.1532 1533.. option:: LocalConstantPointerPrefix1534 1535 When defined, the check will ensure local constant pointer names will add the1536 prefixed with the given value (regardless of casing).1537 1538.. option:: LocalConstantPointerIgnoredRegexp1539 1540 Identifier naming checks won't be enforced for local constant pointer names1541 matching this regular expression.1542 1543.. option:: LocalConstantPointerSuffix1544 1545 When defined, the check will ensure local constant pointer names will add the1546 suffix with the given value (regardless of casing).1547 1548.. option:: LocalConstantPointerHungarianPrefix1549 1550 When enabled, the check ensures that the declared identifier will1551 have a Hungarian notation prefix based on the declared type.1552 1553For example using values of:1554 1555 - LocalConstantPointerCase of ``lower_case``1556 - LocalConstantPointerPrefix of ``pre_``1557 - LocalConstantPointerSuffix of ``_post``1558 - LocalConstantPointerHungarianPrefix of ``On``1559 1560Identifies and/or transforms local constant pointer names as follows:1561 1562Before:1563 1564.. code-block:: c++1565 1566 void foo() { int const *local_Constant = 3; }1567 1568After:1569 1570.. code-block:: c++1571 1572 void foo() { int const *pre_local_constant_post = 3; }1573 1574.. option:: LocalPointerCase1575 1576 When defined, the check will ensure local pointer names conform to the1577 selected casing.1578 1579.. option:: LocalPointerPrefix1580 1581 When defined, the check will ensure local pointer names will add the1582 prefixed with the given value (regardless of casing).1583 1584.. option:: LocalPointerIgnoredRegexp1585 1586 Identifier naming checks won't be enforced for local pointer names1587 matching this regular expression.1588 1589.. option:: LocalPointerSuffix1590 1591 When defined, the check will ensure local pointer names will add the1592 suffix with the given value (regardless of casing).1593 1594.. option:: LocalPointerHungarianPrefix1595 1596 When enabled, the check ensures that the declared identifier will1597 have a Hungarian notation prefix based on the declared type.1598 1599For example using values of:1600 1601 - LocalPointerCase of ``lower_case``1602 - LocalPointerPrefix of ``pre_``1603 - LocalPointerSuffix of ``_post``1604 - LocalPointerHungarianPrefix of ``On``1605 1606Identifies and/or transforms local pointer names as follows:1607 1608Before:1609 1610.. code-block:: c++1611 1612 void foo() { int *local_Constant; }1613 1614After:1615 1616.. code-block:: c++1617 1618 void foo() { int *pre_local_constant_post; }1619 1620.. option:: LocalVariableCase1621 1622 When defined, the check will ensure local variable names conform to the1623 selected casing.1624 1625.. option:: LocalVariablePrefix1626 1627 When defined, the check will ensure local variable names will add the1628 prefixed with the given value (regardless of casing).1629 1630.. option:: LocalVariableIgnoredRegexp1631 1632 Identifier naming checks won't be enforced for local variable names1633 matching this regular expression.1634 1635For example using values of:1636 1637 - LocalVariableCase of ``CamelCase``1638 - LocalVariableIgnoredRegexp of ``\w{1,2}``1639 1640Will exclude variables with a length less than or equal to 2 from the1641camel case check applied to other variables.1642 1643.. option:: LocalVariableSuffix1644 1645 When defined, the check will ensure local variable names will add the1646 suffix with the given value (regardless of casing).1647 1648.. option:: LocalVariableHungarianPrefix1649 1650 When enabled, the check ensures that the declared identifier will1651 have a Hungarian notation prefix based on the declared type.1652 1653For example using values of:1654 1655 - LocalVariableCase of ``lower_case``1656 - LocalVariablePrefix of ``pre_``1657 - LocalVariableSuffix of ``_post``1658 - LocalVariableHungarianPrefix of ``On``1659 1660Identifies and/or transforms local variable names as follows:1661 1662Before:1663 1664.. code-block:: c++1665 1666 void foo() { int local_Constant; }1667 1668After:1669 1670.. code-block:: c++1671 1672 void foo() { int pre_local_constant_post; }1673 1674.. option:: MacroDefinitionCase1675 1676 When defined, the check will ensure macro definitions conform to the1677 selected casing.1678 1679.. option:: MacroDefinitionPrefix1680 1681 When defined, the check will ensure macro definitions will add the1682 prefixed with the given value (regardless of casing).1683 1684.. option:: MacroDefinitionIgnoredRegexp1685 1686 Identifier naming checks won't be enforced for macro definitions1687 matching this regular expression.1688 1689.. option:: MacroDefinitionSuffix1690 1691 When defined, the check will ensure macro definitions will add the1692 suffix with the given value (regardless of casing).1693 1694For example using values of:1695 1696 - MacroDefinitionCase of ``lower_case``1697 - MacroDefinitionPrefix of ``pre_``1698 - MacroDefinitionSuffix of ``_post``1699 1700Identifies and/or transforms macro definitions as follows:1701 1702Before:1703 1704.. code-block:: c1705 1706 #define MY_MacroDefinition1707 1708After:1709 1710.. code-block:: c1711 1712 #define pre_my_macro_definition_post1713 1714Note: This will not warn on builtin macros or macros defined on the1715command line using the ``-D`` flag.1716 1717.. option:: MemberCase1718 1719 When defined, the check will ensure member names conform to the1720 selected casing.1721 1722.. option:: MemberPrefix1723 1724 When defined, the check will ensure member names will add the1725 prefixed with the given value (regardless of casing).1726 1727.. option:: MemberIgnoredRegexp1728 1729 Identifier naming checks won't be enforced for member names1730 matching this regular expression.1731 1732.. option:: MemberSuffix1733 1734 When defined, the check will ensure member names will add the1735 suffix with the given value (regardless of casing).1736 1737.. option:: MemberHungarianPrefix1738 1739 When enabled, the check ensures that the declared identifier will1740 have a Hungarian notation prefix based on the declared type.1741 1742For example using values of:1743 1744 - MemberCase of ``lower_case``1745 - MemberPrefix of ``pre_``1746 - MemberSuffix of ``_post``1747 - MemberHungarianPrefix of ``On``1748 1749Identifies and/or transforms member names as follows:1750 1751Before:1752 1753.. code-block:: c++1754 1755 class Foo {1756 char MY_ConstMember_string[4];1757 }1758 1759After:1760 1761.. code-block:: c++1762 1763 class Foo {1764 char pre_my_constmember_string_post[4];1765 }1766 1767.. option:: MethodCase1768 1769 When defined, the check will ensure method names conform to the1770 selected casing.1771 1772.. option:: MethodPrefix1773 1774 When defined, the check will ensure method names will add the1775 prefixed with the given value (regardless of casing).1776 1777.. option:: MethodIgnoredRegexp1778 1779 Identifier naming checks won't be enforced for method names1780 matching this regular expression.1781 1782.. option:: MethodSuffix1783 1784 When defined, the check will ensure method names will add the1785 suffix with the given value (regardless of casing).1786 1787For example using values of:1788 1789 - MethodCase of ``lower_case``1790 - MethodPrefix of ``pre_``1791 - MethodSuffix of ``_post``1792 1793Identifies and/or transforms method names as follows:1794 1795Before:1796 1797.. code-block:: c++1798 1799 class Foo {1800 char MY_Method_string();1801 }1802 1803After:1804 1805.. code-block:: c++1806 1807 class Foo {1808 char pre_my_method_string_post();1809 }1810 1811.. option:: NamespaceCase1812 1813 When defined, the check will ensure namespace names conform to the1814 selected casing.1815 1816.. option:: NamespacePrefix1817 1818 When defined, the check will ensure namespace names will add the1819 prefixed with the given value (regardless of casing).1820 1821.. option:: NamespaceIgnoredRegexp1822 1823 Identifier naming checks won't be enforced for namespace names1824 matching this regular expression.1825 1826.. option:: NamespaceSuffix1827 1828 When defined, the check will ensure namespace names will add the1829 suffix with the given value (regardless of casing).1830 1831For example using values of:1832 1833 - NamespaceCase of ``lower_case``1834 - NamespacePrefix of ``pre_``1835 - NamespaceSuffix of ``_post``1836 1837Identifies and/or transforms namespace names as follows:1838 1839Before:1840 1841.. code-block:: c++1842 1843 namespace FOO_NS {1844 ...1845 }1846 1847After:1848 1849.. code-block:: c++1850 1851 namespace pre_foo_ns_post {1852 ...1853 }1854 1855.. option:: ParameterCase1856 1857 When defined, the check will ensure parameter names conform to the1858 selected casing.1859 1860.. option:: ParameterPrefix1861 1862 When defined, the check will ensure parameter names will add the1863 prefixed with the given value (regardless of casing).1864 1865.. option:: ParameterIgnoredRegexp1866 1867 Identifier naming checks won't be enforced for parameter names1868 matching this regular expression.1869 1870.. option:: ParameterSuffix1871 1872 When defined, the check will ensure parameter names will add the1873 suffix with the given value (regardless of casing).1874 1875.. option:: ParameterHungarianPrefix1876 1877 When enabled, the check ensures that the declared identifier will1878 have a Hungarian notation prefix based on the declared type.1879 1880For example using values of:1881 1882 - ParameterCase of ``lower_case``1883 - ParameterPrefix of ``pre_``1884 - ParameterSuffix of ``_post``1885 - ParameterHungarianPrefix of ``On``1886 1887Identifies and/or transforms parameter names as follows:1888 1889Before:1890 1891.. code-block:: c++1892 1893 void GLOBAL_FUNCTION(int PARAMETER_1, int const CONST_parameter);1894 1895After:1896 1897.. code-block:: c++1898 1899 void GLOBAL_FUNCTION(int pre_parameter_post, int const CONST_parameter);1900 1901.. option:: ParameterPackCase1902 1903 When defined, the check will ensure parameter pack names conform to the1904 selected casing.1905 1906.. option:: ParameterPackPrefix1907 1908 When defined, the check will ensure parameter pack names will add the1909 prefixed with the given value (regardless of casing).1910 1911.. option:: ParameterPackIgnoredRegexp1912 1913 Identifier naming checks won't be enforced for parameter pack names1914 matching this regular expression.1915 1916.. option:: ParameterPackSuffix1917 1918 When defined, the check will ensure parameter pack names will add the1919 suffix with the given value (regardless of casing).1920 1921For example using values of:1922 1923 - ParameterPackCase of ``lower_case``1924 - ParameterPackPrefix of ``pre_``1925 - ParameterPackSuffix of ``_post``1926 1927Identifies and/or transforms parameter pack names as follows:1928 1929Before:1930 1931.. code-block:: c++1932 1933 template <typename... TYPE_parameters> {1934 void FUNCTION(int... TYPE_parameters);1935 }1936 1937After:1938 1939.. code-block:: c++1940 1941 template <typename... TYPE_parameters> {1942 void FUNCTION(int... pre_type_parameters_post);1943 }1944 1945.. option:: PointerParameterCase1946 1947 When defined, the check will ensure pointer parameter names conform to the1948 selected casing.1949 1950.. option:: PointerParameterPrefix1951 1952 When defined, the check will ensure pointer parameter names will add the1953 prefixed with the given value (regardless of casing).1954 1955.. option:: PointerParameterIgnoredRegexp1956 1957 Identifier naming checks won't be enforced for pointer parameter names1958 matching this regular expression.1959 1960.. option:: PointerParameterSuffix1961 1962 When defined, the check will ensure pointer parameter names will add the1963 suffix with the given value (regardless of casing).1964 1965.. option:: PointerParameterHungarianPrefix1966 1967 When enabled, the check ensures that the declared identifier will1968 have a Hungarian notation prefix based on the declared type.1969 1970For example using values of:1971 1972 - PointerParameterCase of ``lower_case``1973 - PointerParameterPrefix of ``pre_``1974 - PointerParameterSuffix of ``_post``1975 - PointerParameterHungarianPrefix of ``On``1976 1977Identifies and/or transforms pointer parameter names as follows:1978 1979Before:1980 1981.. code-block:: c++1982 1983 void FUNCTION(int *PARAMETER);1984 1985After:1986 1987.. code-block:: c++1988 1989 void FUNCTION(int *pre_parameter_post);1990 1991.. option:: PrivateMemberCase1992 1993 When defined, the check will ensure private member names conform to the1994 selected casing.1995 1996.. option:: PrivateMemberPrefix1997 1998 When defined, the check will ensure private member names will add the1999 prefixed with the given value (regardless of casing).2000 2001.. option:: PrivateMemberIgnoredRegexp2002 2003 Identifier naming checks won't be enforced for private member names2004 matching this regular expression.2005 2006.. option:: PrivateMemberSuffix2007 2008 When defined, the check will ensure private member names will add the2009 suffix with the given value (regardless of casing).2010 2011.. option:: PrivateMemberHungarianPrefix2012 2013 When enabled, the check ensures that the declared identifier will2014 have a Hungarian notation prefix based on the declared type.2015 2016For example using values of:2017 2018 - PrivateMemberCase of ``lower_case``2019 - PrivateMemberPrefix of ``pre_``2020 - PrivateMemberSuffix of ``_post``2021 - PrivateMemberHungarianPrefix of ``On``2022 2023Identifies and/or transforms private member names as follows:2024 2025Before:2026 2027.. code-block:: c++2028 2029 class Foo {2030 private:2031 int Member_Variable;2032 }2033 2034After:2035 2036.. code-block:: c++2037 2038 class Foo {2039 private:2040 int pre_member_variable_post;2041 }2042 2043.. option:: PrivateMethodCase2044 2045 When defined, the check will ensure private method names conform to the2046 selected casing.2047 2048.. option:: PrivateMethodPrefix2049 2050 When defined, the check will ensure private method names will add the2051 prefixed with the given value (regardless of casing).2052 2053.. option:: PrivateMethodIgnoredRegexp2054 2055 Identifier naming checks won't be enforced for private method names2056 matching this regular expression.2057 2058.. option:: PrivateMethodSuffix2059 2060 When defined, the check will ensure private method names will add the2061 suffix with the given value (regardless of casing).2062 2063For example using values of:2064 2065 - PrivateMethodCase of ``lower_case``2066 - PrivateMethodPrefix of ``pre_``2067 - PrivateMethodSuffix of ``_post``2068 2069Identifies and/or transforms private method names as follows:2070 2071Before:2072 2073.. code-block:: c++2074 2075 class Foo {2076 private:2077 int Member_Method();2078 }2079 2080After:2081 2082.. code-block:: c++2083 2084 class Foo {2085 private:2086 int pre_member_method_post();2087 }2088 2089.. option:: ProtectedMemberCase2090 2091 When defined, the check will ensure protected member names conform to the2092 selected casing.2093 2094.. option:: ProtectedMemberPrefix2095 2096 When defined, the check will ensure protected member names will add the2097 prefixed with the given value (regardless of casing).2098 2099.. option:: ProtectedMemberIgnoredRegexp2100 2101 Identifier naming checks won't be enforced for protected member names2102 matching this regular expression.2103 2104.. option:: ProtectedMemberSuffix2105 2106 When defined, the check will ensure protected member names will add the2107 suffix with the given value (regardless of casing).2108 2109.. option:: ProtectedMemberHungarianPrefix2110 2111 When enabled, the check ensures that the declared identifier will2112 have a Hungarian notation prefix based on the declared type.2113 2114For example using values of:2115 2116 - ProtectedMemberCase of ``lower_case``2117 - ProtectedMemberPrefix of ``pre_``2118 - ProtectedMemberSuffix of ``_post``2119 - ProtectedMemberHungarianPrefix of ``On``2120 2121Identifies and/or transforms protected member names as follows:2122 2123Before:2124 2125.. code-block:: c++2126 2127 class Foo {2128 protected:2129 int Member_Variable;2130 }2131 2132After:2133 2134.. code-block:: c++2135 2136 class Foo {2137 protected:2138 int pre_member_variable_post;2139 }2140 2141.. option:: ProtectedMethodCase2142 2143 When defined, the check will ensure protected method names conform to the2144 selected casing.2145 2146.. option:: ProtectedMethodPrefix2147 2148 When defined, the check will ensure protected method names will add the2149 prefixed with the given value (regardless of casing).2150 2151.. option:: ProtectedMethodIgnoredRegexp2152 2153 Identifier naming checks won't be enforced for protected method names2154 matching this regular expression.2155 2156.. option:: ProtectedMethodSuffix2157 2158 When defined, the check will ensure protected method names will add the2159 suffix with the given value (regardless of casing).2160 2161For example using values of:2162 2163 - ProtectedMethodCase of ``lower_case``2164 - ProtectedMethodPrefix of ``pre_``2165 - ProtectedMethodSuffix of ``_post``2166 2167Identifies and/or transforms protect method names as follows:2168 2169Before:2170 2171.. code-block:: c++2172 2173 class Foo {2174 protected:2175 int Member_Method();2176 }2177 2178After:2179 2180.. code-block:: c++2181 2182 class Foo {2183 protected:2184 int pre_member_method_post();2185 }2186 2187.. option:: PublicMemberCase2188 2189 When defined, the check will ensure public member names conform to the2190 selected casing.2191 2192.. option:: PublicMemberPrefix2193 2194 When defined, the check will ensure public member names will add the2195 prefixed with the given value (regardless of casing).2196 2197.. option:: PublicMemberIgnoredRegexp2198 2199 Identifier naming checks won't be enforced for public member names2200 matching this regular expression.2201 2202.. option:: PublicMemberSuffix2203 2204 When defined, the check will ensure public member names will add the2205 suffix with the given value (regardless of casing).2206 2207.. option:: PublicMemberHungarianPrefix2208 2209 When enabled, the check ensures that the declared identifier will2210 have a Hungarian notation prefix based on the declared type.2211 2212For example using values of:2213 2214 - PublicMemberCase of ``lower_case``2215 - PublicMemberPrefix of ``pre_``2216 - PublicMemberSuffix of ``_post``2217 - PublicMemberHungarianPrefix of ``On``2218 2219Identifies and/or transforms public member names as follows:2220 2221Before:2222 2223.. code-block:: c++2224 2225 class Foo {2226 public:2227 int Member_Variable;2228 }2229 2230After:2231 2232.. code-block:: c++2233 2234 class Foo {2235 public:2236 int pre_member_variable_post;2237 }2238 2239.. option:: PublicMethodCase2240 2241 When defined, the check will ensure public method names conform to the2242 selected casing.2243 2244.. option:: PublicMethodPrefix2245 2246 When defined, the check will ensure public method names will add the2247 prefixed with the given value (regardless of casing).2248 2249.. option:: PublicMethodIgnoredRegexp2250 2251 Identifier naming checks won't be enforced for public method names2252 matching this regular expression.2253 2254.. option:: PublicMethodSuffix2255 2256 When defined, the check will ensure public method names will add the2257 suffix with the given value (regardless of casing).2258 2259For example using values of:2260 2261 - PublicMethodCase of ``lower_case``2262 - PublicMethodPrefix of ``pre_``2263 - PublicMethodSuffix of ``_post``2264 2265Identifies and/or transforms public method names as follows:2266 2267Before:2268 2269.. code-block:: c++2270 2271 class Foo {2272 public:2273 int Member_Method();2274 }2275 2276After:2277 2278.. code-block:: c++2279 2280 class Foo {2281 public:2282 int pre_member_method_post();2283 }2284 2285.. option:: ScopedEnumConstantCase2286 2287 When defined, the check will ensure scoped enum constant names conform to2288 the selected casing.2289 2290.. option:: ScopedEnumConstantPrefix2291 2292 When defined, the check will ensure scoped enum constant names will add the2293 prefixed with the given value (regardless of casing).2294 2295.. option:: ScopedEnumConstantIgnoredRegexp2296 2297 Identifier naming checks won't be enforced for scoped enum constant names2298 matching this regular expression.2299 2300.. option:: ScopedEnumConstantSuffix2301 2302 When defined, the check will ensure scoped enum constant names will add the2303 suffix with the given value (regardless of casing).2304 2305.. option:: ScopedEnumConstantHungarianPrefix2306 2307 When enabled, the check ensures that the declared identifier will2308 have a Hungarian notation prefix based on the declared type.2309 2310For example using values of:2311 2312 - ScopedEnumConstantCase of ``lower_case``2313 - ScopedEnumConstantPrefix of ``pre_``2314 - ScopedEnumConstantSuffix of ``_post``2315 - ScopedEnumConstantHungarianPrefix of ``On``2316 2317Identifies and/or transforms enumeration constant names as follows:2318 2319Before:2320 2321.. code-block:: c++2322 2323 enum class FOO { One, Two, Three };2324 2325After:2326 2327.. code-block:: c++2328 2329 enum class FOO { pre_One_post, pre_Two_post, pre_Three_post };2330 2331.. option:: StaticConstexprVariableCase2332 2333 When defined, the check will ensure static ``constexpr`` variable names2334 conform to the selected casing.2335 2336.. option:: StaticConstexprVariablePrefix2337 2338 When defined, the check will ensure static ``constexpr`` variable names2339 will add the prefixed with the given value (regardless of casing).2340 2341.. option:: StaticConstexprVariableIgnoredRegexp2342 2343 Identifier naming checks won't be enforced for static ``constexpr``2344 variable names matching this regular expression.2345 2346.. option:: StaticConstexprVariableSuffix2347 2348 When defined, the check will ensure static ``constexpr`` variable names2349 will add the suffix with the given value (regardless of casing).2350 2351.. option:: StaticConstexprVariableHungarianPrefix2352 2353 When enabled, the check ensures that the declared identifier will have a2354 Hungarian notation prefix based on the declared type.2355 2356For example using values of:2357 2358 - StaticConstexprVariableCase of ``lower_case``2359 - StaticConstexprVariablePrefix of ``pre_``2360 - StaticConstexprVariableSuffix of ``_post``2361 - StaticConstexprVariableHungarianPrefix of ``On``2362 2363Identifies and/or transforms static ``constexpr`` variable names as follows:2364 2365Before:2366 2367.. code-block:: c++2368 2369 static unsigned constexpr MyConstexprStatic_array[] = {1, 2, 3};2370 2371After:2372 2373.. code-block:: c++2374 2375 static unsigned constexpr pre_my_constexpr_static_array_post[] = {1, 2, 3};2376 2377.. option:: StaticConstantCase2378 2379 When defined, the check will ensure static constant names conform to the2380 selected casing.2381 2382.. option:: StaticConstantPrefix2383 2384 When defined, the check will ensure static constant names will add the2385 prefixed with the given value (regardless of casing).2386 2387.. option:: StaticConstantIgnoredRegexp2388 2389 Identifier naming checks won't be enforced for static constant names2390 matching this regular expression.2391 2392.. option:: StaticConstantSuffix2393 2394 When defined, the check will ensure static constant names will add the2395 suffix with the given value (regardless of casing).2396 2397.. option:: StaticConstantHungarianPrefix2398 2399 When enabled, the check ensures that the declared identifier will2400 have a Hungarian notation prefix based on the declared type.2401 2402For example using values of:2403 2404 - StaticConstantCase of ``lower_case``2405 - StaticConstantPrefix of ``pre_``2406 - StaticConstantSuffix of ``_post``2407 - StaticConstantHungarianPrefix of ``On``2408 2409Identifies and/or transforms static constant names as follows:2410 2411Before:2412 2413.. code-block:: c++2414 2415 static unsigned const MyConstStatic_array[] = {1, 2, 3};2416 2417After:2418 2419.. code-block:: c++2420 2421 static unsigned const pre_myconststatic_array_post[] = {1, 2, 3};2422 2423.. option:: StaticVariableCase2424 2425 When defined, the check will ensure static variable names conform to the2426 selected casing.2427 2428.. option:: StaticVariablePrefix2429 2430 When defined, the check will ensure static variable names will add the2431 prefixed with the given value (regardless of casing).2432 2433.. option:: StaticVariableIgnoredRegexp2434 2435 Identifier naming checks won't be enforced for static variable names2436 matching this regular expression.2437 2438.. option:: StaticVariableSuffix2439 2440 When defined, the check will ensure static variable names will add the2441 suffix with the given value (regardless of casing).2442 2443.. option:: StaticVariableHungarianPrefix2444 2445 When enabled, the check ensures that the declared identifier will2446 have a Hungarian notation prefix based on the declared type.2447 2448For example using values of:2449 2450 - StaticVariableCase of ``lower_case``2451 - StaticVariablePrefix of ``pre_``2452 - StaticVariableSuffix of ``_post``2453 - StaticVariableHungarianPrefix of ``On``2454 2455Identifies and/or transforms static variable names as follows:2456 2457Before:2458 2459.. code-block:: c++2460 2461 static unsigned MyStatic_array[] = {1, 2, 3};2462 2463After:2464 2465.. code-block:: c++2466 2467 static unsigned pre_mystatic_array_post[] = {1, 2, 3};2468 2469.. option:: StructCase2470 2471 When defined, the check will ensure struct names conform to the2472 selected casing.2473 2474.. option:: StructPrefix2475 2476 When defined, the check will ensure struct names will add the2477 prefixed with the given value (regardless of casing).2478 2479.. option:: StructIgnoredRegexp2480 2481 Identifier naming checks won't be enforced for struct names2482 matching this regular expression.2483 2484.. option:: StructSuffix2485 2486 When defined, the check will ensure struct names will add the2487 suffix with the given value (regardless of casing).2488 2489For example using values of:2490 2491 - StructCase of ``lower_case``2492 - StructPrefix of ``pre_``2493 - StructSuffix of ``_post``2494 2495Identifies and/or transforms struct names as follows:2496 2497Before:2498 2499.. code-block:: c++2500 2501 struct FOO {2502 FOO();2503 ~FOO();2504 };2505 2506After:2507 2508.. code-block:: c++2509 2510 struct pre_foo_post {2511 pre_foo_post();2512 ~pre_foo_post();2513 };2514 2515.. option:: TemplateParameterCase2516 2517 When defined, the check will ensure template parameter names conform to the2518 selected casing.2519 2520.. option:: TemplateParameterPrefix2521 2522 When defined, the check will ensure template parameter names will add the2523 prefixed with the given value (regardless of casing).2524 2525.. option:: TemplateParameterIgnoredRegexp2526 2527 Identifier naming checks won't be enforced for template parameter names2528 matching this regular expression.2529 2530.. option:: TemplateParameterSuffix2531 2532 When defined, the check will ensure template parameter names will add the2533 suffix with the given value (regardless of casing).2534 2535For example using values of:2536 2537 - TemplateParameterCase of ``lower_case``2538 - TemplateParameterPrefix of ``pre_``2539 - TemplateParameterSuffix of ``_post``2540 2541Identifies and/or transforms template parameter names as follows:2542 2543Before:2544 2545.. code-block:: c++2546 2547 template <typename T> class Foo {};2548 2549After:2550 2551.. code-block:: c++2552 2553 template <typename pre_t_post> class Foo {};2554 2555.. option:: TemplateTemplateParameterCase2556 2557 When defined, the check will ensure template template parameter names conform to the2558 selected casing.2559 2560.. option:: TemplateTemplateParameterPrefix2561 2562 When defined, the check will ensure template template parameter names will add the2563 prefixed with the given value (regardless of casing).2564 2565.. option:: TemplateTemplateParameterIgnoredRegexp2566 2567 Identifier naming checks won't be enforced for template template parameter2568 names matching this regular expression.2569 2570.. option:: TemplateTemplateParameterSuffix2571 2572 When defined, the check will ensure template template parameter names will add the2573 suffix with the given value (regardless of casing).2574 2575For example using values of:2576 2577 - TemplateTemplateParameterCase of ``lower_case``2578 - TemplateTemplateParameterPrefix of ``pre_``2579 - TemplateTemplateParameterSuffix of ``_post``2580 2581Identifies and/or transforms template template parameter names as follows:2582 2583Before:2584 2585.. code-block:: c++2586 2587 template <template <typename> class TPL_parameter, int COUNT_params,2588 typename... TYPE_parameters>2589 2590After:2591 2592.. code-block:: c++2593 2594 template <template <typename> class pre_tpl_parameter_post, int COUNT_params,2595 typename... TYPE_parameters>2596 2597.. option:: TypeAliasCase2598 2599 When defined, the check will ensure type alias names conform to the2600 selected casing.2601 2602.. option:: TypeAliasPrefix2603 2604 When defined, the check will ensure type alias names will add the2605 prefixed with the given value (regardless of casing).2606 2607.. option:: TypeAliasIgnoredRegexp2608 2609 Identifier naming checks won't be enforced for type alias names2610 matching this regular expression.2611 2612.. option:: TypeAliasSuffix2613 2614 When defined, the check will ensure type alias names will add the2615 suffix with the given value (regardless of casing).2616 2617For example using values of:2618 2619 - TypeAliasCase of ``lower_case``2620 - TypeAliasPrefix of ``pre_``2621 - TypeAliasSuffix of ``_post``2622 2623Identifies and/or transforms type alias names as follows:2624 2625Before:2626 2627.. code-block:: c++2628 2629 using MY_STRUCT_TYPE = my_structure;2630 2631After:2632 2633.. code-block:: c++2634 2635 using pre_my_struct_type_post = my_structure;2636 2637.. option:: TypedefCase2638 2639 When defined, the check will ensure typedef names conform to the2640 selected casing.2641 2642.. option:: TypedefPrefix2643 2644 When defined, the check will ensure typedef names will add the2645 prefixed with the given value (regardless of casing).2646 2647.. option:: TypedefIgnoredRegexp2648 2649 Identifier naming checks won't be enforced for typedef names2650 matching this regular expression.2651 2652.. option:: TypedefSuffix2653 2654 When defined, the check will ensure typedef names will add the2655 suffix with the given value (regardless of casing).2656 2657For example using values of:2658 2659 - TypedefCase of ``lower_case``2660 - TypedefPrefix of ``pre_``2661 - TypedefSuffix of ``_post``2662 2663Identifies and/or transforms typedef names as follows:2664 2665Before:2666 2667.. code-block:: c++2668 2669 typedef int MYINT;2670 2671After:2672 2673.. code-block:: c++2674 2675 typedef int pre_myint_post;2676 2677.. option:: TypeTemplateParameterCase2678 2679 When defined, the check will ensure type template parameter names conform to the2680 selected casing.2681 2682.. option:: TypeTemplateParameterPrefix2683 2684 When defined, the check will ensure type template parameter names will add the2685 prefixed with the given value (regardless of casing).2686 2687.. option:: TypeTemplateParameterIgnoredRegexp2688 2689 Identifier naming checks won't be enforced for type template names2690 matching this regular expression.2691 2692.. option:: TypeTemplateParameterSuffix2693 2694 When defined, the check will ensure type template parameter names will add the2695 suffix with the given value (regardless of casing).2696 2697For example using values of:2698 2699 - TypeTemplateParameterCase of ``lower_case``2700 - TypeTemplateParameterPrefix of ``pre_``2701 - TypeTemplateParameterSuffix of ``_post``2702 2703Identifies and/or transforms type template parameter names as follows:2704 2705Before:2706 2707.. code-block:: c++2708 2709 template <template <typename> class TPL_parameter, int COUNT_params,2710 typename... TYPE_parameters>2711 2712After:2713 2714.. code-block:: c++2715 2716 template <template <typename> class TPL_parameter, int COUNT_params,2717 typename... pre_type_parameters_post>2718 2719.. option:: UnionCase2720 2721 When defined, the check will ensure union names conform to the2722 selected casing.2723 2724.. option:: UnionPrefix2725 2726 When defined, the check will ensure union names will add the2727 prefixed with the given value (regardless of casing).2728 2729.. option:: UnionIgnoredRegexp2730 2731 Identifier naming checks won't be enforced for union names2732 matching this regular expression.2733 2734.. option:: UnionSuffix2735 2736 When defined, the check will ensure union names will add the2737 suffix with the given value (regardless of casing).2738 2739For example using values of:2740 2741 - UnionCase of ``lower_case``2742 - UnionPrefix of ``pre_``2743 - UnionSuffix of ``_post``2744 2745Identifies and/or transforms union names as follows:2746 2747Before:2748 2749.. code-block:: c++2750 2751 union FOO {2752 int a;2753 char b;2754 };2755 2756After:2757 2758.. code-block:: c++2759 2760 union pre_foo_post {2761 int a;2762 char b;2763 };2764 2765.. option:: ValueTemplateParameterCase2766 2767 When defined, the check will ensure value template parameter names conform to the2768 selected casing.2769 2770.. option:: ValueTemplateParameterPrefix2771 2772 When defined, the check will ensure value template parameter names will add the2773 prefixed with the given value (regardless of casing).2774 2775.. option:: ValueTemplateParameterIgnoredRegexp2776 2777 Identifier naming checks won't be enforced for value template parameter2778 names matching this regular expression.2779 2780.. option:: ValueTemplateParameterSuffix2781 2782 When defined, the check will ensure value template parameter names will add the2783 suffix with the given value (regardless of casing).2784 2785For example using values of:2786 2787 - ValueTemplateParameterCase of ``lower_case``2788 - ValueTemplateParameterPrefix of ``pre_``2789 - ValueTemplateParameterSuffix of ``_post``2790 2791Identifies and/or transforms value template parameter names as follows:2792 2793Before:2794 2795.. code-block:: c++2796 2797 template <template <typename> class TPL_parameter, int COUNT_params,2798 typename... TYPE_parameters>2799 2800After:2801 2802.. code-block:: c++2803 2804 template <template <typename> class TPL_parameter, int pre_count_params_post,2805 typename... TYPE_parameters>2806 2807.. option:: VariableCase2808 2809 When defined, the check will ensure variable names conform to the2810 selected casing.2811 2812.. option:: VariablePrefix2813 2814 When defined, the check will ensure variable names will add the2815 prefixed with the given value (regardless of casing).2816 2817.. option:: VariableIgnoredRegexp2818 2819 Identifier naming checks won't be enforced for variable names2820 matching this regular expression.2821 2822.. option:: VariableSuffix2823 2824 When defined, the check will ensure variable names will add the2825 suffix with the given value (regardless of casing).2826 2827.. option:: VariableHungarianPrefix2828 2829 When enabled, the check ensures that the declared identifier will2830 have a Hungarian notation prefix based on the declared type.2831 2832For example using values of:2833 2834 - VariableCase of ``lower_case``2835 - VariablePrefix of ``pre_``2836 - VariableSuffix of ``_post``2837 - VariableHungarianPrefix of ``On``2838 2839Identifies and/or transforms variable names as follows:2840 2841Before:2842 2843.. code-block:: c++2844 2845 unsigned MyVariable;2846 2847After:2848 2849.. code-block:: c++2850 2851 unsigned pre_myvariable_post;2852 2853.. option:: VirtualMethodCase2854 2855 When defined, the check will ensure virtual method names conform to the2856 selected casing.2857 2858.. option:: VirtualMethodPrefix2859 2860 When defined, the check will ensure virtual method names will add the2861 prefixed with the given value (regardless of casing).2862 2863.. option:: VirtualMethodIgnoredRegexp2864 2865 Identifier naming checks won't be enforced for virtual method names2866 matching this regular expression.2867 2868.. option:: VirtualMethodSuffix2869 2870 When defined, the check will ensure virtual method names will add the2871 suffix with the given value (regardless of casing).2872 2873For example using values of:2874 2875 - VirtualMethodCase of ``lower_case``2876 - VirtualMethodPrefix of ``pre_``2877 - VirtualMethodSuffix of ``_post``2878 2879Identifies and/or transforms virtual method names as follows:2880 2881Before:2882 2883.. code-block:: c++2884 2885 class Foo {2886 public:2887 virtual int MemberFunction();2888 }2889 2890After:2891 2892.. code-block:: c++2893 2894 class Foo {2895 public:2896 virtual int pre_member_function_post();2897 }2898 2899 2900The default mapping table of Hungarian Notation2901-----------------------------------------------2902 2903In Hungarian notation, a variable name starts with a group of lower-case2904letters which are mnemonics for the type or purpose of that variable, followed2905by whatever name the programmer has chosen; this last part is sometimes2906distinguished as the given name. The first character of the given name can be2907capitalized to separate it from the type indicators (see also CamelCase).2908Otherwise the case of this character denotes scope.2909 2910The following table is the default mapping table of Hungarian Notation2911which maps Decl to its prefix string. You can also have your own style2912in config file.2913 2914============== ======== ====================== ======== ============== ========2915Primitive Type Microsoft Type2916-------------- -------- ---------------------- -------- -------------- --------2917 Type Prefix Type Prefix Type Prefix2918============== ======== ====================== ======== ============== ========2919int8_t i8 signed int si BOOL b2920int16_t i16 signed short ss BOOLEAN b2921int32_t i32 signed short int ssi BYTE by2922int64_t i64 signed long long int slli CHAR c2923uint8_t u8 signed long long sll UCHAR uc2924uint16_t u16 signed long int sli SHORT s2925uint32_t u32 signed long sl USHORT us2926uint64_t u64 signed s WORD w2927char8_t c8 unsigned long long int ulli DWORD dw2928char16_t c16 unsigned long long ull DWORD32 dw322929char32_t c32 unsigned long int uli DWORD64 dw642930float f unsigned long ul LONG l2931double d unsigned short int usi ULONG ul2932char c unsigned short us ULONG32 ul322933bool b unsigned int ui ULONG64 ul642934_Bool b unsigned char uc ULONGLONG ull2935int i unsigned u HANDLE h2936size_t n long long int lli INT i2937short s long double ld INT8 i82938signed i long long ll INT16 i162939unsigned u long int li INT32 i322940long l long l INT64 i642941long long ll ptrdiff_t p UINT ui2942unsigned long ul void *none* UINT8 u82943long double ld UINT16 u162944ptrdiff_t p UINT32 u322945wchar_t wc UINT64 u642946short int si PVOID p2947short s2948============== ======== ====================== ======== ============== ========2949 2950**There are more trivial options for Hungarian Notation:**2951 2952**HungarianNotation.General.***2953 Options are not belonging to any specific Decl.2954 2955**HungarianNotation.CString.***2956 Options for NULL-terminated string.2957 2958**HungarianNotation.DerivedType.***2959 Options for derived types.2960 2961**HungarianNotation.PrimitiveType.***2962 Options for primitive types.2963 2964**HungarianNotation.UserDefinedType.***2965 Options for user-defined types.2966 2967 2968Options for Hungarian Notation2969------------------------------2970 2971- :option:`HungarianNotation.General.TreatStructAsClass`2972 2973- :option:`HungarianNotation.DerivedType.Array`2974- :option:`HungarianNotation.DerivedType.Pointer`2975- :option:`HungarianNotation.DerivedType.FunctionPointer`2976 2977- :option:`HungarianNotation.CString.CharPointer`2978- :option:`HungarianNotation.CString.CharArray`2979- :option:`HungarianNotation.CString.WideCharPointer`2980- :option:`HungarianNotation.CString.WideCharArray`2981 2982- :option:`HungarianNotation.PrimitiveType.*`2983- :option:`HungarianNotation.UserDefinedType.*`2984 2985.. option:: HungarianNotation.General.TreatStructAsClass2986 2987 When defined, the check will treat naming of struct as a class.2988 The default value is `false`.2989 2990.. option:: HungarianNotation.DerivedType.Array2991 2992 When defined, the check will ensure variable name will add the prefix with2993 the given string. The default prefix is `a`.2994 2995.. option:: HungarianNotation.DerivedType.Pointer2996 2997 When defined, the check will ensure variable name will add the prefix with2998 the given string. The default prefix is `p`.2999 3000.. option:: HungarianNotation.DerivedType.FunctionPointer3001 3002 When defined, the check will ensure variable name will add the prefix with3003 the given string. The default prefix is `fn`.3004 3005 3006Before:3007 3008.. code-block:: c++3009 3010 // Array3011 int DataArray[2] = {0};3012 3013 // Pointer3014 void *DataBuffer = NULL;3015 3016 // FunctionPointer3017 typedef void (*FUNC_PTR)();3018 FUNC_PTR FuncPtr = NULL;3019 3020After:3021 3022.. code-block:: c++3023 3024 // Array3025 int aDataArray[2] = {0};3026 3027 // Pointer3028 void *pDataBuffer = NULL;3029 3030 // FunctionPointer3031 typedef void (*FUNC_PTR)();3032 FUNC_PTR fnFuncPtr = NULL;3033 3034 3035.. option:: HungarianNotation.CString.CharPointer3036 3037 When defined, the check will ensure variable name will add the prefix with3038 the given string. The default prefix is `sz`.3039 3040.. option:: HungarianNotation.CString.CharArray3041 3042 When defined, the check will ensure variable name will add the prefix with3043 the given string. The default prefix is `sz`.3044 3045.. option:: HungarianNotation.CString.WideCharPointer3046 3047 When defined, the check will ensure variable name will add the prefix with3048 the given string. The default prefix is `wsz`.3049 3050.. option:: HungarianNotation.CString.WideCharArray3051 3052 When defined, the check will ensure variable name will add the prefix with3053 the given string. The default prefix is `wsz`.3054 3055 3056Before:3057 3058.. code-block:: c++3059 3060 // CharPointer3061 const char *NamePtr = "Name";3062 3063 // CharArray3064 const char NameArray[] = "Name";3065 3066 // WideCharPointer3067 const wchar_t *WideNamePtr = L"Name";3068 3069 // WideCharArray3070 const wchar_t WideNameArray[] = L"Name";3071 3072After:3073 3074.. code-block:: c++3075 3076 // CharPointer3077 const char *szNamePtr = "Name";3078 3079 // CharArray3080 const char szNameArray[] = "Name";3081 3082 // WideCharPointer3083 const wchar_t *wszWideNamePtr = L"Name";3084 3085 // WideCharArray3086 const wchar_t wszWideNameArray[] = L"Name";3087 3088 3089.. option:: HungarianNotation.PrimitiveType.*3090 3091 When defined, the check will ensure variable name of involved primitive3092 types will add the prefix with the given string. The default prefixes are3093 defined in the default mapping table.3094 3095.. option:: HungarianNotation.UserDefinedType.*3096 3097 When defined, the check will ensure variable name of involved primitive3098 types will add the prefix with the given string. The default prefixes are3099 defined in the default mapping table.3100 3101 3102Before:3103 3104.. code-block:: c++3105 3106 int8_t ValueI8 = 0;3107 int16_t ValueI16 = 0;3108 int32_t ValueI32 = 0;3109 int64_t ValueI64 = 0;3110 uint8_t ValueU8 = 0;3111 uint16_t ValueU16 = 0;3112 uint32_t ValueU32 = 0;3113 uint64_t ValueU64 = 0;3114 float ValueFloat = 0.0;3115 double ValueDouble = 0.0;3116 ULONG ValueUlong = 0;3117 DWORD ValueDword = 0;3118 3119After:3120 3121.. code-block:: c++3122 3123 int8_t i8ValueI8 = 0;3124 int16_t i16ValueI16 = 0;3125 int32_t i32ValueI32 = 0;3126 int64_t i64ValueI64 = 0;3127 uint8_t u8ValueU8 = 0;3128 uint16_t u16ValueU16 = 0;3129 uint32_t u32ValueU32 = 0;3130 uint64_t u64ValueU64 = 0;3131 float fValueFloat = 0.0;3132 double dValueDouble = 0.0;3133 ULONG ulValueUlong = 0;3134 DWORD dwValueDword = 0;3135