result_of::size::value and result_of::size::type::value should be same type, rels to: #7304.

This commit is contained in:
Kohei Takahashi
2014-11-13 15:44:30 +09:00
parent 06cac9da1a
commit cc9b043168
3 changed files with 109 additions and 10 deletions

View File

@ -49,10 +49,10 @@ namespace boost { namespace fusion
template <typename Sequence>
struct apply : Sequence::template size<Sequence> {};
};
template <>
struct size_impl<boost_tuple_tag>;
template <>
struct size_impl<boost_array_tag>;
@ -67,14 +67,10 @@ namespace boost { namespace fusion
{
template <typename Sequence>
struct size
: extension::size_impl<typename detail::tag_of<Sequence>::type>::
template apply<Sequence>
{
typedef typename extension::size_impl<typename detail::tag_of<Sequence>::type>::
template apply<Sequence>::type size_application;
BOOST_STATIC_CONSTANT(int, value = size_application::value);
};
: mpl::int_<
extension::size_impl<typename detail::tag_of<Sequence>::type>
::template apply<Sequence>::type::value
> {};
}
template <typename Sequence>