From 662567cb9fd94a8ed7ce7d92304b4badcbd888f3 Mon Sep 17 00:00:00 2001 From: Denis Mikhailov Date: Sun, 7 Nov 2021 03:03:18 +0400 Subject: [PATCH 1/5] Update reverse_view.cpp --- test/sequence/reverse_view.cpp | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/test/sequence/reverse_view.cpp b/test/sequence/reverse_view.cpp index 356b9b0b..4e6688f5 100644 --- a/test/sequence/reverse_view.cpp +++ b/test/sequence/reverse_view.cpp @@ -1,6 +1,5 @@ /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2021-2022 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) @@ -16,9 +15,6 @@ #include #include #include -#include -#include -#include #include #include #include @@ -119,7 +115,7 @@ main() && at_key< boost::mpl::int_<0> >(rev) == "new_zero" )); BOOST_MPL_ASSERT((boost::mpl::and_ > , boost::mpl::not_ > > >)); - BOOST_MPL_ASSERT((boost::is_same >::type, std::string&>)); + BOOST_MPL_ASSERT((boost::is_same>::type, std::string&>)); BOOST_MPL_ASSERT((boost::is_same >::type, std::string>)); } From afba308e4753087582f84a9eb97d1bdac4a3922a Mon Sep 17 00:00:00 2001 From: Denis Mikhailov Date: Sun, 7 Nov 2021 03:29:06 +0400 Subject: [PATCH 2/5] Update reverse_view.cpp --- test/sequence/reverse_view.cpp | 3 +++ 1 file changed, 3 insertions(+) diff --git a/test/sequence/reverse_view.cpp b/test/sequence/reverse_view.cpp index 4e6688f5..2b587a21 100644 --- a/test/sequence/reverse_view.cpp +++ b/test/sequence/reverse_view.cpp @@ -15,6 +15,9 @@ #include #include #include +#include +#include +#include #include #include #include From 2a295202f721e3a7c836cc873a3da8f61873f986 Mon Sep 17 00:00:00 2001 From: denzor200 Date: Sun, 7 Nov 2021 23:07:18 +0400 Subject: [PATCH 3/5] 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) From cdf26a72e99f798f6463c0a791e467ded069e40f Mon Sep 17 00:00:00 2001 From: denzor200 Date: Mon, 8 Nov 2021 02:11:31 +0400 Subject: [PATCH 4/5] Fixed all '*_data' methods in reverse_view --- .../reverse_view/detail/deref_data_impl.hpp | 25 ++++++++++++++++--- .../detail/value_of_data_impl.hpp | 15 ++++++++--- 2 files changed, 33 insertions(+), 7 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 dc995dde..e9bb9a02 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 @@ -10,7 +10,8 @@ #define BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_DEREF_DATA_IMPL_HPP #include -#include +#include +#include namespace boost { namespace fusion { namespace extension { @@ -19,8 +20,26 @@ namespace boost { namespace fusion { namespace extension template <> struct deref_data_impl - : deref_impl - {}; + { + template + struct apply + { + typedef typename + result_of::deref_data< + typename result_of::prior< + typename Iterator::first_type + >::type + >::type + type; + + BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED + static type + call(Iterator const& i) + { + return fusion::deref_data(fusion::prior(i.first)); + } + }; + }; }}} #endif 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 d4b728de..c657f9e0 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 @@ -11,7 +11,7 @@ #include #include -#include +#include namespace boost { namespace fusion { namespace extension { @@ -21,10 +21,17 @@ namespace boost { namespace fusion { namespace extension template <> struct value_of_data_impl { - template + template struct apply - : value_of_impl - {}; + { + typedef typename + result_of::value_of_data< + typename result_of::prior< + typename Iterator::first_type + >::type + >::type + type; + }; }; }}} From 1a9faa67449986d095124b145d53d11ffa0f027c Mon Sep 17 00:00:00 2001 From: denzor200 Date: Sun, 16 Jan 2022 09:49:05 +0400 Subject: [PATCH 5/5] Diff simplified && update copyrights --- .../view/reverse_view/detail/deref_data_impl.hpp | 10 +++++----- .../fusion/view/reverse_view/detail/key_of_impl.hpp | 2 +- .../view/reverse_view/detail/value_of_data_impl.hpp | 6 +++--- test/sequence/reverse_view.cpp | 2 +- 4 files changed, 10 insertions(+), 10 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 e9bb9a02..db64d32b 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 Denis Mikhailov + Copyright (c) 2021-2022 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) @@ -21,22 +21,22 @@ namespace boost { namespace fusion { namespace extension template <> struct deref_data_impl { - template + template struct apply { typedef typename result_of::deref_data< typename result_of::prior< - typename Iterator::first_type + typename It::first_type >::type >::type type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED static type - call(Iterator const& i) + call(It const& it) { - return fusion::deref_data(fusion::prior(i.first)); + return fusion::deref_data(fusion::prior(it.first)); } }; }; 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 a2d8daef..0b8fc3bc 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 Denis Mikhailov + Copyright (c) 2021-2022 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 c657f9e0..03cb753f 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 Denis Mikhailov + Copyright (c) 2021-2022 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) @@ -21,13 +21,13 @@ namespace boost { namespace fusion { namespace extension template <> struct value_of_data_impl { - template + template struct apply { typedef typename result_of::value_of_data< typename result_of::prior< - typename Iterator::first_type + typename It::first_type >::type >::type type; diff --git a/test/sequence/reverse_view.cpp b/test/sequence/reverse_view.cpp index b6afac99..aded1522 100644 --- a/test/sequence/reverse_view.cpp +++ b/test/sequence/reverse_view.cpp @@ -1,6 +1,6 @@ /*============================================================================= Copyright (c) 2001-2011 Joel de Guzman - Copyright (c) 2021 Denis Mikhailov + Copyright (c) 2021-2022 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)