dplaceholder.hpp 876 B

123456789101112131415161718192021222324252627282930313233343536
  1. // (C) Copyright Edward Diener 2012,2013
  2. // Use, modification and distribution are subject to the Boost Software License,
  3. // Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at
  4. // http://www.boost.org/LICENSE_1_0.txt).
  5. #if !defined(BOOST_TTI_DETAIL_PLACEHOLDER_HPP)
  6. #define BOOST_TTI_DETAIL_PLACEHOLDER_HPP
  7. #include <boost/mpl/lambda.hpp>
  8. #include <boost/mpl/not.hpp>
  9. #include <boost/type_traits/is_same.hpp>
  10. namespace boost
  11. {
  12. namespace tti
  13. {
  14. namespace detail
  15. {
  16. template <class BOOST_TTI_DETAIL_TP_T>
  17. struct is_placeholder_expression :
  18. boost::mpl::not_
  19. <
  20. boost::is_same
  21. <
  22. typename boost::mpl::lambda<BOOST_TTI_DETAIL_TP_T>::type,
  23. BOOST_TTI_DETAIL_TP_T
  24. >
  25. >
  26. {
  27. };
  28. }
  29. }
  30. }
  31. #endif // BOOST_TTI_DETAIL_PLACEHOLDER_HPP