ベクトルの型情報の取得
重要なファクターその1
ベクトルが保持している型情報の取得を行います。
#include#include "vec/vec.hpp" #include "vec/type_traits/value.hpp" namespace vec = kmt_ex::math::vec; int main(){ typedef vec::vec<3, float> v_float; typedef vec::vec<3, double> v_double; std::cout << typeid(vec::value ::type).name() << "\n"; // float std::cout << typeid(vec::value ::type).name() << "\n"; // double getchar(); return 0; }
実装方法は続きから。
まぁテンプレートの特殊化で解決しているだけですがね。
namespace kmt_ex{ namespace math{ namespace vec{ /* value の型情報の取得を行う */ template< typename T > struct value; template< unsigned int D, typename T > struct value>{ typedef T type; }; }; }; }; // namespace kmt_ex{ namespace math{ namespace vec{