1 /*============================================================================= 2 Copyright (c) 2006 Tobias Schwinger 3 http://spirit.sourceforge.net/ 4 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_SPIRIT_CLOSURE_FWD_HPP) 9 #define BOOST_SPIRIT_CLOSURE_FWD_HPP 10 11 #include <boost/spirit/home/classic/namespace.hpp> 12 #include <boost/spirit/home/classic/phoenix/tuples.hpp> 13 14 #if !defined(BOOST_SPIRIT_CLOSURE_LIMIT) 15 # define BOOST_SPIRIT_CLOSURE_LIMIT PHOENIX_LIMIT 16 #endif 17 18 namespace boost { namespace spirit { 19 20 BOOST_SPIRIT_CLASSIC_NAMESPACE_BEGIN 21 22 template<typename ClosureT> 23 class closure_context; 24 25 template <typename ClosureT> 26 class init_closure_context; 27 28 template <typename ParserT, typename ActorTupleT> 29 struct init_closure_parser; 30 31 template < 32 typename DerivedT 33 , typename T0 = ::phoenix::nil_t 34 , typename T1 = ::phoenix::nil_t 35 , typename T2 = ::phoenix::nil_t 36 37 #if BOOST_SPIRIT_CLOSURE_LIMIT > 3 38 , typename T3 = ::phoenix::nil_t 39 , typename T4 = ::phoenix::nil_t 40 , typename T5 = ::phoenix::nil_t 41 42 #if BOOST_SPIRIT_CLOSURE_LIMIT > 6 43 , typename T6 = ::phoenix::nil_t 44 , typename T7 = ::phoenix::nil_t 45 , typename T8 = ::phoenix::nil_t 46 47 #if BOOST_SPIRIT_CLOSURE_LIMIT > 9 48 , typename T9 = ::phoenix::nil_t 49 , typename T10 = ::phoenix::nil_t 50 , typename T11 = ::phoenix::nil_t 51 52 #if BOOST_SPIRIT_CLOSURE_LIMIT > 12 53 , typename T12 = ::phoenix::nil_t 54 , typename T13 = ::phoenix::nil_t 55 , typename T14 = ::phoenix::nil_t 56 57 #endif 58 #endif 59 #endif 60 #endif 61 > 62 struct closure; 63 64 BOOST_SPIRIT_CLASSIC_NAMESPACE_END 65 66 }} // namespace BOOST_SPIRIT_CLASSIC_NS 67 68 #endif 69 70