Applied fixes for reverse_view

This commit is contained in:
denzor200
2021-11-07 23:07:18 +04:00
committed by djowel
parent afba308e47
commit 2a295202f7
4 changed files with 10 additions and 35 deletions

View File

@ -1,6 +1,6 @@
/*============================================================================= /*=============================================================================
Copyright (c) 2009 Christopher Schmidt Copyright (c) 2009 Christopher Schmidt
Copyright (c) 2021-2022 Denis Mikhailov Copyright (c) 2021 Denis Mikhailov
Distributed under the Boost Software License, Version 1.0. (See accompanying 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) file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@ -10,8 +10,7 @@
#define BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_DEREF_DATA_IMPL_HPP #define BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_DEREF_DATA_IMPL_HPP
#include <boost/fusion/support/config.hpp> #include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/deref_data.hpp> #include <boost/fusion/view/reverse_view/detail/deref_impl.hpp>
#include <boost/fusion/iterator/prior.hpp>
namespace boost { namespace fusion { namespace extension namespace boost { namespace fusion { namespace extension
{ {
@ -20,26 +19,8 @@ namespace boost { namespace fusion { namespace extension
template <> template <>
struct deref_data_impl<reverse_view_iterator_tag> struct deref_data_impl<reverse_view_iterator_tag>
{ : deref_impl<reverse_view_iterator_tag>
template <typename It> {};
struct apply
{
typedef typename
result_of::deref_data<
typename result_of::prior<
typename It::first_type
>::type
>::type
type;
BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
static type
call(It const& it)
{
return fusion::deref_data(fusion::prior(it.first));
}
};
};
}}} }}}
#endif #endif

View File

@ -1,6 +1,6 @@
/*============================================================================= /*=============================================================================
Copyright (c) 2009 Christopher Schmidt Copyright (c) 2009 Christopher Schmidt
Copyright (c) 2021-2022 Denis Mikhailov Copyright (c) 2021 Denis Mikhailov
Distributed under the Boost Software License, Version 1.0. (See accompanying 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) file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

View File

@ -1,6 +1,6 @@
/*============================================================================= /*=============================================================================
Copyright (c) 2009 Christopher Schmidt Copyright (c) 2009 Christopher Schmidt
Copyright (c) 2021-2022 Denis Mikhailov Copyright (c) 2021 Denis Mikhailov
Distributed under the Boost Software License, Version 1.0. (See accompanying 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) file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
@ -11,7 +11,7 @@
#include <boost/fusion/support/config.hpp> #include <boost/fusion/support/config.hpp>
#include <boost/fusion/iterator/value_of_data.hpp> #include <boost/fusion/iterator/value_of_data.hpp>
#include <boost/fusion/iterator/prior.hpp> #include <boost/fusion/view/reverse_view/detail/value_of_impl.hpp>
namespace boost { namespace fusion { namespace extension namespace boost { namespace fusion { namespace extension
{ {
@ -23,15 +23,8 @@ namespace boost { namespace fusion { namespace extension
{ {
template <typename It> template <typename It>
struct apply struct apply
{ : value_of_impl<reverse_view_iterator_tag>
typedef typename {};
result_of::value_of_data<
typename result_of::prior<
typename It::first_type
>::type
>::type
type;
};
}; };
}}} }}}

View File

@ -1,5 +1,6 @@
/*============================================================================= /*=============================================================================
Copyright (c) 2001-2011 Joel de Guzman Copyright (c) 2001-2011 Joel de Guzman
Copyright (c) 2021 Denis Mikhailov
Distributed under the Boost Software License, Version 1.0. (See accompanying 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) file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)