1 /*=============================================================================
2 Copyright (c) 2001-2011 Joel de Guzman
3 Copyright (c) 2005-2006 Dan Marsden
5 Distributed under the Boost Software License, Version 1.0. (See accompanying
6 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
7 ==============================================================================*/
8 #if !defined(BOOST_FUSION_AT_IMPL_27122005_1241)
9 #define BOOST_FUSION_AT_IMPL_27122005_1241
11 #include <boost/fusion/support/config.hpp>
12 #include <boost/type_traits/is_const.hpp>
14 #include <boost/mpl/if.hpp>
16 namespace boost
{ namespace fusion
{
18 struct boost_array_tag
;
26 struct at_impl
<boost_array_tag
>
28 template<typename Sequence
, typename N
>
31 typedef typename
mpl::if_
<
33 typename
Sequence::const_reference
,
34 typename
Sequence::reference
>::type type
;
36 BOOST_CONSTEXPR BOOST_FUSION_GPU_ENABLED