X-Git-Url: https://git.donarmstrong.com/?p=rsem.git;a=blobdiff_plain;f=boost%2Ffusion%2Fsequence%2Fintrinsic%2Fbegin.hpp;fp=boost%2Ffusion%2Fsequence%2Fintrinsic%2Fbegin.hpp;h=7a7ecf6afdd007e64cd5ee6f549de956cb576c29;hp=5dbe0c408db32903143f33bbdec28e8ab8d32039;hb=2d71eb92104693ca9baa5a2e1c23eeca776d8fd3;hpb=da57529b92adbb7ae74a89861cb39fb35ac7c62d diff --git a/boost/fusion/sequence/intrinsic/begin.hpp b/boost/fusion/sequence/intrinsic/begin.hpp index 5dbe0c4..7a7ecf6 100644 --- a/boost/fusion/sequence/intrinsic/begin.hpp +++ b/boost/fusion/sequence/intrinsic/begin.hpp @@ -1,5 +1,5 @@ /*============================================================================= - Copyright (c) 2001-2006 Joel de Guzman + Copyright (c) 2001-2011 Joel de Guzman 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) @@ -7,7 +7,14 @@ #if !defined(FUSION_BEGIN_04052005_1132) #define FUSION_BEGIN_04052005_1132 +#include +#include +#include +#include #include +#include +#include +#include namespace boost { namespace fusion { @@ -24,7 +31,13 @@ namespace boost { namespace fusion struct begin_impl { template - struct apply; + struct apply + : mpl::if_< + traits::is_segmented + , detail::segmented_begin + , blank + >::type + {}; }; template <> @@ -57,14 +70,22 @@ namespace boost { namespace fusion } template - inline typename result_of::begin::type const + inline typename + lazy_enable_if< + traits::is_sequence + , result_of::begin + >::type const begin(Sequence& seq) { return result_of::begin::call(seq); } template - inline typename result_of::begin::type const + inline typename + lazy_enable_if< + traits::is_sequence + , result_of::begin + >::type const begin(Sequence const& seq) { return result_of::begin::call(seq);