Fix warning: use boost::mlp::if_ with explicit calls to bool_ and or_ to avoid parenthesis warning

This commit is contained in:
Simon Giraudot 2016-02-05 14:42:16 +01:00
parent 9fceea22cc
commit 591dc11511
1 changed files with 8 additions and 5 deletions

View File

@ -85,11 +85,14 @@ class KernelD_converter_
// Disable the conversion in some cases:
struct Do_not_use{};
typedef typename boost::mpl::if_c <
// If Point==Vector, keep only one conversion
duplicate::value ||
// For iterator objects, the default is make_transforming_iterator
(iterator_tag_traits<Tag_>::is_iterator && no_converter::value),
// Explicit calls to boost::mpl functions to avoid parenthesis
// warning on some versions of GCC
typedef typename boost::mpl::if_ <
// If Point==Vector, keep only one conversion
boost::mpl::or_<boost::mpl::bool_<duplicate::value>,
// For iterator objects, the default is make_transforming_iterator
boost::mpl::bool_<(iterator_tag_traits<Tag_>::is_iterator && no_converter::value)> >,
Do_not_use,K1_Obj>::type argument_type;
//typedef typename KOC::argument_type K1_Obj;
//typedef typename KOC::result_type K2_Obj;