text: 
  // Copyright Aleksey Gurtovoy 2002-2004
  //
  // 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)
  //
  
  // Preprocessed version of "boost/mpl/unpack_args.hpp" header
  // -- DO NOT modify by hand!
  
  namespace mars_boost {}
  namespace boost = mars_boost;
  namespace mars_boost {
  namespace mpl {
  
  namespace aux {
  
  template<int size, typename F, typename Args>
  struct unpack_args_impl;
  
  template<typename F, typename Args>
  struct unpack_args_impl<0, F, Args>
      : apply0<
          F
      > {
  };
  
  template<typename F, typename Args>
  struct unpack_args_impl<1, F, Args>
      : apply1<
          F, typename at_c<Args, 0>::type
      > {
  };
  
  template<typename F, typename Args>
  struct unpack_args_impl<2, F, Args>
      : apply2<
          F, typename at_c<Args, 0>::type, typename at_c<Args, 1>::type
      > {
  };
  
  template<typename F, typename Args>
  struct unpack_args_impl<3, F, Args>
      : apply3<
          F, typename at_c<Args, 0>::type, typename at_c<Args, 1>::type, typename at_c<Args, 2>::type
      > {
  };
  
  template<typename F, typename Args>
  struct unpack_args_impl<4, F, Args>
      : apply4<
          F, typename at_c<Args, 0>::type, typename at_c<Args, 1>::type, typename at_c<Args, 2>::type, typename at_c<Args, 3>::type
      > {
  };
  
  template<typename F, typename Args>
  struct unpack_args_impl<5, F, Args>
      : apply5<
          F, typename at_c<Args, 0>::type, typename at_c<Args, 1>::type, typename at_c<Args, 2>::type, typename at_c<Args, 3>::type, typename at_c<Args, 4>::type
      > {
  };
  
  }
  
  template<
      typename F
  >
  struct unpack_args {
    template<typename Args>
    struct apply
  
        : aux::unpack_args_impl<size<Args>::value, F, Args> {
    };
  };
  
  BOOST_MPL_AUX_PASS_THROUGH_LAMBDA_SPEC(1, unpack_args)
  
  }
  }
  
  