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

typelist と mem_fun

Loki の Typelist、誰か実装してくれてないかな〜、と思っていたら、 2004-01-16の方で、やってくれてました。 チェックが足りん。 ん〜、シンプルで美しいですね。 私は、Typelist の中身を型 alias 2つにして、できねぇできねぇ言ってたんですが、これ見…

汎用ファンクタ

できないと言っていた汎用ファンクタができてしまった。 ArgType の定義で、インスタンス化した TypeArray.typeAt に typeof をかけているのがミソ。 (TypeArray の定義は 5-23 のと同じ) module doki.functor; import doki.typearray; class Functor(R, A…

型コンテナ(ナサケナVersion)

Loki の Typelist をD言語にポートし、可変個型引数を実装できないかな〜と思った。 だがやってみると難しく、Length と TypeAt すら実装できずに挫折した。 (誰かやった人はいないのかしら?) で、代わりに作ったのが以下のような羅列型のテンプレート。 …

比較関数つきsort

最近、STLをD言語へポーティングするみたいな作業をしている。 DTLがあるじゃないかと言われそうだが、DTLは bind2nd など足りないものが多い。 D言語組み込みの動的配列と連想配列だけでコンテナはすませようと思ってるので iterator もポーティングする気…

連想配列の同一性

奇妙な現象に遭遇したので報告。 配列へのユーティリティ的なテンプレートをいろいろ書いていたが、連想配列についてはあまり追加したいほどの機能はあまり見当たらない。連想配列は辞書的な使い方が殆どだから、挿入、取出し、検索ができれば十分なので、組…

配列にメソッド追加

id:kurimura さんとこの 2006-02-08の第1引数が配列の関数は、配列のメソッドのように扱えるというの。 これがなんと template でもできた。 しかも ver0.149 から template の暗黙のインスタンス化がサポートされたので、記法もシンプル。 template max(T) …

interface と Object

なんのことはない。 interface は Object に(明示的に) cast できた。2006-3-20 に書いた interface は Object として扱えないという問題も cast すれば殆ど問題にならない。それにともない、もう変えないと言っていた文字列化関数を更新した。 interface の…

桧山〜島牧〜寿都〜ニセコ

5/2〜4 にかけて旅行。 江差の鴎島を見ておきたいというのがあったので、檜山地方のハチャムの森にキャンプを張る。 キャンプ用品は友人と共用のがあったのだが、この度夫婦用に自分達のを買う。 妻はキャンプは始めてだそうで、物珍しがって面白そうにして…