2009-10-01から1ヶ月間の記事一覧

vec::extension::visit

重要なファクターその3 visitorパターンを利用して vec へ対して操作を行っていきます。 例によって operator| で簡易接続。 まぁここら辺は殆ど『C++テンプレートテクニック』を真似ているだけなんですが…。 #include #include #include #include "vec/vec…

仮想関数があるかどうかの判定

調べたらあったので貼り付け。 boost::is_polymorphic ってのがあるみたいね。 #include template struct is_polymorphic{ struct A : public T{}; struct B : public T{ virtual ~B(){}; }; static const bool value = sizeof(A) == sizeof(B); }; struct h…

/

template typename T > struct dimension{ static const int value = detail::dimension_impl::value>::value; };

vec::dimension

ベクトルの次元数の取得を行います。 #include #include #include "vec/vec.hpp" #include "vec/type_traits/dimension.hpp" #include "vec/preprocessor/make_type_traits_value.hpp" #include "vec/preprocessor/make_type_traits_is_vec.hpp" /** D3DVECT…

KMT_EX_PP_MATH_VEC_MAKE_TYPE_TRAITS_VALUE

例によって、マクロを使用して、is_vec の自動生成を行います。 #include #include #include "vec/vec.hpp" #include "vec/type_traits/is_vec.hpp" #include "vec/preprocessor/make_type_traits_is_vec.hpp" /** D3DVECTOR の特殊化 */ KMT_EX_PP_MATH_VEC…

vec.is_vec

重要なファクターその2。 型がベクトルかどうかの判断を行います。 #include #include "vec/vec.hpp" #include "vec/type_traits/is_vec.hpp" namespace vec = kmt_ex::math::vec; typedef vec::vec vec3; int main(){ std::cout ::value ::value 例によっ…

プリプロセッサで簡易生成

vec::value のテンプレートの特殊化をプリプロセッサで簡易生成する為のコード。 DirectX とかの定義が楽になる…か? #include #include #include "vec/type_traits/value.hpp" #include "vec/preprocessor/make_type_traits_value.hpp" /** D3DVECTOR の特…

ベクトルの型情報の取得

重要なファクターその1 ベクトルが保持している型情報の取得を行います。 #include #include "vec/vec.hpp" #include "vec/type_traits/value.hpp" namespace vec = kmt_ex::math::vec; int main(){ typedef vec::vec v_float; typedef vec::vec v_double; …

そろそろ再開

なんかかなり放置してたけど最近やっと再開したので投稿。 時間もあるので(いや、そんな事やってる場合じゃないけど)ちょくちょくやってみようかと。 とりあえず、コア部分だけ。 templatevalue_t = float > struct vec{ typedef value_t value_t; enum{ d…

いまさらながら

ふと思い立って Visual Studio 2010 Bate をインストールしてみました。 ラムダ式スッゲー。 とりあえず、まだ英語版しかないみたいですが、スキン自体はそんなに変わっているわけではないので、 英語が読めなくても操作はそんなにしづらくないです。 ただ、英…