diff --git a/simgear/nasal/cppbind/detail/nasal_traits.hxx b/simgear/nasal/cppbind/detail/nasal_traits.hxx index f3126918..73306936 100644 --- a/simgear/nasal/cppbind/detail/nasal_traits.hxx +++ b/simgear/nasal/cppbind/detail/nasal_traits.hxx @@ -20,6 +20,7 @@ #ifndef SG_NASAL_TRAITS_HXX_ #define SG_NASAL_TRAITS_HXX_ +#include #include #include #include @@ -157,9 +158,14 @@ SG_MAKE_TRAIT(<>, osg::Vec2s, is_vec2) } template static - typename boost::enable_if_c< - boost::is_same::value - || (boost::is_same::value && supports_weak_ref::value), + typename boost::enable_if< + boost::mpl::or_< + boost::is_same, + boost::mpl::and_< + boost::is_same, + supports_weak_ref + > + >, U >::type get(storage_type* ptr) @@ -168,9 +174,11 @@ SG_MAKE_TRAIT(<>, osg::Vec2s, is_vec2) } template static - typename boost::enable_if_c< - boost::is_same::value - && !supports_weak_ref::value, + typename boost::enable_if< + boost::mpl::and_< + boost::is_same, + boost::mpl::not_ > + >, U >::type get(storage_type* ptr) @@ -201,9 +209,14 @@ SG_MAKE_TRAIT(<>, osg::Vec2s, is_vec2) } template static - typename boost::enable_if_c< - boost::is_same::value - || (boost::is_same::value && supports_weak_ref::value), + typename boost::enable_if< + boost::mpl::or_< + boost::is_same, + boost::mpl::and_< + boost::is_same, + supports_weak_ref + > + >, U >::type get(storage_type* ptr) @@ -212,9 +225,11 @@ SG_MAKE_TRAIT(<>, osg::Vec2s, is_vec2) } template static - typename boost::enable_if_c< - boost::is_same::value - && !supports_weak_ref::value, + typename boost::enable_if< + boost::mpl::and_< + boost::is_same, + boost::mpl::not_ > + >, U >::type get(storage_type* ptr)