From 360dd957f279b08c90c90e43a7222eaad685d26c Mon Sep 17 00:00:00 2001 From: denzor200 Date: Sun, 9 Jan 2022 16:34:07 +0400 Subject: [PATCH] [transform_view_ext] Unary transform_view is an Associative Sequence now --- doc/view.qbk | 1 + .../transform_view/detail/deref_data_impl.hpp | 5 ----- .../transform_view/transform_view_iterator.hpp | 15 ++++++--------- 3 files changed, 7 insertions(+), 14 deletions(-) diff --git a/doc/view.qbk b/doc/view.qbk index e65ac630..d99b325f 100644 --- a/doc/view.qbk +++ b/doc/view.qbk @@ -363,6 +363,7 @@ given a binary function object or function pointer. * __forward_sequence__, __bidirectional_sequence__ or __random_access_sequence__ depending on the traversal characteristics (see __traversal_concept__) of its underlying sequence or sequences. +* __associative_sequence__ if underlying sequence implements the __associative_sequence__ model(available only with unary version of `transform_view`). [variablelist Notation [[`TV`] [A `transform_view` type]] diff --git a/include/boost/fusion/view/transform_view/detail/deref_data_impl.hpp b/include/boost/fusion/view/transform_view/detail/deref_data_impl.hpp index 83ea236a..3eb325a4 100644 --- a/include/boost/fusion/view/transform_view/detail/deref_data_impl.hpp +++ b/include/boost/fusion/view/transform_view/detail/deref_data_impl.hpp @@ -10,11 +10,6 @@ #include #include #include -#include -#include -#include -#include -#include namespace boost { namespace fusion { diff --git a/include/boost/fusion/view/transform_view/transform_view_iterator.hpp b/include/boost/fusion/view/transform_view/transform_view_iterator.hpp index ba5b7c9b..071cba8e 100644 --- a/include/boost/fusion/view/transform_view/transform_view_iterator.hpp +++ b/include/boost/fusion/view/transform_view/transform_view_iterator.hpp @@ -23,11 +23,6 @@ #include #include -#ifdef _MSC_VER -# pragma warning(push) -# pragma warning(disable: 4512) // assignment operator could not be generated. -#endif - namespace boost { namespace fusion { // Unary Version @@ -49,6 +44,9 @@ namespace boost { namespace fusion first_type first; transform_type f; + + // silence MSVC warning C4512: assignment operator could not be generated + BOOST_DELETED_FUNCTION(transform_view_iterator& operator= (transform_view_iterator const&)) }; // Binary Version @@ -73,13 +71,12 @@ namespace boost { namespace fusion first1_type first1; first2_type first2; transform_type f; + + // silence MSVC warning C4512: assignment operator could not be generated + BOOST_DELETED_FUNCTION(transform_view_iterator2& operator= (transform_view_iterator2 const&)) }; }} -#ifdef _MSC_VER -# pragma warning(pop) -#endif - #ifdef BOOST_FUSION_WORKAROUND_FOR_LWG_2408 namespace std {