任意の2つのプログラム定義型について、common_referenceで共通の参照型を取得できるようにアダプトする。UQualに対しては特殊化してはならない)。UはともにCV修飾もされていないそして、そのような特殊化は必ずしもメンバ型typeを持たなくても構わない。UQual<U>から明示的に変換可能な型である必要がある。Uにそのままコピーしたような型を示すエイリアステンプレートである。Uの引数順を入れ替えても同じ結果を返す(対称性を持つ)必要がある。上記のいずれかの規則に違反した特殊化を定義したとしてもコンパイルエラーにはならず、未定義動作となる。basic_common_reference以外の<type_traits>内テンプレートに対するユーザー定義の特殊化は許可されていない。下に提供されています。