Hatena::ブログ(Diary)

Faith and Brave - C++で遊ぼう このページをアンテナに追加 RSSフィード Twitter

2012-02-10

[] 明日はBoost.勉強会 #8 大阪です!

Boost.勉強会 #8 大阪


関西での開催は今回で2回目です。

今回はid:Akinekoさんの主催で行います。


オレより強いC++erに会いに行く!


[] comp.std.c++typo報告

typo N3337 : scoped_allocator_adaptor


C++の最新ドラフトN3337にtypoを発見したので報告。

委員会MLに直接送ってもよかったのですが…ここでも拾ってもらえるかな?


2012-02-09

[] テンプレートテンプレートパラメータの特殊化

template template total specialization - Stack Overflow


使う機会はあまりないでしょうけど。

#include <vector>
#include <list>

template <template <class...> class Container>
struct X {
    Container<int> c;
};

template <>
struct X<std::vector> {
    std::vector<std::string> c;
};

int main()
{
    X<std::list> ls;
    ls.c.push_back(3);

    X<std::vector> v;
    v.c.push_back("hello");
}

2012-02-08

[] C++パーサー

C++ Parser? - Haskell Cafe


Haskellで書かれたフルのC++パーサーない?」という話から始まって、Haskellで書かれたものに限らずいろいろなC++パーサーの実装が紹介されていたのでメモ。


2012-02-07

[] 100人のプロが選んだソフトウェア開発の名著 君のために選んだ1冊


Developers Summitの10周年記念の本がまもなく発売します。『100人のプロが選んだソフトウェア開発の名著 君のために選んだ1冊』というタイトルの通り、いろいろな方面で活躍しているソフトウェア開発者が、特定の誰かを思って本をおすすめする本です。


私も今回、「ジェネレーティブプログラマへの道」というタイトルで2ページほど書かせていただきました。本屋で見かけたら手にとってみてください。

2/16, 17に開催されるDevelopers Summit 2012で先行販売もするようですので、参加される方はそちらでも探してみていただければと思います。


※本の写真は、岩切さんがFacebookにアップしてたものを使用しています。


2012-02-06

[] VC11で範囲for文が入るらしい

先日のGoing Native 2012で、Visual C++開発チームのStephan T. Lavavejさん(通称STL)からアナウンスがあったようです。


[] Visual C++にほしいC++11機能アンケート

C++11 Conformance Survey - Visual C++ Team Blog

C++11 Language Improvements Survey


Visual C++ Team Blogで、Visual C++にほしいC++11機能のユーザー調査を行なっています。

各機能ごとの優先順位と、ついでにVC++に対する意見も募集してるようなので、この機会に欲しいと思うものを直接ぶつけてみるといいと思います(黙って待ってるよりは、導入される可能性が高くなります)。


2012-02-03

[] リスト要素の最小値と最大値

調べ物をしてたらたまたま見つけたのでメモ。

minimumとmaximumを使用する。

main = do
        print $ maximum [3, 1, 4]
        print $ minimum [3, 1, 4]
4
1

こういう関数は型から探しにくいのでHoogleがあまり役に立たない。


Prelude.minimum

Prelude.maximum


2012-02-02

[] Boost.Containerにバグレポ:ドキュメントのtypo

#6499 - missing at() document


Google+でAkira Kanasugiさんから報告をもらったので、バグレポしました。


レポート内容は、Boost.Containerのドキュメントにおいて、コンテナの要素にランダムアクセスするat()メンバ関数の要件が逆になっていた、というのと、条件によって例外を投げるはずが「投げない」と記載されていた、というものです。


この問題はすぐに修正してもらい、Boost 1.49.0のリリースブランチにも入ったようです。


2012-02-01

[] Boost 1.49.0 Beta 1リリースノート 日本語訳完了

Boost 1.49.0 リリースノート


あとは正式リリースに向けて追加されたら追随して翻訳していきます。

協力してくれたzakさん、id:fjnlさんありがとうございます。


2012-01-31

[] Boost.Application

Boost.Application - Boost Developer ML

Boost.Application (PART II) - Boost Developer ML


メールが埋もれて探すのがめんどくさくならないうちにブログに書いておきます。

Boostの開発者MLに、Boost.Applicationというライブラリの話が出ていました。


どんなものなのか見てみたら、main関数のラッパで、いろんなプラットフォームでアプリケーションの実行ファイル名やバージョン、実行中 or 中断中のイベントなどを取得できるようにするライブラリのようです。

#include <boost/application/engine.hpp>

class myapp : public boost::application::application
{
protected:
    int main(const std::vector<std::string>& args)
    {
        // your application logic here!
        while(1)
        {
            std::cout << "Hello Boost.Application!" << std::endl;
            // ...
            if(state() == boost::application::application_stoped)
            {
                break;
            }
        }
        return 0;
    }
};

BOOST_APP(myapp, "MainTutorial1", "Boost.Application Main Tutorial 1!",
            boost::application::default_application_type, 1, 0, 1)

こういうのたまにほしくなります。


2012-01-30

[] Boost 1.49.0 Beta 1リリース

Version 1.49.0 beta 1


Boost 1.49.0 Beta 1がリリースされました。

リリースノートはまだ出揃っていませんが、おそらく今回Boost.Heapが新ライブラリとして入ります(release branchには入ってる)。


それと、リリースノートの翻訳 + 情報補完も、boostjpで進めています(zakさん仕事早い)。

Boost 1.49.0 リリースノート - boostjp