[cmp.common] # 17 Language support library [[support]](./#support) ## 17.12 Comparisons [[cmp]](cmp#common) ### 17.12.3 Class template common_comparison_category [cmp.common] [1](#1) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/support.tex#L5288) The type common_comparison_category provides an alias for the strongest comparison category to which all of the template arguments can be converted[.](#1.sentence-1) [*Note [1](#note-1)*: A comparison category type is stronger than another if they are distinct types and an instance of the former can be converted to an instance of the latter[.](#1.sentence-2) — *end note*] [🔗](#lib:common_comparison_category) `template struct common_comparison_category { using type = see below; }; ` [2](#2) [#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/support.tex#L5307) *Remarks*: The member [*typedef-name*](dcl.typedef#nt:typedef-name "9.2.4 The typedef specifier [dcl.typedef]") type denotes the common comparison type ([[class.spaceship]](class.spaceship "11.10.3 Three-way comparison")) of Ts..., the expanded parameter pack, orvoid if any element of Ts is not a comparison category type[.](#2.sentence-1) [*Note [2](#note-2)*: This is std​::​strong_ordering if the expansion is empty[.](#2.sentence-2) — *end note*]