C++ Advent Calendar jp 2010の記事です。 今回は、Boost Fusion Libraryを紹介します。 Boost Fusion Libraryは、タプルのデータ構造とアルゴリズムを提供するライブラリです。 Fusionでは、2つの重要な概念を与えます。 1つは、タプルを異なる型のリストと見なしイテレートする、Fusion Sequenceという概念。 もうひとつは、タプルを名前のないユーザー定義型、ユーザー定義型を名前ありタプルと見なし、それらを相互運用可能にするという概念です。 まず、基本的な使い方を見ていきましょう: #include <iostream> #include <string> #include <boost/fusion/include/vector.hpp> #include <boost/fusion/include/for_each.