仕事で使っているBoostライブラリ

前2つのエントリにあるコマンドを組み合わせて、プロジェクト中で使用しているBoostのヘッダファイルを検索してみました(ただの暇つぶしで、意味はありません)。

# こんな感じで抽出
ls -r -include *.cpp,*.hpp,*.h | grep '#include <boost' | foreach { ($_ -split ':')[3] } | count.ps1

プリコンパイルヘッダで一度しか#includeしていないものもあるので数はあまり正確ではありませんが、至極普通の使い方をしている感じです。スマートポインタと、その他便利な関数を使わせてもらっています。なんと未だにBoost.Optionalを使ったことがないということに気付いたので、今後使っていきたいです……。

思ったより長かったので、詳細表示で。

使用数 ヘッダファイル
39 #include <boost/foreach.hpp>
35 #include <boost/scoped_ptr.hpp>
29 #include <boost/shared_ptr.hpp>
23 #include <boost/bind.hpp>
23 #include <boost/lexical_cast.hpp>
19 #include <boost/scoped_array.hpp>
13 #include <boost/signals2.hpp>
11 #include <boost/noncopyable.hpp>
9 #include <boost/format.hpp>
8 #include <boost/algorithm/minmax_element.hpp>
7 #include <boost/function.hpp>
7 #include <boost/range.hpp>
6 #include <boost/utility.hpp>
5 #include <boost/range/algorithm.hpp>
5 #include <boost/asio.hpp>
4 #include <boost/range/algorithm/find.hpp>
4 #include <boost/tuple/tuple.hpp>
4 #include <boost/ptr_container/ptr_vector.hpp>
3 #include <boost/signals.hpp>
3 #include <boost/range/algorithm/for_each.hpp>
2 #include <boost/tokenizer.hpp>
1 #include <boost/type_traits/remove_pointer.hpp>
1 #include <boost/detail/workaround.hpp>
1 #include <boost/assert.hpp>
1 #include <boost/preprocessor/seq/for_each.hpp>
1 #include <boost/dynamic_bitset.hpp>
1 #include <boost/static_assert.hpp>
1 #include <boost/preprocessor/repetition/repeat.hpp>
1 #include <boost/range/numeric.hpp>
1 #include <boost/range/begin.hpp>
1 #include <boost/typeof/typeof.hpp>
1 #include <boost/preprocessor.hpp>
1 #include <boost/operators.hpp>
1 #include <boost/preprocessor/facilities/empty.hpp>
1 #include <boost/multi_index/detail/scope_guard.hpp>
1 #include <boost/range/end.hpp>
1 #include <boost/shared_array.hpp>
1 #include <boost/range/algorithm/copy.hpp>
1 #include <boost/mpl/bool.hpp>
1 #include <boost/ptr_container/ptr_deque.hpp>
1 #include <boost/preprocessor/punctuation/comma_if.hpp>
1 #include <boost/range/iterator_range.hpp>
1 #include <boost/preprocessor/repetition/enum_trailing_params.hpp>
1 #include <boost/config.hpp>
1 #include <boost/variant.hpp>
1 #include <boost/preprocessor/repetition/enum_params.hpp>
1 #include <boost/checked_delete.hpp>
1 #include <boost/iterator/iterator_facade.hpp>
1 #include <boost/range/adaptor/reversed.hpp>
1 #include <boost/algorithm/string.hpp>
1 #include <boost/preprocessor/tuple/elem.hpp>
1 #include <boost/interprocess/shared_memory_object.hpp>
1 #include <boost/preprocessor/seq/for_each_i.hpp>
1 #include <boost/preprocessor/seq/cat.hpp>
1 #include <boost/interprocess/mapped_region.hpp>
1 #include <boost/signal.hpp>
1 #include <boost/preprocessor/cat.hpp>

details/の下にあるファイル使っているのは良くないなぁ……。