Boost  v1.57.0
doxygen for www.boost.org
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
boost::geometry::util::combine_if< Sequence1, Sequence2, Pred > Struct Template Reference

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. More...

#include <combine_if.hpp>

Classes

struct  combine
 

Public Types

typedef mpl::fold< Sequence1,
mpl::set0<>, combine >::type 
type
 

Detailed Description

template<typename Sequence1, typename Sequence2, typename Pred>
struct boost::geometry::util::combine_if< Sequence1, Sequence2, Pred >

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
typedef mpl::vector<mpl::int_<0>, mpl::int_<1> > types;
typedef combine_if<types, types, always<true_> >::type combinations;
typedef mpl::vector<
pair<mpl::int_<1>, mpl::int_<1> >,
pair<mpl::int_<1>, mpl::int_<0> >,
pair<mpl::int_<0>, mpl::int_<1> >,
pair<mpl::int_<0>, mpl::int_<0> >
> result_types;

Member Typedef Documentation

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

The documentation for this struct was generated from the following file: