Guest User

traits.h

a guest
Jul 21st, 2016
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.46 KB | None | 0 0
  1. #ifndef UTIL_TRAITS_H
  2. #define UTIL_TRAITS_H
  3.  
  4. #include <tuple>
  5. #include <type_traits>
  6.  
  7. template <typename T, typename Tuple>
  8. struct has_type;
  9.  
  10. template <typename T>
  11. struct has_type<T, std::tuple<>> : std::false_type {};
  12.  
  13. template <typename T, typename U, typename ...Ts>
  14. struct has_type<T, std::tuple<U, Ts...>> : has_type<T, std::tuple<Ts...>> {};
  15.  
  16. template <typename T, typename ...Ts>
  17. struct has_type<T, std::tuple<T, Ts...>> : std::true_type {};
  18.  
  19. #endif
Add Comment
Please, Sign In to add comment