Guest User

Untitled

a guest
Jun 18th, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.52 KB | None | 0 0
  1. template< typename T >
  2. class is_class
  3. {
  4. private:
  5. template< typename X >
  6. static char ( &i_class( void(X::*)() ) )[1];
  7. //
  8. template< typename X >
  9. static char ( &i_class( X ) )[2];
  10. public:
  11. static bool const val = sizeof( i_class< T >(0) ) == 1;
  12. };
  13.  
  14. is_class< int >::val; // false
  15. is_class< some_class_type >::val; // true
  16.  
  17. template <class T>
  18. typename enable_if_c<boost::is_class<T>::value>::type
  19. foo() { }
  20.  
  21. template <class T>
  22. typename enable_if<boost::is_class<T>>::type
  23. foo() { }
Add Comment
Please, Sign In to add comment