プログラム

ワイド文字列

ワイド文字列について理解していなかったので個人的なまとめ。 //wchar_t wstr[] = "日本語"; // const char [11]' から 'wchar_t []' に変換出来ない wchar_t wstr[] = L"日本語"; // ワイド文字列の先頭に L をつける std::wcout.imbue(std::locale("japan…

カウンタ〜その1〜

その2があるかは不明ですが…。 行き詰まったのでちょっとまとめてみた。 <概要>・保持している値に対して、加算、減算の処理を行う <機能>・一定の値の増減処理(インクリメントやデクリメント) ・ある一定の値になった時の処理(上限値や下限値の設定…

魔導書に触発されてRadian⇔Degree変換をやってみた

主に56ページ辺りに触発されて。 #include <iostream> #include <assert.h> namespace std{ template<int N, int D = 1> class ratio{ public: static const int num = N; static const int den = D; }; } template< typename ratio1, typename raito2, typename value_t = float > struct angle{ a</int></assert.h></iostream>…

rubyとか

スクリプトの勉強をしたかったので最近 ruby をいじったりしているんですが、 機能は沢山あるんだけどもイマイチかゆいところに手が届かないというかなんというか・・・。 とりあえず、型がないのが気持ち悪くてしょうがない。あと今はネットで機能を調べな…

VS2008 → 2005 へのダウングレード

ちょっとやりたかったのでメモメモ。● *.sln ファイル Microsoft Visual Studio Solution File, Format Version 10.00 # Visual C++ Express 2008 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ Microsoft Visual Studio Solution File, Format Version 9.00 # Visual C++ Expres…

Haskellがちょー楽しい

ゲームプログラミングどころかもはやC++出すらないという!で、問題のHaskellは開発環境だけは一応整えて置いたんですが、 その取っ付きにくさからずーっと放置してました。 しかし、そろそろLinuxも飽きてきたので、 昨日の夜あたりから重い腰を上げて、こ…

vec::pointer

ベクトルの先頭配列のポインタを返します。 #include #include "vec/vec.hpp" #include "vec/extension/pointer.hpp" #include "vec/extension/dimension.hpp" namespace vec = kmt_ex::math::vec; typedef vec::vec vec3; int main(){ vec3 v; // 配列によ…

vec::dimension_

vec::dimensionのインスタンス版。 インスタンスから次元数の取得を行います。 #include #include "vec/vec.hpp" #include "vec/extension/dimension.hpp" namespace vec = kmt_ex::math::vec; typedef vec::vec vec3; int main(){ /** インスタンスから次元…

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…

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…

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…

ファイル読み込みとか

std::fstream を使用すると下のように簡単にファイルを読み込むことができる。 std::ifstream ifs("Title.pic", std::ios::binary); std::vector<char> buffer; buffer.assign( std::istreambuf_iterator<char>(ifs), std::istreambuf_iterator<char>() ); しかし、いざ使って</char></char></char>…

スクリプト言語

会社で社内スクリプトを触る機会があって、思いのほか興味がわいた。 とりあえず、家でluaでもいじってみようかと思い、 環境構築を終えて、サンプルをちくちく作っていたら 友人から「Squirrel」なるものを教えてもらう ←いまここ。 んーちょっと調べてみた…