diff options
Diffstat (limited to 'src/boost/libs/mpl/test/partition.cpp')
-rw-r--r-- | src/boost/libs/mpl/test/partition.cpp | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/src/boost/libs/mpl/test/partition.cpp b/src/boost/libs/mpl/test/partition.cpp new file mode 100644 index 00000000..947c310d --- /dev/null +++ b/src/boost/libs/mpl/test/partition.cpp @@ -0,0 +1,42 @@ + +// Copyright Aleksey Gurtovoy 2004 +// +// Distributed under 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) +// +// See http://www.boost.org/libs/mpl for documentation. + +// $Id$ +// $Date$ +// $Revision$ + +#include <boost/mpl/partition.hpp> +#include <boost/mpl/vector.hpp> +#include <boost/mpl/vector_c.hpp> +#include <boost/mpl/range_c.hpp> +#include <boost/mpl/back_inserter.hpp> +#include <boost/mpl/equal.hpp> +#include <boost/mpl/modulus.hpp> +#include <boost/mpl/int.hpp> +#include <boost/mpl/aux_/test.hpp> + +template< typename N > struct is_odd + : modulus< N, int_<2> > +{ + BOOST_MPL_AUX_LAMBDA_SUPPORT(1, is_odd, (N)) +}; + + +MPL_TEST_CASE() +{ + typedef partition< + range_c<int,0,10> + , is_odd<_1> + , mpl::back_inserter< vector<> > + , mpl::back_inserter< vector<> > + >::type r; + + MPL_ASSERT(( equal< r::first, vector_c<int,1,3,5,7,9> > )); + MPL_ASSERT(( equal< r::second, vector_c<int,0,2,4,6,8> > )); +} |