Implemented ability to set fallback for tag_of (#263)

This commit is contained in:
Denis Mikhailov authored and GitHub committed 2022-12-22 08:16:10 +08:00
1 parent 0a2da9d0ac
commit d6298309fb
3 files changed
+58 -1

No files matched your search

+7 -1
View File
@@ -48,11 +48,17 @@ namespace boost { namespace fusion
{
BOOST_MPL_HAS_XXX_TRAIT_DEF(fusion_tag)
template<typename Sequence, typename Active=void>
struct tag_of_fallback
{
typedef non_fusion_tag type;
};
template <typename Sequence, typename Active>
struct tag_of_impl
: mpl::if_<fusion::detail::is_mpl_sequence<Sequence>,
mpl::identity<mpl_sequence_tag>,
mpl::identity<non_fusion_tag> >::type
mpl::identity<typename tag_of_fallback<Sequence>::type> >::type
{};
template <typename Sequence>