lambda_fwd.hpp 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #ifndef BOOST_MPL_LAMBDA_FWD_HPP_INCLUDED
  2. #define BOOST_MPL_LAMBDA_FWD_HPP_INCLUDED
  3. // Copyright Aleksey Gurtovoy 2001-2004
  4. //
  5. // Distributed under the Boost Software License, Version 1.0.
  6. // (See accompanying file LICENSE_1_0.txt or copy at
  7. // http://www.boost.org/LICENSE_1_0.txt)
  8. //
  9. // See http://www.boost.org/libs/mpl for documentation.
  10. // $Id$
  11. // $Date$
  12. // $Revision$
  13. #include <boost/mpl/void_fwd.hpp>
  14. #include <boost/mpl/aux_/na.hpp>
  15. #include <boost/mpl/aux_/config/lambda.hpp>
  16. #if !defined(BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT)
  17. # include <boost/mpl/int.hpp>
  18. # include <boost/mpl/aux_/lambda_arity_param.hpp>
  19. # include <boost/mpl/aux_/template_arity_fwd.hpp>
  20. namespace boost { namespace mpl {
  21. template<
  22. typename T = na
  23. , typename Tag = void_
  24. BOOST_MPL_AUX_LAMBDA_ARITY_PARAM(
  25. typename Arity = int_< aux::template_arity<T>::value >
  26. )
  27. >
  28. struct lambda;
  29. }}
  30. #else // BOOST_MPL_CFG_NO_FULL_LAMBDA_SUPPORT
  31. # include <boost/mpl/bool.hpp>
  32. namespace boost { namespace mpl {
  33. template<
  34. typename T = na
  35. , typename Tag = void_
  36. , typename Protect = true_
  37. >
  38. struct lambda;
  39. }}
  40. #endif
  41. #endif // BOOST_MPL_LAMBDA_FWD_HPP_INCLUDED