/*============================================================================= Copyright (c) 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) ==============================================================================*/ #if !defined(BOOST_FUSION_IDENTITY_VIEW_HPP_INCLUDED) #define BOOST_FUSION_IDENTITY_VIEW_HPP_INCLUDED #include #include #include #include namespace boost { namespace fusion { namespace detail { struct identity : boost::identity { }; } }} namespace boost { template struct result_of { typedef T type; }; } #ifdef _MSC_VER # pragma warning(push) # pragma warning(disable: 4512) // assignment operator could not be generated. #endif namespace boost { namespace fusion { template struct identity_view : transform_view { typedef transform_view base_type; BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED identity_view(Sequence& in_seq) : base_type(in_seq, detail::identity()) {} }; }} #ifdef _MSC_VER # pragma warning(pop) #endif #endif