mirror of
https://github.com/boostorg/fusion.git
synced 2025-07-22 00:32:53 +02:00
Make the unrolled implementation of all work for multiples of four. Fixes #2599.
[SVN r55686]
This commit is contained in:
@ -108,7 +108,7 @@ namespace boost { namespace fusion { namespace detail
|
|||||||
template <typename It, typename F>
|
template <typename It, typename F>
|
||||||
static bool call(It const& it, F f)
|
static bool call(It const& it, F f)
|
||||||
{
|
{
|
||||||
return false;
|
return true;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -33,12 +33,24 @@ namespace
|
|||||||
int
|
int
|
||||||
main()
|
main()
|
||||||
{
|
{
|
||||||
|
{
|
||||||
|
boost::fusion::vector<> t;
|
||||||
|
BOOST_TEST((boost::fusion::all(t, boost::lambda::_1 < 4)));
|
||||||
|
BOOST_TEST((boost::fusion::all(t, boost::lambda::_1 > 0)));
|
||||||
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
boost::fusion::vector<int, short, double> t(1, 2, 3.3);
|
boost::fusion::vector<int, short, double> t(1, 2, 3.3);
|
||||||
BOOST_TEST((boost::fusion::all(t, boost::lambda::_1 < 4)));
|
BOOST_TEST((boost::fusion::all(t, boost::lambda::_1 < 4)));
|
||||||
BOOST_TEST((boost::fusion::all(t, boost::lambda::_1 > 0)));
|
BOOST_TEST((boost::fusion::all(t, boost::lambda::_1 > 0)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
boost::fusion::vector<int, short, double, long> t(1, 2, 3.3, 2);
|
||||||
|
BOOST_TEST((boost::fusion::all(t, boost::lambda::_1 < 4)));
|
||||||
|
BOOST_TEST((boost::fusion::all(t, boost::lambda::_1 > 0)));
|
||||||
|
}
|
||||||
|
|
||||||
{
|
{
|
||||||
boost::fusion::vector<int, short, double> t(1, 2, 3.3);
|
boost::fusion::vector<int, short, double> t(1, 2, 3.3);
|
||||||
BOOST_TEST((!boost::fusion::all(t, boost::lambda::_1 == 1)));
|
BOOST_TEST((!boost::fusion::all(t, boost::lambda::_1 == 1)));
|
||||||
|
Reference in New Issue
Block a user