Revision | df91d329e3435b394801d5edd64a37dfa95e8982 (tree) |
---|---|
Time | 2016-10-30 12:03:36 |
Author | <exeal@user...> |
fixed: C2753 at FindDuplicateImpl internal class template (VS14).
@@ -34,13 +34,7 @@ | ||
34 | 34 | namespace presentation { |
35 | 35 | namespace detail { |
36 | 36 | template<typename Sequence, std::size_t size> |
37 | - class FindDuplicateImpl; | |
38 | - template<typename Sequence> | |
39 | - class FindDuplicateImpl<Sequence, 0> : public boost::fusion::result_of::end<Sequence> {}; | |
40 | - template<typename Sequence> | |
41 | - class FindDuplicateImpl<Sequence, 1> : public FindDuplicateImpl<Sequence, 0> {}; | |
42 | - template<typename Sequence, std::size_t size> | |
43 | - class FindDuplicateImpl<Sequence, size> { | |
37 | + class FindDuplicateImpl { | |
44 | 38 | typedef typename boost::fusion::result_of::value_at_c<Sequence, 0>::type Car; |
45 | 39 | typedef typename boost::fusion::iterator_range< |
46 | 40 | typename boost::fusion::result_of::next< |
@@ -57,6 +51,10 @@ | ||
57 | 51 | public: |
58 | 52 | typedef typename std::conditional<found, typename boost::fusion::result_of::value_of<Found>::type, typename FindNext<found, Cdr>::type>::type type; |
59 | 53 | }; |
54 | + template<typename Sequence> | |
55 | + class FindDuplicateImpl<Sequence, 0> : public boost::fusion::result_of::end<Sequence> {}; | |
56 | + template<typename Sequence> | |
57 | + class FindDuplicateImpl<Sequence, 1> : public FindDuplicateImpl<Sequence, 0> {}; | |
60 | 58 | |
61 | 59 | template<typename Sequence> |
62 | 60 | struct FindDuplicate : FindDuplicateImpl<Sequence, boost::fusion::result_of::size<Sequence>::type::value> {}; |