Version 2 (modified by 14 years ago) ( diff ) | ,
---|
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<iter, iter> で Range !
- malloc/for → STL(コンテナ/アルゴリズム)
質疑応答
- 直線、木もグラフだよね?
- →正確にはサブセット?
- テンプレート引数の書く順番間違えたら MS-VS だとエラー箇所の赤線表示でる?
- でた。 VS2010パネェ
Note:
See TracWiki
for help on using the wiki.