Ticket #1601: boost_tuple.cpp.patch

File boost_tuple.cpp.patch, 1.2 KB (added by Stjepan Rajko, 13 years ago)

expanded version of OP's test, integrated in fusion/test/sequence/boost_tuple.cpp

  • libs/fusion/test/sequence/boost_tuple.cpp

     
    1212#include <boost/fusion/sequence/intrinsic/front.hpp>
    1313#include <boost/fusion/sequence/intrinsic/back.hpp>
    1414#include <boost/fusion/sequence/io/out.hpp>
     15#include <boost/fusion/iterator/distance.hpp>
    1516#include <boost/fusion/container/vector/vector.hpp>
    1617#include <boost/fusion/container/list/list.hpp>
    1718#include <boost/fusion/container/generation/make_vector.hpp>
     
    8485        fusion::list<int, std::string> l(tuples::make_tuple(123, "Hola!!!"));
    8586        l = tuples::make_tuple(123, "Hola!!!");
    8687    }
     88   
     89    {
     90        // test from Ticket #1601, submitted by Shunsuke Sogame
     91        // expanded by Stjepan Rajko
     92            boost::tuple<int, char> t(3, 'a');
     93       
     94            BOOST_TEST(0u == fusion::distance(fusion::begin(t), fusion::begin(t)));
     95            BOOST_TEST(1u == fusion::distance(fusion::begin(t), fusion::next(fusion::begin(t))));
     96            BOOST_TEST(2u == fusion::distance(fusion::begin(t), fusion::end(t)));
     97    }
    8798
    8899    return boost::report_errors();
    89100}