Blame view

3rdparty/boost_1_81_0/boost/fusion/mpl/erase.hpp 1.21 KB
63e88f80   Hu Chunming   提交三方库
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
  /*=============================================================================
      Copyright (c) 2001-2011 Joel de Guzman
  
      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(FUSION_ERASE_10022005_1835)
  #define FUSION_ERASE_10022005_1835
  
  #include <boost/fusion/support/config.hpp>
  #include <boost/mpl/erase.hpp>
  #include <boost/fusion/support/tag_of.hpp>
  #include <boost/fusion/algorithm/transformation/erase.hpp>
  #include <boost/fusion/sequence/convert.hpp>
  
  namespace boost { namespace mpl
  {
      template <typename Tag>
      struct erase_impl;
  
      template <>
      struct erase_impl<fusion::fusion_sequence_tag>
      {
          template <typename Sequence, typename First, typename Last>
          struct apply
          {
              typedef typename
                  fusion::result_of::erase<Sequence, First, Last>::type
              result;
  
              typedef typename
                  fusion::result_of::convert<
                      typename fusion::detail::tag_of<Sequence>::type, result>::type
              type;
          };
      };
  }}
  
  #endif