Files

40 lines
1.1 KiB
C++
Raw Permalink Normal View History

2007-10-21 00:52:09 +00:00
/*=============================================================================
2011-09-16 05:30:23 +00:00
Copyright (c) 2001-2011 Joel de Guzman
2007-10-21 00:52:09 +00:00
Copyright (c) 2005-2006 Dan Marsden
2010-02-22 22:55:54 +00:00
Copyright (c) 2009-2010 Christopher Schmidt
2007-10-21 00:52:09 +00:00
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)
==============================================================================*/
2010-02-22 22:55:54 +00:00
2010-02-25 20:10:37 +00:00
#ifndef BOOST_FUSION_ADAPTED_STRUCT_DETAIL_AT_IMPL_HPP
#define BOOST_FUSION_ADAPTED_STRUCT_DETAIL_AT_IMPL_HPP
2007-10-21 00:52:09 +00:00
2014-01-09 17:58:06 -08:00
#include <boost/fusion/support/config.hpp>
2010-02-25 20:10:37 +00:00
#include <boost/mpl/int.hpp>
2007-10-21 00:52:09 +00:00
2010-02-22 22:55:54 +00:00
namespace boost { namespace fusion { namespace extension
2007-10-21 00:52:09 +00:00
{
2010-02-22 22:55:54 +00:00
template<typename>
struct at_impl;
2007-10-21 00:52:09 +00:00
2010-02-22 22:55:54 +00:00
template <>
struct at_impl<struct_tag>
2007-10-21 00:52:09 +00:00
{
2010-02-22 22:55:54 +00:00
template <typename Seq, typename N>
struct apply
: access::struct_member<
2010-02-25 20:10:37 +00:00
typename remove_const<Seq>::type
, N::value
>::template apply<Seq>
{};
2010-02-22 22:55:54 +00:00
};
template <>
struct at_impl<assoc_struct_tag>
: at_impl<struct_tag>
{};
}}}
2007-10-21 00:52:09 +00:00
#endif