1/*=============================================================================
2 Copyright (c) 2001-2011 Joel de Guzman
3
4 Distributed under the Boost Software License, Version 1.0. (See accompanying
5 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6==============================================================================*/
7#if !defined(FUSION_BEGIN_10022005_1620)
8#define FUSION_BEGIN_10022005_1620
9
10#include <boost/fusion/support/config.hpp>
11#include <boost/mpl/begin_end.hpp>
12#include <boost/fusion/sequence/intrinsic/begin.hpp>
13#include <boost/fusion/adapted/mpl/detail/begin_impl.hpp>
14#include <boost/fusion/iterator/mpl/fusion_iterator.hpp>
15
16namespace boost { namespace mpl
17{
18 template <typename Tag>
19 struct begin_impl;
20
21 template <>
22 struct begin_impl<fusion::fusion_sequence_tag>
23 {
24 template <typename Sequence>
25 struct apply
26 {
27 typedef fusion_iterator<typename fusion::result_of::begin<Sequence>::type> type;
28 };
29 };
30}}
31
32#endif
33

source code of include/boost/fusion/mpl/begin.hpp