ベクトルの型情報の取得

重要なファクターその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{