allow boolean traits implementations to use std::true_type and std::false_type

[SVN r79131]
This commit is contained in:
Eric Niebler
2012-06-27 04:27:50 +00:00
parent 191a3d75ed
commit 85583b5ea9
3 changed files with 15 additions and 7 deletions

View File

@ -7,6 +7,7 @@
#if !defined(FUSION_IS_SEGMENTED_03202006_0015)
#define FUSION_IS_SEGMENTED_03202006_0015
#include <boost/mpl/bool.hpp>
#include <boost/fusion/support/tag_of.hpp>
namespace boost { namespace fusion
@ -41,8 +42,10 @@ namespace boost { namespace fusion
{
template <typename Sequence>
struct is_segmented
: extension::is_segmented_impl<typename traits::tag_of<Sequence>::type>::
template apply<Sequence>
: mpl::bool_<
(bool)extension::is_segmented_impl<typename traits::tag_of<Sequence>::type>::
template apply<Sequence>::type::value
>
{
};
}

View File

@ -59,9 +59,11 @@ namespace boost { namespace fusion
{
template <typename T>
struct is_sequence
: extension::is_sequence_impl<
typename fusion::detail::tag_of<T>::type
>::template apply<T>
: mpl::bool_<
(bool)extension::is_sequence_impl<
typename fusion::detail::tag_of<T>::type
>::template apply<T>::type::value
>
{};
template <typename Sequence, typename Enable = void>

View File

@ -7,6 +7,7 @@
#if !defined(FUSION_IS_VIEW_03202006_0015)
#define FUSION_IS_VIEW_03202006_0015
#include <boost/mpl/bool.hpp>
#include <boost/fusion/support/detail/is_view.hpp>
#include <boost/fusion/support/tag_of.hpp>
@ -54,8 +55,10 @@ namespace boost { namespace fusion
{
template <typename T>
struct is_view :
extension::is_view_impl<typename fusion::detail::tag_of<T>::type>::
template apply<T>::type
mpl::bool_<
(bool)extension::is_view_impl<typename fusion::detail::tag_of<T>::type>::
template apply<T>::type::value
>
{};
}
}}