/usr/include/boost/phoenix/statement
NameSizeModeActions
detail/-0755rm
do_while.hpp19960644editdlrm
for.hpp24560644editdlrm
if.hpp45760644editdlrm
sequence.hpp12540644editdlrm
switch.hpp84880644editdlrm
throw.hpp27900644editdlrm
try_catch.hpp167600644editdlrm
while.hpp18500644editdlrm
Edit: /usr/include/boost/phoenix/statement/for.hpp (2456B)
/*============================================================================== Copyright (c) 2001-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_STATEMENT_FOR_HPP #define BOOST_PHOENIX_STATEMENT_FOR_HPP #include #include #include #include BOOST_PHOENIX_DEFINE_EXPRESSION( (boost)(phoenix)(for_) , (meta_grammar) // Cond (meta_grammar) // Init (meta_grammar) // Step (meta_grammar) // Do ) namespace boost { namespace phoenix { struct for_eval { typedef void result_type; template < typename Init , typename Cond , typename Step , typename Do , typename Context > result_type operator()( Init const& init , Cond const& cond , Step const& step , Do const& do_it , Context const & ctx ) const { for(boost::phoenix::eval(init, ctx); boost::phoenix::eval(cond, ctx); boost::phoenix::eval(step, ctx)) boost::phoenix::eval(do_it, ctx); } }; template struct default_actions::when : call {}; template struct for_gen { for_gen(Init const& init_, Cond const& cond_, Step const& step_) : init(init_), cond(cond_), step(step_) {} template typename expression::for_::type const operator[](Do const& do_it) const { return expression:: for_:: make(init, cond, step, do_it); } Init init; Cond cond; Step step; }; template inline for_gen const for_(Init const& init, Cond const& cond, Step const& step) { return for_gen(init, cond, step); } }} #endif