Nagarei / DxLibEx

DXライブラリC++化プロジェクト
Boost Software License 1.0
31 stars 3 forks source link

座標系クラスのabs関数は内部型がunsignedのときどう振る舞うべきか #87

Closed yumetodo closed 8 years ago

yumetodo commented 8 years ago
dxle::point_c<unsigned int> p = {3, 2};
const auto re = dxle::abs(p);

こんな時どうなるべきか。現状は

static_assert(dxle::abs(dxle::point_c<unsigned int>{ 2, 3 }) == dxle::point_c<unsigned int>{ 2, 3 }, "err");
static_assert(dxle::abs(2u) == 2u, "err");//error

下だけエラーになるのはおかしいのでどちらかに統一したい

Nagarei commented 8 years ago

std::absは下の動作をするものの、absがunsignedに使えないというのは不便だと思うので、 absのオーバーロードをテンプレートの物のみにして、下もエラーにならないようにするのが良いと思います。

yumetodo commented 8 years ago

@Nagarei 修正しました。