1 /*=============================================================================
2 Copyright (c) 2001-2007 Joel de Guzman
4 Distributed under the Boost Software License, Version 1.0. (See accompanying
5 file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
6 ==============================================================================*/
7 #ifndef PHOENIX_CORE_DETAIL_COMPOSITE_INFO_HPP
8 #define PHOENIX_CORE_DETAIL_COMPOSITE_INFO_HPP
10 #include <boost/mpl/if.hpp>
11 #include <boost/mpl/greater.hpp>
12 #include <boost/mpl/int.hpp>
13 #include <boost/spirit/home/fusion/algorithm/fold.hpp>
15 namespace boost { namespace phoenix { namespace detail
19 template <typename T, typename State>
22 mpl::greater<typename T::nesting, State>
29 template <typename ActorTuple>
30 struct compute_nesting
33 fusion::meta::fold<ActorTuple, mpl::int_<0>, max_nesting>::type