diff options
Diffstat (limited to 'boost/fusion/sequence/intrinsic/size.hpp')
-rw-r--r-- | boost/fusion/sequence/intrinsic/size.hpp | 18 |
1 files changed, 7 insertions, 11 deletions
diff --git a/boost/fusion/sequence/intrinsic/size.hpp b/boost/fusion/sequence/intrinsic/size.hpp index 51e613f693..97aa3ef9ec 100644 --- a/boost/fusion/sequence/intrinsic/size.hpp +++ b/boost/fusion/sequence/intrinsic/size.hpp @@ -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,18 +67,14 @@ 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> - BOOST_FUSION_GPU_ENABLED + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED inline typename result_of::size<Sequence>::type size(Sequence const&) { |