2004-01-01から1年間の記事一覧

SFINAEが使えればETにおけるCRTPは不要?

ありゃ?そういえばExpression Templateには演算子のオーバーロードを制限するためにCRTPが必須だと今までずっと思い込んでいたけれど,よくよく考えてみればSFINAEで制限出来るじゃん.演算子の場合引数の個数が固定されるからSFINAEが使えないとばかり勘違…

今日の収穫物

C++ Template Metaprogramming: Concepts, Tools, and Techniques from Boost and Beyond (C++ In-Depth Series) あー! クラスの構造をTMPのレベルで可変にする議論キタ━━━━━━(゜∀゜)━━━━━━ !!!!! いー! 線型継承によるClass Compositionキタ━━━━━━(゜∀゜)…

続・スマトラ島沖地震

津波の怖い部分って溺れる云々ではなくてあの流速がもたらす打撲などの外傷が主な犠牲の原因で最も怖い部分なんだろうか.APの写真とか見てる限りじゃ痛々しい青あざを体中に作ってる被害者の写真ばっかし.溺れる・引き潮で沖にさらわれるなどの恐怖は2の次…

スマトラ島沖巨大地震

場所がいまだに良く分かってない.スマトラの端っことアンダマン列島の間?スマトラからアンダマン列島のラインってユーラシアプレートとインド洋プレートが形成するいわゆる島弧(弧状列島)で普通に地震が多いところですよね?あんまり研究の対象とされて…

moetan

っていうか前回よりも笑える度合いが格段にレベルアップしてるんですがw. ネタも比較的新しめなのが採用されている.これは投稿ネタ採用の賜物か.スクラン, Death Note, わたおに, Fate, オンドゥル語, Matrix offなどは確認できた.っていうか大学受験用…

そういえば

今日は土曜日とは言えやけに人出が多かった気がするが何故だったんだろうか?

今日の収穫物

みなみけ(1) (ヤンマガKCスペシャル) 今日の5の2 (ヤンマガKCスペシャル)を読んだときからこの作者さんには質の高い萌えを創造する素質を感じていたが,やはり自分の直感は間違ってはいなかったっ! あれですよ.もうこれは進化なのですよ.萌えの進化.男キ…

いまどきのC++

テンプレートメタプログラミングによるソートの完全展開 http://tinyurl.com/449fy (comp.lang.std.c++.moderated 2004/12/10 "Completely inlining sort with template metaprogramming?") 最近このぐらいのTMPじゃ驚かなくなりましたよー.( ゜∀゜)アハハ…

std::size_t型をbasic_ostream::operator<<の引数にするとwarning C2467が出る

MSVC++7.1限定のお話. std::size_t型をbasic_ostream::operator 解決法 - /Wp64(64-bit portability warning)をoffにする 参考: http://www.dotnettalk.net/Printing_a_size_t_variable_results_in_a_warning_C2467-6980574-1300-a.html

boost::shared_container_iterator + Boost.Range

コンテナを生成して返す関数について.生成されたコンテナに対して挿入や削除を必要としない,つまり呼び出し元では生成されたオブジェクトの集合を単に読むだけ,という状況は多いと思われます.この場合呼び出し元において,生成されたコンテナそのものを…

約1週間ぶりの更新わはー♪

時代はいつからその歯車を狂わし始めたのであろうか・・・. ま,俺的には全然おっけー,むしろ歓迎っ( ;゜ー^) ⌒☆

Moetanプロモーションムービー

同じくid:quantum経由で. http://www.moetan.jp/ 皆さま, 英単語帳にプロモーションムービーが付く時代がやってまいりました. #見た. O.K. 以上.

じっくりKOTOKOと煮込んだスープ

id:quantum経由で. https://www.pokka.co.jp/soup/kotokoto/kotoko/ Σ(゜Д゜;エーッ! う,う〜ん.一般に浸透してきたという解釈で良い・・・のか?

Boost.Spiritとマネージ拡張の組み合わせで生じる問題

Boost.Spiritで大きなgrammarを作ってそれを利用する場合,マネージ拡張が有効になっているとboost::spirit::parseのところでC1129なるコンパイルエラーを吐く(pt_parse, ast_parseも同様). 以前全く同じ罠に引っかかっていたというのに・・・.また時間を…

C++ Ramble

