boost

Boost.1.52とかでshared_mutexがlock_error例外投げたりしたんだけど

これだった。 https://svn.boost.org/trac/boost/ticket/7720Windows環境の人は BOOST_THREAD_PROVIDES_GENERIC_SHARED_MUTEX_ON_WIN を定義してねって。 Windows上のなんかの実装だとちょっとバグ出るわーでも汎用的な実装では修正済みだわーだからこのマク…

Macで、Apple版じゃないgccを使用してBoostをビルドするときのエラー

いつも忘れるのでメモBoost users' mailing page: Re: [Boost-users] Boost Install on Mac OS X using GCC (1) Create a file user-config.jam in the boost root with the following contents: using darwin : std0x : "/opt/local/bin/g++" : -std=gnu++0…

Boost.勉強会 #8 大阪に参加してきた。

2/11日開催のBoost.勉強会 #8 大阪に参加して、Boost.Testについて発表してきました。12月に募集が開始されたBoost.勉強会の参加登録が一瞬で埋まったので補欠参加枠で登録したにも関わらずフライングで飛行機を予約してしまったので、ちゃんと勉強会に参加…

Boost.Exceptionの紹介。

Boost.Exceptionの紹介。どうも。宮崎のヌーさんから紹介にあずかりました北海道の魔法少女です。 この記事はBoost Advent Calendar 2011の参加記事です。 今回は、Boost.Exceptionについて紹介します。 はじめに。 Boost.Exceptionとは。 Boostのライブラリ…

Boost.勉強会 #6 札幌を開催しました!2

Boost.勉強会 #6 札幌を開催しました! - How to disappear completelyの続き。 Boost.勉強会 #6 札幌 前夜祭を開催しました! #ジンギスカン食べたJP 〜〜〜 前日から札幌入りする予定の猛者がいるとの情報を聞きつけた我々はジンギスカン食べ放題をセッテ…

Boost.勉強会 #6 札幌を開催しました!

11/05(土)にBoost.勉強会 #6 札幌を開催いたしました。 http://atnd.org/events/18252 https://sites.google.com/site/boostjp/study_meeting/study6座席表 https://docs.google.com/spreadsheet/ccc?key=0Ag3bTfuU3UptdHpsSm42bFoxa2ZxbkM3OEtFWjY3QWc 各発…

今週末はBoost.勉強会ですよ!

先からお伝えしているBoost.勉強会もいよいよ今週末となりました。 Boost.勉強会 #6 札幌 http://atnd.org/events/18252僕も資料作成ぱややーん。

phoenix使い始め。(lazy_make_shared)

phoenixが強力らしいので使ってみることにした。 main.cpp #include <iostream> #include <vector> #include <boost/spirit/home/phoenix.hpp> #include <pstade/oven/algorithm.hpp> #include <pstade/oven/initial_values.hpp> #include "./lazy_make_shared.hpp" class A { public: A(int n) : n_(n) { std::cout << "created(" << n << ")"…</pstade/oven/initial_values.hpp></pstade/oven/algorithm.hpp></boost/spirit/home/phoenix.hpp></vector></iostream>

Boost.Beer 札幌を開催した。

