Mercurial > hg > vamp-build-and-test
annotate DEPENDENCIES/generic/include/boost/fusion/view/nview/detail/advance_impl.hpp @ 120:4729c8589274 emscripten-piper
Add piper builds
author | Chris Cannam |
---|---|
date | Fri, 11 Nov 2016 15:49:32 +0000 |
parents | c530137014c0 |
children |
rev | line source |
---|---|
Chris@16 | 1 /*============================================================================= |
Chris@16 | 2 Copyright (c) 2009 Hartmut Kaiser |
Chris@16 | 3 |
Chris@16 | 4 Distributed under the Boost Software License, Version 1.0. (See accompanying |
Chris@16 | 5 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) |
Chris@16 | 6 ==============================================================================*/ |
Chris@16 | 7 |
Chris@16 | 8 #if !defined(BOOST_FUSION_NVIEW_ADVANCE_IMPL_SEP_24_2009_0212PM) |
Chris@16 | 9 #define BOOST_FUSION_NVIEW_ADVANCE_IMPL_SEP_24_2009_0212PM |
Chris@16 | 10 |
Chris@101 | 11 #include <boost/fusion/support/config.hpp> |
Chris@16 | 12 #include <boost/mpl/advance.hpp> |
Chris@16 | 13 #include <boost/fusion/iterator/advance.hpp> |
Chris@16 | 14 |
Chris@101 | 15 namespace boost { namespace fusion |
Chris@16 | 16 { |
Chris@16 | 17 struct nview_iterator_tag; |
Chris@16 | 18 |
Chris@16 | 19 template <typename Sequence, typename Pos> |
Chris@16 | 20 struct nview_iterator; |
Chris@16 | 21 |
Chris@16 | 22 namespace extension |
Chris@16 | 23 { |
Chris@16 | 24 template<typename Tag> |
Chris@16 | 25 struct advance_impl; |
Chris@16 | 26 |
Chris@16 | 27 template<> |
Chris@16 | 28 struct advance_impl<nview_iterator_tag> |
Chris@16 | 29 { |
Chris@16 | 30 template<typename Iterator, typename Dist> |
Chris@16 | 31 struct apply |
Chris@16 | 32 { |
Chris@16 | 33 typedef typename Iterator::first_type::iterator_type iterator_type; |
Chris@16 | 34 typedef typename Iterator::sequence_type sequence_type; |
Chris@16 | 35 |
Chris@16 | 36 typedef nview_iterator<sequence_type, |
Chris@16 | 37 typename mpl::advance<iterator_type, Dist>::type> type; |
Chris@16 | 38 |
Chris@101 | 39 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED |
Chris@16 | 40 static type |
Chris@16 | 41 call(Iterator const& i) |
Chris@16 | 42 { |
Chris@16 | 43 return type(i.seq); |
Chris@16 | 44 } |
Chris@16 | 45 }; |
Chris@16 | 46 }; |
Chris@16 | 47 } |
Chris@16 | 48 |
Chris@16 | 49 }} |
Chris@16 | 50 |
Chris@16 | 51 #endif |