2012-10-20

Partial Orderingがよくわからない

C++のPartial Orderingがいくら文面を読んでもよくわからない。

最終的には、二つのテンプレートを比較する際、一方をある方法に従って変換し、他方は変換しないまま、それぞれの対応する型に対してtemplate argument deductionを行うということを、両方に対して行うように読めるのだが、どうやってより特殊化されているのかを決定するのか、よくわからない。

結局は、14.8.2.5がやたらに複雑なのだ。この形の場合はこう、あの形の場合はこうと、ものすごく場合分けされている。

そして、未だに14.8.2.5の結果が、14.8.2.4にどのようにして、「より特殊化されている」かという判断を与えるのか理解できていない。

理解できないものは説明もできないので、このままでは、C++の参考書には、「Partial Orderingにより、より特殊化されている方が選ばれる」以上の説明が書けない。困った。

No comments: