現在、別のプログラマーのコードを最適化する必要があります。彼はたくさんのテンプレートクラスを私に残してくれました。計算を高速化するために、Intels IPP-Libraryの関数を利用したいと思います。問題は、ほとんどの場合、これらの関数では、使用しているデータ型を知る必要があることです。ですから、テンプレートを書き直して、操作を最適化できるようにするために特殊なコードを使用するようにします。元のコードに戻すことはできません。C++テンプレートの特殊ケース
問題は、特定のデータ型が使用されているかどうかを確認する必要があり、それを行う方法がわかりません。
例。私はこのような何かをしたいと思います:
template < class Elem > class Array1D
{
Array1D<Elem>& operator += (const Elem& a)
{
if (typeof(Elem) == uchar)
{
// use special IPP operation here
}
else
{
// fall back to default behaviour
}
}
どのようにこれを行うにはどのようなアイデア?他の図書館の助けを借りなくてもよい。
はあなたに