Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<iostream>
- #include<list>
- #include<vector>
- template<class data_type, template<class> class container_type>
- void type(container_type<data_type>& _container){
- std::cout<<typeid(container_type).name()<<std::endl;
- }
- int main(){
- std::list<int> list_t;
- std::vector<int> vector_t;
- type(list_t);
- type(vector_t);
- }
- template<class data_type, template<class> class container_type>
- void type_helper(container_type<data_type>& _container, const char* charStr){
- std::cout<< charStr << std::endl
- }
- #define type(container) type_helper(container, #container)
- template<typename T>
- struct inner_type {
- typedef T::value_type value_type;
- };
- template <template <typename...> class Container, typename ...Args>
- void print_type(const Container<Args...> &)
- {
- typedef typename Container<Args...>::value_type value_type;
- print(typeid(Container<Args...>).name());
- print(typeid(value_type).name());
- }
Add Comment
Please, Sign In to add comment