Guest User

Untitled

a guest
Jul 20th, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.91 KB | None | 0 0
  1. #include<iostream>
  2. #include<list>
  3. #include<vector>
  4.  
  5. template<class data_type, template<class> class container_type>
  6. void type(container_type<data_type>& _container){
  7. std::cout<<typeid(container_type).name()<<std::endl;
  8. }
  9.  
  10.  
  11. int main(){
  12.  
  13. std::list<int> list_t;
  14. std::vector<int> vector_t;
  15. type(list_t);
  16. type(vector_t);
  17. }
  18.  
  19. template<class data_type, template<class> class container_type>
  20. void type_helper(container_type<data_type>& _container, const char* charStr){
  21. std::cout<< charStr << std::endl
  22. }
  23.  
  24. #define type(container) type_helper(container, #container)
  25.  
  26. template<typename T>
  27. struct inner_type {
  28. typedef T::value_type value_type;
  29. };
  30.  
  31. template <template <typename...> class Container, typename ...Args>
  32. void print_type(const Container<Args...> &)
  33. {
  34. typedef typename Container<Args...>::value_type value_type;
  35. print(typeid(Container<Args...>).name());
  36. print(typeid(value_type).name());
  37. }
Add Comment
Please, Sign In to add comment