diff --git a/include/boost/fusion/sequence/adapted/mpl/tag_of.hpp b/include/boost/fusion/sequence/adapted/mpl/tag_of.hpp deleted file mode 100644 index 756d94f6..00000000 --- a/include/boost/fusion/sequence/adapted/mpl/tag_of.hpp +++ /dev/null @@ -1,29 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2006 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_TAG_OF_31122005_1153) -#define BOOST_FUSION_TAG_OF_31122005_1153 - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct mpl_sequence_tag; - - namespace traits - { - template - struct tag_of >::type> - { - typedef mpl_sequence_tag type; - }; - } -}} - -#endif diff --git a/include/boost/fusion/support/tag_of.hpp b/include/boost/fusion/support/tag_of.hpp index ce8e0aeb..c7cfbb76 100644 --- a/include/boost/fusion/support/tag_of.hpp +++ b/include/boost/fusion/support/tag_of.hpp @@ -12,7 +12,9 @@ #include #include #include +#include #include +#include #include namespace boost @@ -38,6 +40,7 @@ namespace boost namespace boost { namespace fusion { struct non_fusion_tag; + struct mpl_sequence_tag; namespace detail { @@ -48,9 +51,10 @@ namespace boost { namespace fusion { template struct tag_of - { - typedef non_fusion_tag type; - }; + : mpl::if_< detail::is_mpl_sequence, + mpl::identity, + mpl::identity >::type + { }; template struct tag_of >::type> @@ -73,9 +77,6 @@ namespace boost { namespace fusion template struct tag_of >; - template - struct tag_of >::type>; - template struct tag_of >; }