From e15016adb6df0be829a238802bead45e8843f531 Mon Sep 17 00:00:00 2001 From: denzor200 Date: Sun, 7 Nov 2021 23:07:18 +0400 Subject: [PATCH] Applied fixes for reverse_view --- .../reverse_view/detail/deref_data_impl.hpp | 27 +++---------------- .../view/reverse_view/detail/key_of_impl.hpp | 2 +- .../detail/value_of_data_impl.hpp | 15 +++-------- test/sequence/reverse_view.cpp | 1 + 4 files changed, 10 insertions(+), 35 deletions(-) diff --git a/include/boost/fusion/view/reverse_view/detail/deref_data_impl.hpp b/include/boost/fusion/view/reverse_view/detail/deref_data_impl.hpp index db64d32b..dc995dde 100644 --- a/include/boost/fusion/view/reverse_view/detail/deref_data_impl.hpp +++ b/include/boost/fusion/view/reverse_view/detail/deref_data_impl.hpp @@ -1,6 +1,6 @@ /*============================================================================= 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 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 #include -#include -#include +#include namespace boost { namespace fusion { namespace extension { @@ -20,26 +19,8 @@ namespace boost { namespace fusion { namespace extension template <> struct deref_data_impl - { - template - 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)); - } - }; - }; + : deref_impl + {}; }}} #endif diff --git a/include/boost/fusion/view/reverse_view/detail/key_of_impl.hpp b/include/boost/fusion/view/reverse_view/detail/key_of_impl.hpp index 0b8fc3bc..a2d8daef 100644 --- a/include/boost/fusion/view/reverse_view/detail/key_of_impl.hpp +++ b/include/boost/fusion/view/reverse_view/detail/key_of_impl.hpp @@ -1,6 +1,6 @@ /*============================================================================= 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 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) diff --git a/include/boost/fusion/view/reverse_view/detail/value_of_data_impl.hpp b/include/boost/fusion/view/reverse_view/detail/value_of_data_impl.hpp index 03cb753f..d4b728de 100644 --- a/include/boost/fusion/view/reverse_view/detail/value_of_data_impl.hpp +++ b/include/boost/fusion/view/reverse_view/detail/value_of_data_impl.hpp @@ -1,6 +1,6 @@ /*============================================================================= 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 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) @@ -11,7 +11,7 @@ #include #include -#include +#include namespace boost { namespace fusion { namespace extension { @@ -23,15 +23,8 @@ namespace boost { namespace fusion { namespace extension { template struct apply - { - typedef typename - result_of::value_of_data< - typename result_of::prior< - typename It::first_type - >::type - >::type - type; - }; + : value_of_impl + {}; }; }}} diff --git a/test/sequence/reverse_view.cpp b/test/sequence/reverse_view.cpp index 2b587a21..b6afac99 100644 --- a/test/sequence/reverse_view.cpp +++ b/test/sequence/reverse_view.cpp @@ -1,5 +1,6 @@ /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2021 Denis Mikhailov 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)