あめだまふぁくとりー

Boost.Graphとかできますん

2012-01-01から1年間の記事一覧

Propety_iter_range

BGLといえばPropertyMap,PropertyMapといえばBGLなのだが,BGLのアダプタ関数はイテレータのペアであるRangeを返すなのでBGLとPropertyMap,Rangeをうまく組み合わせて使いたい. で少し調べてみたら,BGL内にproperty_iter_rangeというのを発見.property_…

GitHubのリポジトリからのみファイルを削除する

ローカルリポ上のファイルは残しながら,GitHubのリポからファイルを削除する方法が分からなかったのでメモ. git rm --cached filenameでOK.初めは-nかと思ってたのだが何も変わらなくて?だった.

Graph Layoutが使えない件

BGL

BGLのGraph Layoutは名前そのままグラフのレイアウトを行うアルゴリズム群. Random LayoutやCircle Layoutなど基本的なものから,Kameda Kawaiアルゴリズムといったものまで揃ってる. これらのアルゴリズムはTopologyと呼ばれるTraitsを持つことで,いろい…

コンテナとは違うのだよコンテナとは

はにゃー.修論提出・発表と論文提出が被って停滞してしまっていました.修論まだ提出できる段階じゃないけど徐々に復活でふ! What is the difference between a std::map and a boost::associative_property_map ? When a nonexisting key value is given …

今日覚えたVimコマンド(:タブ挿入)

Vim

set expandtab状態でもでタブを挿入可能だったんですね〜.知りませんでした,はい. 休日の間にちょっとだけVimいじったりプラグインいれてみたりしてみた.vimrcは見やすくしてステータスラインの表示を追加した程度.あと補間対象からインクルードファイ…

property_map_iterator…だと…?

C++

make_property_map_iterator プロパティマップとそのキーを指すイテレータからプロパティマップの値・参照を指すイテレータを作る make_iterator_property_map ランダムアクセスイテレータRAとインデックスマップからRAが指す参照を返すプロパティマップを作…

今日覚えたVimコマンド(%:対応する括弧へジャンプ)

Vim

寝て起きるまでは12日なのだ!問題ない!今までVimは一通りコマンド覚えて軽いスクリプト組んでた程度なのでもっと効率的に使えるようになりたい.で,大学の図書館でVimテクニックバイブルを借りることができたので,ちゃんとVimの勉強をしようと奮起してみ…

情緒不安定週間

日付を見て今日ポッキープリッツの日じゃんと一瞬思ってしまったが,11月でしたね….勢いで論文書き上げたせいで修正が難しいです,一貫性とか特に. あ,話は変わりますけどsubgraphアダプタちょっと微妙ですね.どのへんが微妙かはいつか纏めると思います.

ぷっとも関数おぶじぇくと

C++

プロパティマップを関数オブジェクトに変換するproperty_map_functionはSTLやboostのアルゴリズム,イテレータを使う際大変便利.でもこれはgetはできてもputができない.getのときはアルゴリズムでputのときはループ回すとかやだ!get,putは大抵関数テンプ…

修論の要旨終わった〜

あーつかれた〜.なんども読み返して目が痛い….なんであんなに誤字脱字をしてしまうんやろうか.指定されたフォーマットが二つあってそれぞれ微妙に違うのはなんとかしてほしい.

using declaration使えばいいじゃない

BGL

アホな話 まえがき BGLのアルゴリズムを適用できるグラフ構造にはBGLに含まれているadjacency_list等だけでない.自分自身で定義したグラフクラスやBoost以外のライブラリのグラフクラス,さらにvectorや配列等までありとあらゆるものBGLのアルゴリズムに適…

static_property_mapとconstant_property_map

BGL

Boost.PropertyMapには指定した値を常に返すstatic_property_mapというプロパティマップがある.一方BGLにも指定した値を常に返すconstant_property_mapがある.前者は,後者はをインクルードすることで使用できる.それぞれのクラス定義は次のようになって…

バグ(directed_graph, undirected_graph)

BGL

BGLにはadjacency_listをラップしたdirected_graph,undirected_graphクラスがあるんだけどバグを発見(Version 1.48.0です). #include <boost/graph/directed_graph.hpp> #include <boost/graph/undirected_graph.hpp> using namespace boost; int main() { directed_graph<> dg(5); graph_traits<directed_graph<> >::vertex_descriptor dv = </directed_graph<></boost/graph/undirected_graph.hpp></boost/graph/directed_graph.hpp>…

2012年は本気を出すといったな.あれは嘘だ.

資格のための勉強っていまいちやる気がでないのよね.TOEICとかも同じ.でもこつこつやらんといかんのよね. 昨日のやつ d:id:amedama41:20120104でproperty_map_functionのサンプルコード書いたけどあれよく考えたら別にmake_property_map_functionいらない…

ぷろぱてぃーまっぷ

BGL等でproperty mapを使っていると,たまにproperty mapをfunctorとして扱いたいときがある.そんなときにはproperty_map_funcionが使える.property_map_functionはproperty mapをfunctorとして扱うためのラッパオブジェクト.make_property_map_function…

graphvizでノードの座標指定

メモ neato -n1 -Tpng result.dot -O n1でgraphviz標準のレイアウト法を無効になり,node属性のpos=x,yが有効になる. あとは原点を左上に持っていく方法を知りたい.ノードで言い方は個人的にはあまり好きでない.NodeよりVertex派なのよね.

さらばTR1

C++

むぅ.やっぱりこんなことはできないのか. #include <iostream> #include <tr1/tuple> using std = ::std::tr1; // エラー int main() { std::tuple<int, int, int> t = std::make_tupple(3, 4, 5); std::cout << std::get<0>(t) << std::endl; } C++11を使ったり使わなかったりするからコードを</int,></tr1/tuple></iostream>…

新年の抱負

新年あけましておめでとうございます. 新年の抱負とか書きましたけど今まで新年の抱負とか立てたことないんで何を抱負にしたらいいのやら….まぁプログラミング以外の趣味が全然ないので新しい趣味でも見つけたいですね.運動不足感があるので体を動かす系…