Boost.Beer 札幌 : ATND (ビアガーデンで飲みたかっただけです>ヮ<僕と[twitter:@lapis_tw]さんが参加して、大通り10丁目の世界のビール広場で、lapis_twさん所有の鈍器を肴にビールを飲みながら焼きそばとか食べてました。これを見た人たちの反応 window…

Boost.勉強会 #6 札幌 開催のお知らせ

少し先になりますが、2011/11/05(土)に、札幌にてBoost.勉強会を開催します。過去5回に渡って本州で開催されてきたBoost.勉強会を、津軽海峡を超えて、札幌で暖簾分けさせていただくことになります。そして、道外のC++erも何名か札幌に遊びに来て頂けるよう…

Boost.Spirit.Qiで引数を取るようなrule・・・でいいのかな?

typedef qi::rule<Iterator, unsigned int(), ascii::space_type> rule_t; rule_t XXX_; rule_t YYY_; rule_t ZZZ_; XXX_ %= qi::omit[qi::no_case[ascii::string("XXX")] >> *qi::blank >> "=" >> *qi::blank] >> qi::uint_; YYY_ %= qi::omit[qi::no_case[ascii::string("YYY")] >> *qi::blank >> "=" >></iterator,>…

Spirit.QiのSemanticActionではまった(というかPhoenix)

#include <iostream> #include <string> #include <boost/spirit/include/qi.hpp> namespace qi = boost::spirit::qi; namespace ascii = boost::spirit::ascii; int main() { std::string const data = "0.123670"; unsigned int result = 0; using ascii::space_type; using qi::_val; using qi::_1; using</boost/spirit/include/qi.hpp></string></iostream>…

ちょっと乗り遅れな気がするけどSleep-Sort(C++0x, Boost, PStade.Oven)

#include <iostream> #include <vector> #include <boost/thread.hpp> #include <pstade/oven/algorithm.hpp> int main() { std::vector<int> v = {4, 2, 6, 1, 9, 10, 3, 7}; boost::thread_group ths; pstade::oven::for_each( v, [&ths](int n) { ths.add_thread( new boost::thread( [](int n) { boost::this_thread::s…</int></pstade/oven/algorithm.hpp></boost/thread.hpp></vector></iostream>

Boost.Rangeのirangeのstepに対してOvenのsteps

http://homepage1.nifty.com/herumi/diary/1105.html#13 Ovenは意図通りの挙動だった。 (というよりOvenには同様の機能が無いのでstepsを使った。) boost1.46.1 Ovenはtrunk(たぶん現行のリリースの1.04.3でも問題ない) #include <iostream> #include <pstade/oven/algorithm.hpp> #include <pstade/oven/counting.hpp> #incl</pstade/oven/counting.hpp></pstade/oven/algorithm.hpp></iostream>…

CRTPでPollingスレッド

polling_base.hpp #ifndef HWM_POLLING_BASE_HPP #define HWM_POLLING_BASE_HPP //! @file //! do processing every specifiec time. #include <boost/bind.hpp> #include <boost/thread.hpp> template< typename Derived, typename TimeDuration = boost::posix_time::time_duration > class p</boost/thread.hpp></boost/bind.hpp>…

Rangeの勉強その3

翻訳の続き 3 Rangeの基盤の基本 (Part1)typetraitsと独立関数からなるlibraryの基本要素について. * rangeの概念 * synopsis(1) * specification(1) 3.1 Rangeの概念このセクションではrangeの概念(concepts)を紹介する. rangeの概念は2つの構成要素からな…

setに渡す比較関数をBoost.Lambdaで指定

最近twitterでid:thincaさんが、boost::shared_ptrにくるんだoperatorUsing boost::shared_ptr with std::set 比較関数オブジェクト作ればいいけど、Boostならもっと短くしてくれるよね?って。そこで解答として boost/utility/compare_pointees.hpp を使う方…

Rangeの勉強その2

翻訳の続き 2 関連情報とoverview この提案は, すでに多くのcontextにおいてうまいこと使用されているBoost.Rangeをもとにしている. 例えば以下のライブラリはその基盤にBoost.Rangeを使用している. * Boost.StringAlgo(1.32からBoostに仲間入りした) * Boos…

Rangeについて勉強

Range Library Proposal Range Library提案を翻訳する。目標は今週中に Range Library Proposal摘要 この論文は, プログラマの構文的負担を軽減させるためにC++ standard libraryに対してのrangeの拡張を提案する. この論文はまた, alrgorithmとloopの使用を…

boost/range/detail/detail_str.hppでtypo

detail_str.hppの137,138行目にtypoがありました。古いコンパイラ用のファイルみたいですが、一応バグレポート出したらいいとid:faith_and_braveさんにアドバイスもらったのでやってみたいと思います。英語がこんな感じ There are typos in boost/range/deta…

Boost.QuickBookのqbkをhtmlにするまで。

いま、Ovenのドキュメントの翻訳作業を進めております。 翻訳なので、もともとのJamfileの設定とかは変えてないので、これを読んでも、実際にどういう設定をしたらqbkをhtmlにできるとかはわからないです。ここではmac osx10.6で既存のqbkを編集してhtmlにす…

札幌C++勉強会#1を開催しました!

札幌でもC++/Boostのコミュニティがほしいお、とか思ってつくったものですが、 プロジェクターの使用の調整とか、部屋の確保とか、メンバーの方々に大変協力していただいて、 無事に第1回目の勉強会を開催する事ができました! 運営に協力してくださった[twi…

Boost.Thread condition_variable便利。

Boost.Threadはよく使うのですが、同期とか排他とか、recursive_mutexだけでゴニョゴニョするだけという かなりナンセンスな設計しかしていませんでしたが、先日condition_variableが便利だと知りました。なんせ、よく知らない機能は、ドキュメント読むのも…

P-Stadeライブラリのtrunkをインクルードディレクトリに指定するとBoost.Spirit.Qiがコンパイルエラーになる。

長くなったのでこのエントリに移しました。msvc2008で確認。ほかは知らにゃい。 Boost1.45, 問題となったpstade/trunk/pstade/boost/utilityのリビジョンは1481C:\Program Files\pstade\trunk\pstadeをインクルードディレクトリに指定して #include <boost/spirit/include/qi.hpp> int mai</boost/spirit/include/qi.hpp>…

札幌C++勉強会#1

札幌C++勉強会#1のお知らせです!第一回目となる今回は、当初計画していた日と東京のBoost.勉強会#4が重なったので、Boost.勉強会鑑賞会という形になります。会場はまだ決まっていませんが、プロジェクターで向こうの勉強会のust配信を映して札幌でも一緒に…

札幌C++勉強会のグループを作成しました。

札幌でのC++erのコミュニティーとして札幌C++勉強会を作成しました。 当面は、大きな目標として来年5月の勉強会(Boost.勉強会かも)に向けて運営していきたい思っております。 興味がありましたらぜひご参加くださいませませ。 Google グループ

Boost.忘年会2010@sapporoを開催しました!

このエントリーで紹介したBoost.忘年会を開催しました。 会場は大通りにあるリストランテ ZENZEROと言うところで、個室が若干狭く感じましたが、6名なので全員が顔を合わせて話せるということでそんなに問題はなかったかなと思います。 ドタキャンが無かった…

const配列をTMPで初期化して参照テーブル云々、失敗

const配列をTemplate Meta Programmingで初期化して参照テーブルにしたかった。 template<int N> struct table { static const int value[N]; }; template<int N> const int table<N>::value[N] = /*???*/; int foo(int n) { return table<10>::value[n]; } みたいなことがで</n></int></int>…

値(あたい)「値るの!」

前回の記事はわざわざ POD型用と、そうじゃない型用に2種類作らなくてもboost::call_traitsを使えばいいのですね。参照:letsboost::call_traitsあ、タイトルはこちらから。追記:boost::call_traitsは引数のテンプレート型を型推論出来ないそうで、引数には使…

hokkaido.pm#3に行ってきた。

hokkaido.pm#3に行ってきた。前は#1に参加したのでこれでhokkaido.pmには2回目の参加(#0も含めれば3回目になるか)今回は初心者向けセッション中心ということで、普段からPerl触っているわけじゃないので全然上達しない僕にしてみればとてもありがたい内容で…