Boost.Fusionの双方向シーケンスモデルの実装であるboost::fusion::dequeは以前から存在してはいましたが、ドキュメントがありませんでした。Boost 1.50.0になってドキュメントがようやく書かれました。
基本的な使い方は、vectorやlistと同じです。
#include <iostream> #include <boost/fusion/include/deque.hpp> #include <boost/fusion/include/for_each.hpp> #include <boost/phoenix.hpp> namespace fusion = boost::fusion; using namespace boost::phoenix::arg_names; int main() { fusion::deque<int, char, double> deq(1, 'a', 3.14); fusion::for_each(deq, std::cout << _1 << std::endl); }
1 a 3.14
deque - Boost Fusion Library
Bidirectional Sequence - Boost Fusion Library