Nagarei / DxLibEx

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

座標系クラスの内部型の要件を再整理 #46

Closed yumetodo closed 8 years ago

yumetodo commented 8 years ago

現状座標系クラス(point_c ( #2 ), size_c ( #26 ) , point3d_c( #25 ))は内部型の要件にstd::is_arithmeticがtrueであることを要求しているが、noexceptの対応( #38 )等も進んだので必要ないのかもしれない。

ここでこれらのクラスの内部型の要件を整理する

Nagarei commented 8 years ago

とりあえず現状のpoint_cの実装を列挙

std::is_arithmetic

上の条件を見るにこれがないとstd::stringもOKになってしまうんですがこれはどうなんでしょう?

yumetodo commented 8 years ago

上の条件を見るにこれがないとstd::stringもOKになってしまうんですがこれはどうなんでしょう?

あーー、そういえばそうだなぁ・・・・。やっぱりstd::is_arithmeticは外せないのか・・・。

無限精度整数ライブラリとか作る時ってstd::is_arithmeticを特殊化するのって普通なんだろうか。普通でないならあまり制約は掛けたくないです。ユーザー側でどうにかできるとはいえ

Nagarei commented 8 years ago

std::is_arithmeticを特殊化するのって普通なんだろうか

少なくともboost::rational(boostの分数ライブラリ)は特殊化されていないですね...。

yumetodo commented 8 years ago

もうstd::stringを使ったとしても自己責任ということで制約外してしまいます?

Nagarei commented 8 years ago

それでも良いと思います。

yumetodo commented 8 years ago

要件に

も追加しないといけないな・・・、point_c限定ですが

yumetodo commented 8 years ago

作業してみましたが、どうでしょうか。問題なければ残り2つのクラスもやりますが。

追記 って肝心のclassのtemplate修正してない!

Nagarei commented 8 years ago

問題ないと思います。

yumetodo commented 8 years ago

では他も作業します

yumetodo commented 8 years ago

これで多分作業完了だと思います。