A slightly cleaner N3031 workaround

This commit is contained in:
Nikita Kniazev
2018-10-12 00:34:20 +03:00
parent 6208b083fb
commit 2160949150
3 changed files with 16 additions and 17 deletions

View File

@ -24,12 +24,10 @@ namespace boost { namespace fusion
struct value_at_key_impl<map_tag>
{
template <typename Sequence, typename Key>
struct apply
{
typedef typename BOOST_FUSION_IDENTIFIED_TYPE((
struct apply : BOOST_FUSION_DECLTYPE_N3031((
boost::declval<Sequence>().get_val(mpl::identity<Key>())
)) type;
};
))
{};
};
}
}}

View File

@ -47,12 +47,10 @@ namespace boost { namespace fusion
struct value_at_impl<vector_tag>
{
template <typename Sequence, typename N>
struct apply
{
typedef typename BOOST_FUSION_IDENTIFIED_TYPE((
struct apply : BOOST_FUSION_DECLTYPE_N3031((
vector_detail::value_at_impl<N::value>(boost::declval<Sequence*>())
)) type;
};
))
{};
};
}
}}