Shmem - メモリにマップされたストレージを扱うライブラリ http://lists.boost.org/MailArchives/boost/msg76290.php あぁ,Shmemってそういうライブラリだったのね. 誰だよ,よく見ずに「スレッドセーフなSTL実装?」とか言ってたヤツは・・・orz. iterat…

いや,別にC++に限った話じゃないですが,無限大の浮動小数点の内部表現って一応国際規格として定まったものがあるんですな.以下は,C++でそれを取るやり方. #include <iostream> #include <limits> int main() { using namespace std; double inf = numeric_limits<double>::infinit</double></limits></iostream>…

気になったリファラ

privateメンバ 確認方法 単体テスト http://www.google.com/search?num=50&lr=lang_ja&q=private%E3%83%A1%E3%83%B3%E3%83%90%20%E7%A2%BA%E8%AA%8D%E6%96%B9%E6%B3%95%20%E5%8D%98%E4%BD%93%E3%83%86%E3%82%B9%E3%83%88 これ皆さんどうしていらっしゃるんで…

dummy

('A`) ハァ…

何やってんだかな・・・まだ分かってない.というか後から振り返ってみると基本的なところからダメダメやんけ.可能な限り情報は詳細に書くっていうド基礎を忘れてるし.

いやだからそんなことを思いついているヒマがあったら仕事しろって!

ET + typeof = infixなMPL

Expressin Templateとtypeofを組み合わせたらBoost.MPLをinfixで書けて(゜д゜)ウマーということを思いついた.

Range

C++

で,ですね.(ソート済み)rangeというヤツはですね,unionやintersectionといった演算においてmonoid(安定かどうかを無視すればcommutative monoid),さらにunionとintersectionの間には相互にdistributivityがある(でも双方ともinverseないのでringに…

accumulate

accumulateって関数の適用順序が仕様で定まっているから別にmonoidじゃなくても使えたのね.普通に考えたらmonoidに限定した実装をわざわざする必要はないんだけれど.まぁ,monoid以外にaccumulate使って(゜д゜)ウマーな例なんて自分には思いつかないんだ…

basic_string::operator+

C++

stringのoperator+は(個人的には)許せるんですよ.あれはmonoidだから.以前comp.lang.c++.moderatedで可換じゃないのにoperator+使うのはイヤンって文句言ってた人が居たけれど,これはもう嗜好の問題かにゃぁ."+"という記号から数体における加群の演算…

operator

C++

だからなんでスグにoperatorをオーバーロードしたがるんだ!ヽ(`Д´)ノ infixにして劇的に何かが改善する(対象が何らかの代数的構造を持っている,特にsemi-groupなら演算子を連続して書ける,とかDSELとか)なら全然許せる,むしろ(゜д゜)ウマー,C++万歳…

醜悪な事態その2

「ご主人様ぁ〜♪」 私の姿を見つけるなり,テペテペと駆け寄ってきたかと思うと有無を言わさず胸に飛び込んできた.こうなるとコイツはしばらく離れない.こげ茶の毛並みを携えた耳が私の顔を撫でる.こそばゆくて仕方がない. うん.やっぱりわたすに執筆業…

IQテスト

ちょっと前にそこらへんのblogで話題になっていて気になっていたけれど,そのまんま忘れてしまっていたIQテストの話をふと思い出した.のでやってみた. http://www.tv-asahi.co.jp/iq/ 問題正解数 16/20 IQ 130以上 言語 3 記憶 2 理論 4 数 4 知覚 3 (グ…

C++ Ramble

named params(名前付き引数を可能にするライブラリ)がBoost入り http://lists.boost.org/MailArchives/boost/msg76140.php (boost.devel 2004/12/05) まぁ,順当といえば良いのかな?refuseされることはまず無いと思ってたし. レビュー時の主な議論は以下…

積生成 in Boost.MPL(改)

#include <boost/mpl/long.hpp> #include <boost/mpl/plus.hpp> #include <boost/mpl/minus.hpp> #include <boost/mpl/multiplies.hpp> #include <boost/mpl/divides.hpp> #include <boost/mpl/modulus.hpp> #include <boost/mpl/list.hpp> #include <boost/mpl/begin_end.hpp> #include <boost/mpl/at.hpp> #include </boost/mpl/at.hpp></boost/mpl/begin_end.hpp></boost/mpl/list.hpp></boost/mpl/modulus.hpp></boost/mpl/divides.hpp></boost/mpl/multiplies.hpp></boost/mpl/minus.hpp></boost/mpl/plus.hpp></boost/mpl/long.hpp>