is_member_pointer.hpp 828 B

1234567891011121314151617181920212223242526272829303132
  1. // (C) Copyright Tobias Schwinger
  2. //
  3. // Use modification and distribution are subject to the boost Software License,
  4. // Version 1.0. (See http://www.boost.org/LICENSE_1_0.txt).
  5. //------------------------------------------------------------------------------
  6. #ifndef BOOST_FT_IS_MEMBER_POINTER_HPP_INCLUDED
  7. #define BOOST_FT_IS_MEMBER_POINTER_HPP_INCLUDED
  8. #include <boost/mpl/aux_/lambda_support.hpp>
  9. #include <boost/function_types/components.hpp>
  10. namespace boost
  11. {
  12. namespace function_types
  13. {
  14. template< typename T, typename Tag = null_tag >
  15. struct is_member_pointer
  16. : function_types::represents
  17. < function_types::components<T>
  18. , function_types::tag<Tag ,detail::member_pointer_tag>
  19. >
  20. {
  21. BOOST_MPL_AUX_LAMBDA_SUPPORT(2,is_member_pointer,(T,Tag))
  22. };
  23. }
  24. }
  25. #endif