タグ

boostに関するtsukkeeのブックマーク (18)

  • Boost.勉強会#2を開催したよ - Faith and Brave - C++で遊ぼう

    9/11(土)は、Boost.勉強会#2でした。 会場をご提供いただいたIIJ様、ありがとうございました。 Ustの配信をお願いしていた方が急遽来れなくなるというトラブルもありましたが、 IIJさんの計らいにより、なんとか配信/録画できました。以下に動画への各URLを記載しますので、来れなかった方はチェックしてみてください。 Boostライブラリ一周の旅(id:faith_and_brave, @cpp_akira) 動画 : http://www.ustream.tv/recorded/9486579 資料 : Boost tour 1_44_0View more presentations from faithandbrave. Boost tour 1_44_0_allView more presentations from faithandbrave. 今回は差分のみで量も少なかっ

    Boost.勉強会#2を開催したよ - Faith and Brave - C++で遊ぼう
  • C++でパターンマッチ - Faith and Brave - C++で遊ぼう

    Boost.Variantについて調べていたらすごいものを見つけてしまった。 http://archives.free.net.ph/message/20090406.185710.d34aa406.el.html こういうvariantがあったときに variant< int , pair<int,double> , pair<int,int> , pair<double,int> > var; Visitorを書かないといけないのはめんどくさい。 そこで、Vairantにどんな型が格納されているかパターンマッチしてしまえ、というライブラリの提案がかなり前にあったようです。 switch_(var) |= case_< pair<_1,_1> >(...) // matches pair<int,int> |= case_< pair<int,_> >(...) // matches p

    C++でパターンマッチ - Faith and Brave - C++で遊ぼう
  • Boost.PHP で SPL のイテレータを実装する - moriyoshiの日記

    残念ながら所用で参加できなかった モダンPHP勉強会。SPL の発表を Ust 経由で聞いて楽しくなってきたので、Boost.PHP でインターフェイスを実装できるようにしてみた。 追記: Boost.PHP の導入については、id:Kiske さんが素敵なチュートリアルを書いているのでそちらをご覧あれ m009.cpp: #include "boost/php/module.hpp" #include "boost/php/function.hpp" #include "boost/php/klass.hpp" #include <boost/mpl/vector.hpp> #include <boost/shared_ptr.hpp> #include <Zend/zend_interfaces.h> using namespace boost; class RangeIterator

    Boost.PHP で SPL のイテレータを実装する - moriyoshiの日記
  • Boost.Python の機能をざっと紹介してみる - moriyoshiの日記

    Boost の一部ながらも「実用的」すぎるため、とかくテンプレートメタプログラミングを愛好する諸兄から黙殺されてきた不幸のライブラリ、Boost.Python。Boost.勉強会でこいつの魅力を伝えようと思ったのだけど、時間の都合で無理だったので、簡単に紹介してみたい。 Boost.Python の基礎 Boost.PythonC++ のクラスや関数をラップする Python モジュールを恐ろしく簡単に書けるようにする、強力なライブラリである。 特に、Pyrex や Cython と比べて何がうれしいのかというと、 Python側にいちいちラッパ関数を書かなくてよい (テンプレートにより自動的に定義される) コンバータを登録することで、PythonC++の型の透過的な変換が容易にできる C++ のクラスを分かりやすい形で Python のクラスとして見せることが可能 といった点が挙

    Boost.Python の機能をざっと紹介してみる - moriyoshiの日記
  • 技術情報 | 株式会社きじねこ

    ここでは、当サイトに来られた方々に有益と思われるさまざまな技術情報を公開していきます。サイドメニューに、どのような技術情報を公開しているかのリストが表示されていますので、ご興味をもたれたページを是非ご覧ください。 技術情報に含まれる多くのページは、コメントを投稿できるようにしています。今後の改善のための参考とさせていただきますので、ご感想、ご意見、ご指摘などを残してくださると助かります。なお、当サイトに関わりない投稿、または不適切な表現が含まれる投稿に関しては、予告なく編集または削除させていただくことがございますので、あらかじめご了承ください。 当サイトに掲載しているソースコードは、ご自由に利用していただいてかまいません。ただし、何ら保証はありませんし、当サイト掲載ソースコードの使用および使用不可によって生じたいかなる損害に対しても、弊社は責任を負いかねます。すべて自己の責任においてご利用

  • Boost.phpを触ってみた - モノノフ日記

    今年のPHPカンファレンスジャパンで個人的に一番面白かったid:moriyoshiの発表に触発されてBoost.phpを試してみました。 試した環境 debian lenny githubからBoost.phpを取得する とりあえず最新版だけ欲しい人は--depthオプション使うとすぐダウンロードも終わります。moriyoshi/boost.php · GitHub $ git clone http://github.com/moriyoshi/boost.php.git Boostのソースコードを取得する 動作させるのにBoostが必要なのでダウンロードして適当な所に展開。パッケージに含まれるヘッダファイルだけ必要なのでビルドは不要。yumやaptでさっくり入れてもよいかと思います。 添付しているテストコードをビルドしてみる githubから落としたBoost.phpのコードにテストコー

    Boost.phpを触ってみた - モノノフ日記
  • http://www.alittlemadness.com/2009/03/31/c-unit-testing-with-boosttest/

    For full functionality of this site it is necessary to enable JavaScript. Here are the instructions how to enable JavaScript in your web browser.

  • Boost::Test で、 teardown や setup をする方法 - IT戦記

    めもめも #define BOOST_TEST_MODULE "Unit test for hogehoge." #include <boost/test/unit_test.hpp> struct Fixture { Fixture() { // ここに setup 的なことを書く } ~Fixture() { // ここに teardown 的なことを書く } }; BOOST_GLOBAL_FIXTURE( Fixture ); BOOST_AUTO_TEST_SUITE( hoge_test ) BOOST_AUTO_TEST_CASE( case_hoge ){ BOOST_REQUIRE_MESSAGE(expression, "hoge is hogehoge."); } BOOST_AUTO_TEST_CASE( case_hoge ){ BOOST_REQUIRE_MES

    Boost::Test で、 teardown や setup をする方法 - IT戦記
  • Kazuho@Cybozu Labs: C++ で自動型変換

    « なんとなくリフレクション in C++ | メイン | Pathtraq の API を公開しました » 2008年06月27日 C++ で自動型変換 C++ の拡張ライブラリである boost には、lexical_cast というライブラリがあって、iostream への入出力ができる型ならなんでも文字列化 (その逆も) できるので、とても便利です。でも、lexical_cast は、int → long のような変換の場合にも iostream を使った変換をしてしまうので、汎用のリフレクションコードを書こうとすると、そのままでは使いにくいです (オーバーヘッドが大きすぎる)。というわけで、変換前後の型に応じて、static_cast と lexical_cast を自動的に切り替えるようなキャスト関数を作ってみました。こんな感じで使います。 // calls lexical_c

    tsukkee
    tsukkee 2008/10/13
    パターンマッチングでlexical_castとかstatic_castを自動で使い分ける
  • Boost.Python のような手軽さで C++ で PHP の拡張モジュールを書ける「Mozo.PHP (仮称)」 - moriyoshiの日記

    えー、久しぶりにですます調です。日の第2回PHP拡張勉強会でグダグダながらもちょこっと発表させていただいた、あのライブラリについての紹介です。 ダウンロードは以下からできます。 http://www.voltex.jp/downloads/mozo-php-20080324.tar.bz2 最新版はこちら >> http://voltex.jp/downloads/mozo-php-20080405.tar.bz2 2009-08-10 追記: 現在は Boost.PHP という名前で以下の場所で開発中です。 http://github.com/moriyoshi/boost.php なぜMozo.PHPを作ったのか Boost.Python という、Boost Project の一部である変態ライブラリがあるのですが、これは Python の拡張をおおよそ C++ とは思えないような書

    Boost.Python のような手軽さで C++ で PHP の拡張モジュールを書ける「Mozo.PHP (仮称)」 - moriyoshiの日記
  • BoostでC++0xのライブラリ「TR1」を先取りしよう (5):CodeZine

    はじめに C++の新しい規格「C++0x」では、言語とライブラリの両面から便利な機能が追加されます。「TR1」(Technical Report 1)はC++0xのライブラリ部で、標準C++に新たに追加されるライブラリの多くはBoostの中から選ばれたものです。2008年春にリリースが予定されているVisual Studio 2008にも追加パッケージとして供給されるとの情報を得ています。 TR1に収録されたクラス/関数の中からいくつかをピックアップし、その概要と使い方を予習しておきましょう。これまでの一連の「TR1」解説ではBoostの実装を使ってきましたが、今回紹介する unorderedコンテナはBoostには含まれていません。そのため前述の追加パッケージ、Visual C++ 2008 Feature Pack Betaを使います。Feature Pack Betaは現時点では英語

  • BoostでC++0xのライブラリ「TR1」を先取りしよう (4):CodeZine

    はじめに C++の新しい規格「C++0x」では、言語とライブラリの両面から便利な機能が追加されます。「TR1」(Technical Report 1)はC++0xのライブラリ部で、標準C++に新たに追加されるライブラリの多くはBoostの中から選ばれたものです。2008年春にリリースが予定されているVisual Studio 2008にも追加パッケージとして供給されるとの情報を得ています。 TR1に収録されたクラス/関数の中からいくつかをピックアップし、その概要と使い方を予習しておきましょう。第4回はbindとfunctionです。これまでの記事第1回:BoostでC++0xのライブラリ「TR1」を先取りしよう arrayとshared_ptr/weak_ptr第2回:BoostでC++0xのライブラリ「TR1」を先取りしよう 正規表現「regex」第3回:BoostでC++0xのライブラ

  • CodeZine:BoostでC 0xのライブラリ「TR1」を先取りしよう (3)(チュートリアル)

    はじめに C++の新しい規格「C++0x」では、言語とライブラリの両面から便利な機能が追加されます。「TR1」(Technical Report 1)はC++0xのライブラリ部で、標準C++に新たに追加されるライブラリの多くはBoostの中から選ばれたものです。2008年春にリリースが予定されているVisual Studio 2008にも追加パッケージとして供給されるとの情報を得ています。 TR1に収録されたクラス/関数の中からいくつかをピックアップし、その概要と使い方を予習しておきましょう。第3回はtupleです。これまでの記事第1回:BoostでC++0xのライブラリ「TR1」を先取りしよう arrayとshared_ptr/weak_ptr第2回:BoostでC++0xのライブラリ「TR1」を先取りしよう 正規表現「regex」

  • BoostでC++0xのライブラリ「TR1」を先取りしよう (2):CodeZine

    はじめに C++の新しい規格「C++0x」では、言語とライブラリの両面から便利な機能が追加されます。「TR1」(Technical Report 1)はC++0xのライブラリ部で、標準C++に新たに追加されるライブラリの多くはBoostの中から選ばれたものです。2008年春にリリースが予定されているVisual Studio 2008にも追加パッケージとして供給されるとの情報を得ています。 TR1に収録されたクラス/関数の中からいくつかをピックアップし、その概要と使い方を予習しておきましょう。 正規表現について さまざまなアプリケーションの実装で必ずと言っていいほど必要となるのが文字列の処理です。簡単なところではファイル、ユーザー入力、あるいはネットワーク越しに手に入れた文字列を空白やカンマで区切るとか、特定の文字列の検索などがあります。 <string.h>(C++では<cstring>

  • BoostでC++0xのライブラリ「TR1」を先取りしよう (1):CodeZine

    はじめに C++の新しい規格「C++0x」では、言語とライブラリの両面から便利な機能が追加されます。「TR1」(Technical Report 1)はC++0xのライブラリ部で、標準C++に新たに追加されるライブラリの多くはBoostの中から選ばれたものです。2008年春にリリースが予定されているVisual Studio 2008にも追加パッケージとして供給されるとの情報を得ています。 TR1に収録されたクラス/関数の中からいくつかをピックアップし、その概要と使い方を予習しておきましょう。前準備 - Boostのインストール Boostのインストールは開発環境がVisual Studio 2005であれば、いとも簡単です。Boost consulting - Free Downloadsにあるインストーラをダウンロード/実行するだけで、必要なヘッダ、ライブラリおよびドキュメントがインス

  • C++ の std::vector に v += 3, 1, 4 で push_back - てっく煮ブログ

    c++boost::assign使ってみた - Faith and Brave - C++で遊ぼう にて boost::assign の使い方が紹介されていた。 #include #include #include #include using namespace std; using namespace boost::assign; int main() { vectorint> v; v += 3, 1, 4; // !!! for(unsigned int i = 0; i return 0; } おおおおお、なんかすごい…!普通なら v.push_back(3); v.push_back(1); v.push_back(4); と書かなきゃならないところを v += 3, 1, 4; と書ける。自分の C++ の常識からするとびっくりするような書き方なのだけど、C++ では

    tsukkee
    tsukkee 2008/10/13
    コンマ演算子のオーバーロード,そういえばそういうこともできました
  • 正規表現ライブラリ boost::xpressive を使う - 日記を書く [・w・] はやみずさん

    kinabaさんとこでboost::xpressiveを知ったので、早速ネットワークプログラミングのほうで使ってみたらなかなかよい感じ。 Boost.Regex++ と比較して、ヘッダのみで構成されている(ライブラリのリンクが不要)という点が気楽に使う向きにはありがたいのですが、何よりイカれているすばらしいのはテンプレートと演算子オーバーロードの黒魔術によって、 目的のパターンマッチを行う有限状態機械を、C++ ソースのコンパイル時に生成してしまう静的正規表現なのです。 Boost.Xpressive, 初音ミクの10倍高い機械に「GO MY WAY!!」を歌わせてみた(おまけつき) - underscore.jp/diary(2007-09-27) すげぇ。 以下使う方法を適当に。 はじめに Ubuntuな人は apt-get install libboost-* でおk。必要ないパッケ

    正規表現ライブラリ boost::xpressive を使う - 日記を書く [・w・] はやみずさん
    tsukkee
    tsukkee 2008/10/13
    すばらしいのはテンプレートと演算子オーバーロードの黒魔術によって、 目的のパターンマッチを行う有限状態機械を、C++ ソースのコンパイル時に生成してしまう静的正規表現なのです。
  • 人工言語世界 - kMonos.NET

    プログラミングのTips的なもの、あるいはお遊びの産物、 あるいはリンク集などを置いていくつもり。 C++ Let's boost C++のクラスライブラリ Boost の紹介。 C++ Library Links boost以外にも面白そうなライブラリが色々あるのでリンク! C++ Glossary 用語集というか略語集というか。 klx C++ Libraries 自分で使っているC++小物ライブラリ集。 D D言語リファレンス 日語版 訳してみました。 わかったつもりになるD言語 Dの紹介ドキュメントです。D Memo 2007。 Diki D言語で書いたWiki。 tx UTF-8 以外の環境で日語IOをどうにかする応急処置ライブラリ General テキストエディタを作るメモ テキストエディタを作ろうとしたときに個人的に作ったメモ。 Digital Mars C++ を使うメ

  • 1