boost::geometry::util::combine_if
combine_if.hpp
boost::geometry::util::combine_if::combine
typename Sequence1 Sequence1
typename Sequence2 Sequence2
typename Pred Pred
boost::mpl::fold< Sequence1, boost::mpl::set0<>, combine >::type typedef boost::mpl::fold< Sequence1, boost::mpl::set0<>, combine >::type boost::geometry::util::combine_if< Sequence1, Sequence2, Pred >::type type

Meta-function to generate all the combination of pairs of types from a given sequence Sequence except those that does not satisfy the predicate Pred.

# Example

    typedefboost::mpl::vector<boost::mpl::int_<0>,boost::mpl::int_<1>>types;
    typedefcombine_if<types,types,always<true_>>::typecombinations;
    typedefboost::mpl::vector<
    pair<boost::mpl::int_<1>,boost::mpl::int_<1>>,
    pair<boost::mpl::int_<1>,boost::mpl::int_<0>>,
    pair<boost::mpl::int_<0>,boost::mpl::int_<1>>,
    pair<boost::mpl::int_<0>,boost::mpl::int_<0>>
    >result_types;

    BOOST_MPL_ASSERT((boost::mpl::equal<combinations,result_types>));

- boost::geometry::util::combine_if
  type