Subscribed unsubscribe Subscribe Subscribe

Boostのカテゴリ分け

雑記 boost C++

Boostがどんどん肥大化しているのに眉をひそめる人は少なくないと思う。私なら以下のようにカテゴライズして提供しようと考えるけども、いまだにモノリシックなやり方を崩さないのはなんか理由があるんだろうか。

ちなみに、以下のリストではライブラリ間の依存関係をあまり考慮してない。むしろこのカテゴリ分けでうまくいかないような依存はぶった切りたいくらいだ。

ちなみに個人的には C++0x で multithreading library とかが入るのはあまり歓迎していない。というか TLS といい Unicode string literal といい、全般的にやりすぎ感があるんだけど…。特にTLSを言語レベルでサポートしようとすると、static initializerと似たような、でももっと複雑な問題を抱えそうな気がする。ま、この辺を読んでとりあえず仕組みだけ勉強することにする。

  • Boost foundation library -- 基本ライブラリスイート
    • any
    • array
    • assign
    • bimap
    • bind and mem_fn
    • call_traits
    • circular_buffer
    • conversion
    • compatibility
    • compressed_pair
    • concept check
    • config
    • date_time
    • dynamic_bitset
    • enable_if
    • foreach
    • format
    • function
    • function_types
    • functional
    • functional/hash
    • fusion
    • integer
    • interval
    • intrusive
    • in_place_factory, typed_in_place_factory
    • iterators
    • lambda
    • minmax
    • mpl
    • multi_array
    • multi_index
    • numeric/conversion
    • operators
    • optional
    • parameter
    • pointer container
    • preprocessor
    • property map
    • random
    • range
    • ref
    • regex
    • smart_ptr
    • static_assert
    • string_algo
    • test
    • timer
    • tokenizer
    • TR1
    • tribool
    • tuple
    • type_traits
    • typeof
    • utility
    • value_initialized
    • variant
  • Boost Utility Libraries -- ユーティリティライブラリ
    • crc
    • graph
    • xpressive
    • program_options
    • statechart
    • serialization
  • Boost System Libraries -- システムプログラミング用ライブラリスイート
    • asio
    • filesystem
    • interprocess
    • io state savers
    • iostreams
    • pool
    • signals
    • system
    • thread
  • Boost Math / Scientific Libraries -- 科学技術計算用ライブラリスイート
    • math
    • math/complex number algorithms
    • math/common_factor
    • math/octonion
    • math/quaternion
    • math/special_functions
    • math/statistical distributions
    • rational
    • uBLAS
  • Boost Auxiliary Libraries -- 補助ライブラリ