annotate DEPENDENCIES/generic/include/boost/fusion/container/map/detail/cpp03/convert.hpp @ 133:4acb5d8d80b6 tip

Don't fail environmental check if README.md exists (but .txt and no-suffix don't)
author Chris Cannam
date Tue, 30 Jul 2019 12:25:44 +0100
parents c530137014c0
children
rev   line source
Chris@16 1 /*=============================================================================
Chris@16 2 Copyright (c) 2001-2011 Joel de Guzman
Chris@16 3
Chris@16 4 Distributed under the Boost Software License, Version 1.0. (See accompanying
Chris@16 5 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
Chris@16 6 ==============================================================================*/
Chris@16 7 #if !defined(FUSION_CONVERT_09232005_1340)
Chris@16 8 #define FUSION_CONVERT_09232005_1340
Chris@16 9
Chris@101 10 #include <boost/fusion/support/config.hpp>
Chris@16 11 #include <boost/fusion/container/map/detail/cpp03/as_map.hpp>
Chris@16 12 #include <boost/fusion/container/map/detail/cpp03/convert_impl.hpp>
Chris@16 13 #include <boost/fusion/container/map/detail/cpp03/map.hpp>
Chris@16 14 #include <boost/fusion/sequence/intrinsic/begin.hpp>
Chris@16 15 #include <boost/fusion/sequence/intrinsic/size.hpp>
Chris@16 16
Chris@16 17 namespace boost { namespace fusion
Chris@16 18 {
Chris@16 19 namespace result_of
Chris@16 20 {
Chris@16 21 template <typename Sequence>
Chris@16 22 struct as_map
Chris@16 23 {
Chris@101 24 typedef typename
Chris@101 25 detail::as_map<
Chris@101 26 result_of::size<Sequence>::value
Chris@101 27 , is_base_of<
Chris@101 28 associative_tag
Chris@101 29 , typename traits::category_of<Sequence>::type>::value
Chris@101 30 >
Chris@101 31 gen;
Chris@16 32 typedef typename gen::
Chris@16 33 template apply<typename result_of::begin<Sequence>::type>::type
Chris@16 34 type;
Chris@16 35 };
Chris@16 36 }
Chris@16 37
Chris@16 38 template <typename Sequence>
Chris@101 39 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
Chris@16 40 inline typename result_of::as_map<Sequence>::type
Chris@16 41 as_map(Sequence& seq)
Chris@16 42 {
Chris@16 43 typedef typename result_of::as_map<Sequence>::gen gen;
Chris@16 44 return gen::call(fusion::begin(seq));
Chris@16 45 }
Chris@16 46
Chris@16 47 template <typename Sequence>
Chris@101 48 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED
Chris@16 49 inline typename result_of::as_map<Sequence const>::type
Chris@16 50 as_map(Sequence const& seq)
Chris@16 51 {
Chris@16 52 typedef typename result_of::as_map<Sequence const>::gen gen;
Chris@16 53 return gen::call(fusion::begin(seq));
Chris@16 54 }
Chris@16 55 }}
Chris@16 56
Chris@16 57 #endif