dev

Objective-C で Algorithm - 0と1を次々と返す簡単なお仕事

initializer と free message の送信、 @private directive を追加。 http://blog.livedoor.jp/dankogai/archives/51512419.html http://d.hatena.ne.jp/janus_wel/20100903/1283539741 覚え立ての言語を使いたい。 /* * flipflop.m * flipflop class * * wr…

C++ で Algorithm - 0と1を次々と返す簡単なお仕事

http://blog.livedoor.jp/dankogai/archives/51512419.html を見て。まず素直に。 /* * class flipflop * * written by janus_wel<janus.wel.3@gmail.com> * This source code is in public domain, and has NO WARRANTY. * */ #include <iomanip> #include <iostream> class flipflop { private: bool </iostream></iomanip></janus.wel.3@gmail.com>…

CASL II

web 上で CASL II を simulate する site を見つけてしまったのでついカッとなっていろいろ書いてしまった。最近 code 書きたい欲がたまってたからちょっとやってみるかで 2 時間ほど使ってしまった。 http://www.chiba-fjb.ac.jp/fjb_labo/casl/index.html …

hatena fotolife thumbnail tags

これも昔書いたけど今になって晒すもの。あ、 http://d.hatena.ne.jp/janus_wel/20100728/1280304412 と関連する、なぁ… ( 今気付いた ) 。 http://coderepos.org/share/browser/lang/javascript/userscripts/hatena_fotolife_thumbnail_tags.user.js? これ…

debugging faviconize and hatebuize

http://d.hatena.ne.jp/janus_wel/20100727/1280208592 で改めて faviconize と hatebuize を見返してみてたんだけどそういやなんかたまにふたつ favicon や被はてブ数が表示される時期があるなぁとか思って source 見てみたら思いっきり bug だったので直し…

SITEINFOs of faviconize and hatebuize

First of all, Thank you for registering SITEINFOs on wedata.net. まずお礼ね。 wedata に SITEINFO 追加してくれたひとたちありがとう。こっから日本語のみで。そういや wikipedia の「外部リンク」のところに favicon が表示されてんなー、 wikipedia …

MSDN library

そういや MSDN library の右上に "Classic", "Lightweight", "ScriptFree" てのがあるなーと思ってもしや IE でしかまともに表示できない page じゃない表示ができるのかと思って "Lightweight" を選択してみたのはけっこう前なんだけど ( 半年くらいかな ? …

avsutil

ようやっと実行 file を配布できるようになったよ。 http://github.com/downloads/januswel/avsutil/avsutil.20100621.zip http://github.com/januswel/avsutil/downloads 何をするものかは以下。あー exe は全部 CUI ね。 dll/ avsutil.dll これが本体のつ…

cpplib に X11 license を適用した

http://github.com/januswel/cpplib 対象範囲が広がるかな ( GPL にも組み込める ) というのとこんなもん誰でも思いつくという理由で source は全部 public domain にしてたんだけど GPL と X11 license は別に矛盾しないことに気付いたのとまぁ著作権主張し…

dll 作成時の def file

C++ みたいに名前空間がある言語はどうすんだろうと思ったんだけどあくまで関数名で認識するぽい ? というのも例えば void dll::foo(void); な関数があったとして以下のように書くのかと思ったら LIBRARY EXPORTS dll::foo 以下が正解だったので。 LIBRARY E…

四捨五入 & 最近接偶数丸め

字面的に強キャラぽい。 C99 で math.h に round() が定義されているみたいなんだけどどうも VS10 で使えないみたいだし cmath には入ってないぽい ( C++98 だからないのが当たり前なのか ? ) ので書いてみた。 http://github.com/januswel/cpplib/blob/mast…

counter

incrementor と言った方がいいかな。 http://github.com/januswel/cpplib/commit/e66b3c5845034b960ea4f53bce7480680e7bae96 http://github.com/januswel/cpplib/blob/master/header/algorithm.hpp 以下のような classical な code を #include <vector> int main(vo</vector>…

istream -> ostream 時の進捗表示

dev

http://d.hatena.ne.jp/janus_wel/20100618/1276854557 で std::transform() を使って進捗表示をする、とかやってたんだけど fstream やなんかの stream 間の単純な copy なら std::istream::read() と std::ostream::write を使って以下のようにしたほうが…

STL algorithm の進捗状況を表示する

とはいっても std::transform だけなんだけど。もうちょっと考えてうまく構造化してやればできるはず。思いつきで書いてます。 http://github.com/januswel/cpplib/commit/2b0e6e80818ca955260ce3980f4129e99fb65aa2 http://github.com/januswel/cpplib/blob…

文字じゃねぇ

comment で istream に std::noskipws manipulator を流し込むか std::istream::unsetf() に std::ios_base::skipws を指定しろと教えてもらったので ( http://togetter.com/li/30132 ) そっちで。ありがとう id:melpon と zakkas783 さん。自前 library に …

続・続・ streambuf と iostream

http://d.hatena.ne.jp/janus_wel/20100616/1276702908 の続き。とりあえず抑えるべきことは抑えたぽいので実際に code を書いてみる。何かの device に書き込むというのもちょっとめんどくさいので今回は入力専用で alphabet を順に返す stream を定義して…

続・ streambuf と iostream

http://d.hatena.ne.jp/janus_wel/20100616/1276702604 の続き。仕様に書いてある仮想関数で定義するべきことを要約する、というのが次にやるべきことなんだけどその前に streambuf の buf の部分、 buffering に関連することを理解する必要がある。とはいっ…

streambuf と iostream

std::streambuf と std::iostream / std::istream / std::ostream のどれかを継承して自分好みの stream を作ろうとかそういうアレ。多分 3 回目くらいの try 。今まで適当にいじってわかんねーわかんねー言ってたので今回はとりあえず仕様からあたることに…

続・続・ interface と実装を分離する

長いんだけど http://d.hatena.ne.jp/janus_wel/20100608/1275989229 の最後で言ってた interface の管理用 class の実装例を書いてみた。長くなったついでに複数の似たような object を管理できるようにもしてみた。以下の code では id という整数値を指定…

続・ interface と実装を分離する

http://d.hatena.ne.jp/janus_wel/20100608/1275986820 で一応 user に実装の詳細を見せなくすることができたわけだけど user 側で delete 文を使う必要が出てきてしまったわけだ。というわけでそこらへんを何とかしようというのが目的。でまぁ早速なんだけ…

interface と実装を分離する

例えば何らかの domain に特化した class なり function なりを詰め込んだ library ( static / dynamic 問わず ) もしくは obj やら o やらとそれを使うための interface である header file 、というようなものを作るとき、 C++ で素直にやるなら継承を使っ…

文字列が数値を表わすか check する

boost::regex あたりの正規表現 library をつかえというので FA 。なんだけど自分で書いてみた。 http://github.com/januswel/cpplib/blob/master/header/strcheck.hpp http://github.com/januswel/cpplib/blob/master/sample/strcheck/main.cpp 一応 locale…

bmp

Windows Bitmap の header をアレコレするアレ。 24bit に限定。 32bit も扱えるようにしてもいいとは思うんだけどめんどくさい。あんまり見ないし。あと 256 色とか時代的にめんどくさい気がするのでこれだけで問題ない気もする。 http://github.com/janusw…

wav file の data を扱う

もう更新する気はないとかいっといて ( http://d.hatena.ne.jp/janus_wel/20100530/1275206953 ) さっそくうそついた感じなんだけどいわゆる sampling data を扱う class を定義して istream_iterator や ostream_iterator で使えてうれしい形にした。 http:…

stdint.h in VS10

VS10 で stdint.h が使えるようになってることに今更気付いた。以下の code が compile 通るようになってる。 http://github.com/januswel/cpplib/blob/master/header/elapsed.hpp http://github.com/januswel/cpplib/blob/master/sample/elapsed/main.cpp V…

wav file

なんかすごい久しぶりな気がする。というのはおいといて wav file ( RIFF WAV linear PCM ) の header を読み書きする C++ header を書いてみた。 fmt sub-chunk の拡張部分とか考え気すらないので bug とかなければこれで fix 。 http://github.com/januswe…

C++ の program framework

http://d.hatena.ne.jp/janus_wel/20100522/1274515252 で言ってた file template の分割をやったら Makefile を書かざるを得なくなって書いたら書いたでアレ ? これ copy & rename & replace すれば量産できるんじゃね ? という流れで作ってみた。 http://g…

main.hpp やめました

http://d.hatena.ne.jp/janus_wel/20100508/1273332573 で言ってたアレ、やめた。というのも仕分け対象というよりは援助・施策対象になりそうなところの構成員に「意味のないものを書くな」と direct に諭されたのでコレ使いながらいろいろ書いたり詰めたり…

STL だけで Perl の grep

sequence_container ( http://www.cplusplus.com/reference/stl/ の表参照 ) を出力先とすると下の code が多分素直な書き方。 sequence_container.resize(std::count_if(src.begin(), src.end(), pred)); std::remove_copy_if( src.begin(), src.end(), seq…

code template for cpp

code のひな形という意味での template 。 http://github.com/januswel/dotfiles/blob/master/vimfiles/template/-.cpp あーえーとうちは vim でアレコレしてるので filename だとか comment 内のよくわからないアレだとかは以下を参照で。 autotmpl.vim htt…