/*============================================================================= Copyright (c) 2007 Tobias Schwinger Use modification and distribution are subject to the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt). ==============================================================================*/ #include #include #include #include #include #include #include #include #include #include struct check_equal { template void operator()(LHS const& lhs, RHS const& rhs) const { BOOST_TEST(( boost::is_same::value )); BOOST_TEST(( lhs == rhs )); } }; int main() { using namespace boost::fusion; typedef boost::fusion::vector seq_t; seq_t seq(1,2l,3.0f,4.0); typedef repetitive_view view_t; view_t view(seq); typedef joint_view seq_twice_t; typedef joint_view seq_repeated_t; seq_twice_t seq_twice(seq,seq); seq_repeated_t seq_repeated(seq,seq_twice); for_each(zip(view,seq_repeated), make_fused_procedure(check_equal())); return boost::report_errors(); }