From 85583b5ea9f6076131234f87a9ab5b1b40fa21ad Mon Sep 17 00:00:00 2001 From: Eric Niebler Date: Wed, 27 Jun 2012 04:27:50 +0000 Subject: [PATCH] allow boolean traits implementations to use std::true_type and std::false_type [SVN r79131] --- include/boost/fusion/support/is_segmented.hpp | 7 +++++-- include/boost/fusion/support/is_sequence.hpp | 8 +++++--- include/boost/fusion/support/is_view.hpp | 7 +++++-- 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/include/boost/fusion/support/is_segmented.hpp b/include/boost/fusion/support/is_segmented.hpp index ba571dc5..6e62eac4 100644 --- a/include/boost/fusion/support/is_segmented.hpp +++ b/include/boost/fusion/support/is_segmented.hpp @@ -7,6 +7,7 @@ #if !defined(FUSION_IS_SEGMENTED_03202006_0015) #define FUSION_IS_SEGMENTED_03202006_0015 +#include #include namespace boost { namespace fusion @@ -41,8 +42,10 @@ namespace boost { namespace fusion { template struct is_segmented - : extension::is_segmented_impl::type>:: - template apply + : mpl::bool_< + (bool)extension::is_segmented_impl::type>:: + template apply::type::value + > { }; } diff --git a/include/boost/fusion/support/is_sequence.hpp b/include/boost/fusion/support/is_sequence.hpp index 2f0ee433..d33af6ab 100644 --- a/include/boost/fusion/support/is_sequence.hpp +++ b/include/boost/fusion/support/is_sequence.hpp @@ -59,9 +59,11 @@ namespace boost { namespace fusion { template struct is_sequence - : extension::is_sequence_impl< - typename fusion::detail::tag_of::type - >::template apply + : mpl::bool_< + (bool)extension::is_sequence_impl< + typename fusion::detail::tag_of::type + >::template apply::type::value + > {}; template diff --git a/include/boost/fusion/support/is_view.hpp b/include/boost/fusion/support/is_view.hpp index dbcc93a9..4ec9e065 100644 --- a/include/boost/fusion/support/is_view.hpp +++ b/include/boost/fusion/support/is_view.hpp @@ -7,6 +7,7 @@ #if !defined(FUSION_IS_VIEW_03202006_0015) #define FUSION_IS_VIEW_03202006_0015 +#include #include #include @@ -54,8 +55,10 @@ namespace boost { namespace fusion { template struct is_view : - extension::is_view_impl::type>:: - template apply::type + mpl::bool_< + (bool)extension::is_view_impl::type>:: + template apply::type::value + > {}; } }}