Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

3.3.3. Boost

boost パッケージには、ピア・レビューされた多くの無償の移植可能な C++ ソースライブラリーがあります。これらのライブラリーは、移植可能なファイルシステムおよび時間/日付抽象化、シリアル化、ユニットテスト、スレッド作成およびマルチプロセス同期化、解析、グラフ化、正規表現の操作など、その他多くのタスクに適しています。
boost パッケージのインストールは、リンクの依存関係を十分に満たします (つまり、共有ライブラリーファイルのみ)。C++ 開発で使用可能なライブラリーおよびヘッダーファイルのすべてを活用するには、boost-devel もインストールする必要があります。
boost は実際にはメタパッケージで、多くのライブラリーのサブパッケージが含まれています。これらのサブパッケージは個別にインストールして、より詳細なパッケージ間の依存関係の追跡を提供することもできます。メタパッケージには、以下のサブパッケージすべてが含まれます。
  • boost-date-time
  • boost-filesystem
  • boost-graph
  • boost-iostreams
  • boost-math
  • boost-program-options
  • boost-python
  • boost-regex
  • boost-serialization
  • boost-signals
  • boost-system
  • boost-test
  • boost-thread
  • boost-wave
静的リンク用のパッケージまたは基礎的 Message Passing Interface (MPI) サポートに依存するパッケージは、メタパッケージに含まれません。
MPI サポートは 2 つの形式で提供されます: ひとつはデフォルトの Open MPI 実装で [1]、もうひとつは代替の MPICH2 実装です。使用する基礎的 MPI ライブラリーはユーザーが決定でき、特定のハードウェア詳細とユーザーの好みによります。インストール済みファイルは一意のディレクトリーの場所にあることから、これらのパッケージは並行してインストールできることに注意してください。
Open MPI:
  • boost-openmpi
  • boost-openmpi-devel
  • boost-graph-openmpi
  • boost-openmpi-python
MPICH2:
  • boost-mpich2
  • boost-mpich2-devel
  • boost-graph-mpich2
  • boost-mpich2-python
静的リンクが避けられない場合は、boost-static パッケージが必要な静的ライブラリーをインストールします。スレッド対応と単一スレッドの両方のライブラリーが提供されます。

3.3.3.1. Boost 更新

Red Hat Enterprise Linux 6 バージョンの Boost 機能には、多くのパッケージ関連の改善と新機能が含まれています。
boost パッケージのいくつかの側面が変更されています。上記のように、モノリシックな boost パッケージは、より小型の別個のサブパッケージで増強されてきました。これでユーザーは依存関係の管理がより広くできるようになり、Boost を使用するカスタムアプリケーションをパッケージする際はより小型のバイナリーパッケージが可能になっています。
さらに、全ライブラリーのシングルスレッドとマルチスレッドバージョンがパッケージ化されています。マルチスレッドバージョンには、通常の Boost 慣習の通りに mt 接尾辞が含まれています。
Boost には以下の新たなライブラリー機能もあります。
  • Foreach
  • Statechart
  • TR1
  • Typeof
  • Xpressive
  • Asio
  • Bitmap
  • Circular Buffer
  • Function Types
  • Fusion
  • GIL
  • Interprocess
  • Intrusive
  • Math/Special Functions
  • Math/Statistical Distributions
  • MPI
  • System
  • Accumulators
  • Exception
  • Units
  • Unordered
  • Proto
  • Flyweight
  • Scope Exit
  • Swap
  • Signals2
  • Property Tree
既存ライブラリーの多くは改善されバグ修正されているか、強化されています。


[1] MPI サポートは、IBM System Z マシン (ここでは Open MPI が利用不可) では利用できません