== Why is this an issue?

Shared coding conventions allow teams to collaborate efficiently. This rule checks that type specifiers always appear in the following order:

. ``++typedef++``
. type name, spelling of built-in types with more than one type-specifier:
.. signedness - ``++signed++`` or ``++unsigned++``
.. last single type-specifier or
*** ``++short int++``
*** ``++long int++``
*** ``++long long int++``
*** ``++long double++``

Since the positioning of the ``++const++`` keyword is controversial, this rule does not check it.


=== Noncompliant code example

[source,cpp]
----
int typedef T;

double long d;
char unsigned ch;
long signed int i;
----


=== Compliant solution

[source,cpp]
----
typedef int T;

long double d;
unsigned char ch;
signed long int i;
----


== Resources

* {cpp} Core Guidelines - https://github.com/isocpp/CppCoreGuidelines/blob/e49158a/CppCoreGuidelines.md#nl26-use-conventional-const-notation[NL.26: Use conventional `const` notation]


ifdef::env-github,rspecator-view[]

'''
== Implementation Specification
(visible only on this page)

=== Message

Reorder these specifiers to: "xxx yyy zzz..."


'''
== Comments And Links
(visible only on this page)

=== on 14 May 2014, 16:09:15 Ann Campbell wrote:
look this over & see if you'd like anything changed, please

=== on 26 May 2015, 18:29:36 Evgeny Mandrikov wrote:
\[~ann.campbell.2] LGTM.

endif::env-github,rspecator-view[]
