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)

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