2006-04-01から1ヶ月間の記事一覧

WinMagnetバージョンアップ

自作ソフト WinMagnet をバージョンアップしました。 http://www.geocities.jp/mocchi_2003/soft.html このソフトは、ウィンドウに貼り付けると、そのウィンドウを常に最前面状態にしたり、本来動かないウィンドウ(最大化状態のウィンドウ、スプラッシュウィ…

LRU コンテナ

一定のサイズを保ち、新たに要素が加えられたときに LRU (Least Recently Used) な要素を削除する、キャッシュのような働きをする C++のコンテナを作ってみました。 内部で list と set を保持していて、要素の追加の他に、begin、end、rbegin、rendを 持っ…

メンバ関数ポインタ同士の比較

二つのメンバ関数ポインタ型変数が等しいかどうかを比較する処理を作ってたんですが、g++ と Visual C++ で一部違った処理になることを発見しました。 下に書いたプログラムを実行すると… #include <cstdio> class Test{ public: void aaa(void){ printf("a");} void</cstdio>…

C++版デリゲート作ってみました

C#などではおなじみのデリゲートと同じようなことができるC++のクラスを作ってみました。 boost:function と同じような機能ですが、boostはサイズが結構大きくて、デリゲートが欲しい だけのためにboost一式をインストールするにはちょっと抵抗があったので…

MIST バージョンアップ

画像処理や音声処理に便利なアルゴリズムなコンテナなどを C++ で実装しているライブラリ MISTが 1.32にバージョンアップしたそうです。 http://mist.suenaga.cse.nagoya-u.ac.jp/ 追加された機能で特に便利そうと感じたものは… ・DPマッチング 例えば二つの…

Irrlicht に姉妹品があるらしい

http://blogs.yahoo.co.jp/mocchi_2003/32356457.html で紹介したIrrlichtですが、このライブラリ、たった一人でプログラミングされているんだそうです。何でも仕様が安定するまでは他の開発者に邪魔されたくないんだとか。それにしても一人であそこまで作っ…

3Dレンダリング用ライブラリ Irrlicht イルリッヒ?イルリヒト?

フリーでコピーレフトがゆるくてマルチプラットフォームでC++で使える3Dライブラリはないかなぁ…と探していたところ… ありました(・∀・)! ボタンとかのGUI部品も用意されてるらしいです。ただし、そのままでは日本語は表示できないとか… Irrlicht ←日本語の…

libsava 範囲クエリのベンチとか

さっきの続きです。 begin, endがどんな感じで動くのか試してみました。 ベンチをとるために、mistライブラリの中にあった、mist::timer を使ってみました。 libsava にも時間測定用のクラスがあるようですが、unix用っぽいので、そっちは使ってません。 つ…

libsavaのKDTree コンパイルが通らない・・・orz

VisualStudio C++ 2005 Express Edition と MinGW g++ 3.3.1 のどちらでもダメでしたorz // テストコードここから #include <libsava/spatial/KDTree.h> using namespace sava::spatial; int main(){ typedef Point3D<double> point_type; KDTree<point_type, int, 3> kdt; // ← この行でエラーがでます kdt.insert(</point_type,></double></libsava/spatial/kdtree.h>…

libsavaのKDTree

libsava の KDTree に何が実装されているのかもう少し詳しく見てみた KDTree コンテナクラスのpublicメンバ関数 挿入 insert 点 (このパッケージが用意しているPoint型、またはその派生型) と値のペアをコンテナに加える。std::map のinsertと仕様をあわせた…

C++でオープンソースで何らかのアルゴリズムを実装しているライブラリ

いくつか見つけたのでメモっておきます -MIST http://mist.suenaga.cse.nagoya-u.ac.jp/trac/ 画像処理、音声処理に関するライブラリ STLライク (ソースは全て.h) 修正 BSD ライセンス -libsava http://www.savarese.com/software/ いろいろなデータ構造やア…