/*============================================================================= Copyright (c) 2008 Dan Marsden 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 namespace fusion = boost::fusion; namespace { template struct distinct {}; template void test() { typedef fusion::vector< distinct<0, batch>, distinct<1, batch>, distinct<2, batch>, distinct<3, batch>, distinct<4, batch>, distinct<5, batch>, distinct<6, batch>, distinct<7, batch>, distinct<8, batch>, distinct<9, batch> > v_type; v_type v; fusion::at_c<0>(v); fusion::at_c<1>(v); fusion::at_c<2>(v); fusion::at_c<3>(v); fusion::at_c<4>(v); fusion::at_c<5>(v); fusion::at_c<6>(v); fusion::at_c<7>(v); fusion::at_c<8>(v); fusion::at_c<9>(v); typedef typename boost::fusion::result_of::value_at_c::type va0; typedef typename boost::fusion::result_of::value_at_c::type va1; typedef typename boost::fusion::result_of::value_at_c::type va2; typedef typename boost::fusion::result_of::value_at_c::type va3; typedef typename boost::fusion::result_of::value_at_c::type va4; typedef typename boost::fusion::result_of::value_at_c::type va5; typedef typename boost::fusion::result_of::value_at_c::type va6; typedef typename boost::fusion::result_of::value_at_c::type va7; typedef typename boost::fusion::result_of::value_at_c::type va8; typedef typename boost::fusion::result_of::value_at_c::type va9; fusion::begin(v); fusion::end(v); fusion::size(v); } } #include "./driver.hpp"