にゃははー

はへらー

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

override/finalキーワードキターーー

http://gcc.gnu.org/gcc-4.7/changes.html http://gcc.gnu.org/projects/cxx0x.html何が嬉しいって?そりゃ決まってるでしょ。 「すべてのクラスは派生される可能性があるからdtorには必ずvirtualを付けろ」教をたたきつぶすことが出来るんですよ? 今日を国…

エスケープシーケンス

って覚えんのめんどいしやばいので適当に書いてる。(って前に書いたような... https://github.com/Flast/trance/tree/manip masterとはマージしてないのでいくつかの部分は古いまんまなのでいつマージするか...これ見て思い出した。 コンソールの文字色を変…

std::futureで未来に生きたと思ってたけどAdaがすでに通っていた道だった...

Ada

std::futureで未来に生きる - Flast?なにそれ、おいしいの? でドヤァ...ってやったけど、Adaを勉強したらAdaがすでに通っていた道だった。しかも言語仕様で。 with Ada.Real_Time; use Ada.Real_Time; with Ada.Text_IO, Ada.Integer_Text_IO; use Ada.Text_…

std::futureで未来に生きる

C++

非同期にスレッドを走らせたい時、そしてその戻り値を取りたい時にstd::futureを使うといいです。なお、4.7.0 20110510(experimental)時点でlibstdc++のthreadはデフォルトでstd::this_threadの関数が使えません。先頭の2つのdefineはそれらを有効化するた…

GNATのインストールがうまくいかない

やっぱGNU makeはいろいろやばい もうおわこんだろ・・・というのもGNATのビルドプロセスを追ってみればわかる。例えばGCC 4.4が入ってる環境でGCC 4.5をビルドしようとする。ちなみに各コマンドは同一シェル内で実行する。 あと、4.4のインストールされてい…

詳細は明日とか言っときながら全然書いてなかったけど明日を定義してなかったから問題なかった

ということでとりえあえずTrance.Configの説明 http://d.hatena.ne.jp/Flast/20110506/1304696074 ファイルは https://github.com/Flast/trance/blob/master/trance/config.hpp です細かい説明が面倒なんで、Boost.Configのdoc Macros that describe possibl…

library Trance.Config is new Boost.Config with record ... end record;

https://github.com/Flast/trance/blob/master/trance/config.hppつかれた・・・ 詳細は明日・・・

Trance.TypeInfoを改良

https://github.com/Flast/trance/blob/master/trance/typeinfo.hpp といっても http://d.hatena.ne.jp/RiSK/20110504/1304495091 をもとにデマングル失敗時に例外を投げるように修正する程度ですが。あと、TRANCE_TYPEIDを修正してconst prvalueを返すよう…

Boost.Configぅぅぅぅぅぅぅぅぅっぅ

Boost.ConfigにはBOOST_NO_*といったコンパイラ対応等に関するマクロがありますが、これには問題があります。 例えば #include <boost/config.hpp> void hogehoge() #if !defined( BOOST_NO_NOEXCEPT ) noexcept #endif { fugafuga ... } のようなソースを書いたとき、BOOST_NO</boost/config.hpp>…

trance/typeinfo.hppは壊滅的に使いづらいだろうことは自明なので

xvalue(prvalue)つくりまくるバージョンの楽につかえるやつを追加しました。 #include <iostream> using namespace std; #include <trance/typeinfo.hpp> int main() { cout << TRANCE_TYPEID( int ).demangled_name() << endl << TRANCE_TYPEID( 0 ).demangled_name() << endl; } で、 int </trance/typeinfo.hpp></iostream>…

なぜ今Adaを始めるのか

Ada

今ッ!!1111Adaが熱いッ111111なんと強い静的型付けでありながら実行時に型の検査を行う!!! こんな感じ procedure hoge is type Positive is new Integer range 1 .. Integer'Last; -- 型に対して取りうる値の制約をかけれるから -- Constant_Error…