/*============================================================================== Copyright (c) 2005-2008 Hartmut Kaiser Copyright (c) 2005-2010 Joel de Guzman Copyright (c) 2010 Thomas Heller 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) ==============================================================================*/ #ifndef BOOST_PHOENIX_FUSION_AT_HPP #define BOOST_PHOENIX_FUSION_AT_HPP #include #include #include #include #include BOOST_PHOENIX_DEFINE_EXPRESSION( (boost)(phoenix)(at_c) , (proto::terminal) (meta_grammar) ) namespace boost { namespace phoenix { template struct default_actions::when : proto::call< proto::functional::at( evaluator(proto::_child_c<1>) , proto::_value(proto::_child_c<0>) ) > {}; template inline typename expression::at_c, Tuple>::type const at_c(Tuple const& tuple) { return expression:: at_c, Tuple>:: make(mpl::int_(), tuple); } }} #endif