= Boost 勉強会 = == Boost 世界一周の旅 == * Property Tree 木構造を持つデータプロパティ管理。 XML (!RapidXml), JSON, INI ファイルパーサ提供 boost::property_tree::ptree型 * Uuid ユニークID生成。乱数生成器のデフォルトは mt19937 * Range2.0 Rangeアルゴリズム (イテレータの組ではなく範囲を渡す)、 Rangeアダプタ (遅延評価) が追加された。 要チェック→Oven * Filesystem v3 path 日本語対応等 string と wstrint の両方を使用するためにオーバーロードが必要なくなった? * Polygon 平面多角形 (2D) のアルゴリズム。 * Meta State Machine (MSM) 新たな状態マシンライブラリ。状態遷移表を直接記述。 === まとめ === * 1.44.0 はかなり充実。特に Range 2.0 はオススメ == Boost.Graph 入門 == === グラフ === * 頂点 vertex と辺 edge からなる * 配列・線形リンクリスト (直線、木) === 有向グラフ・無向グラフ === * 辺に向きがあるか否か === 操作 === 頂点と線を作ったり、できたグラフの中を辿ったり… === JR 最長片道切符 === とにかく遠回りして一番長い距離の切符 (のルート) を求める * →挫折した。データ入力が大変 (そりゃそーだw) * でも北海道だけは全部入力したよ。 * プログラムは作ったよ。 * 長万部駅を検索の起点にしたよ (青函トンネル超えた最初の駅) * 実際動かしてみたよ === なぜ Boost.Graph? === * イテレータでのアクセスがある * 辺・頂点 * 一部は pair で Range ! * malloc/for → STL(コンテナ/アルゴリズム) === 質疑応答 === * 直線、木もグラフだよね? * →正確にはサブセット? * テンプレート引数の書く順番間違えたら MS-VS だとエラー箇所の赤線表示でる? * でた。 VS2010パネェ