Chris@102: /*////////////////////////////////////////////////////////////////////////////// Chris@102: Copyright (c) 2013 Jamboree Chris@102: Chris@102: Distributed under the Boost Software License, Version 1.0. (See accompanying Chris@102: file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) Chris@102: //////////////////////////////////////////////////////////////////////////////*/ Chris@102: #ifndef BOOST_FUSION_ALGORITHM_FLATTEN_HPP_INCLUDED Chris@102: #define BOOST_FUSION_ALGORITHM_FLATTEN_HPP_INCLUDED Chris@102: Chris@102: Chris@102: #include Chris@102: #include Chris@102: #include Chris@102: Chris@102: Chris@102: namespace boost { namespace fusion { namespace result_of Chris@102: { Chris@102: template Chris@102: struct flatten Chris@102: { Chris@102: typedef flatten_view type; Chris@102: }; Chris@102: }}} Chris@102: Chris@102: namespace boost { namespace fusion Chris@102: { Chris@102: template Chris@102: BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED Chris@102: inline typename result_of::flatten::type Chris@102: flatten(Sequence& view) Chris@102: { Chris@102: return flatten_view(view); Chris@102: } Chris@102: Chris@102: template Chris@102: BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED Chris@102: inline typename result_of::flatten::type Chris@102: flatten(Sequence const& view) Chris@102: { Chris@102: return flatten_view(view); Chris@102: } Chris@102: }} Chris@102: Chris@102: Chris@102: #endif Chris@102: