12345678910111213141516171819202122232425262728293031323334353637 |
- #if !defined(FUSION_REMOVE_07162005_0818)
- #define FUSION_REMOVE_07162005_0818
- #include <boost/fusion/support/config.hpp>
- #include <boost/fusion/view/filter_view/filter_view.hpp>
- #include <boost/mpl/not.hpp>
- #include <boost/type_traits/is_same.hpp>
- namespace boost { namespace fusion
- {
- namespace result_of
- {
- template <typename Sequence, typename T>
- struct remove
- {
- typedef filter_view<Sequence, mpl::not_<is_same<mpl::_, T> > > type;
- };
- }
- template <typename T, typename Sequence>
- BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
- inline typename result_of::remove<Sequence const, T>::type
- remove(Sequence const& seq)
- {
- typedef typename result_of::remove<Sequence const, T>::type result_type;
- return result_type(seq);
- }
- }}
- #endif
|