Advertisement
Guest User

Untitled

a guest
Sep 18th, 2012
1,938
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.69 KB | None | 0 0
  1. #include <vector>
  2. #include <initializer_list>
  3. #include <iostream>
  4. #include <array>
  5.  
  6. template<typename T>
  7. void printme_(T&& t) {
  8.   for (auto a : t)
  9.     std::cout << a;
  10. }
  11.  
  12. template<typename T>
  13. void printme(T&& t) {
  14.   printme_(std::forward<T>(t));
  15. }
  16.  
  17. template<typename T>
  18. void printme(std::initializer_list<T>&& t) {
  19.   printme_(std::forward<std::initializer_list<T>>(t));
  20. }
  21.  
  22. int main(void) {
  23.  
  24.   printme(std::vector<char>({'a', 'b', 'c'}));
  25.   printme(std::string("abc"));
  26.   printme(std::array<char, 3> {'a', 'b', 'c'});
  27.  
  28.   const auto il = {'a', 'b', 'c'};
  29.   printme(il);
  30.  
  31.   printme<std::initializer_list<char>>({'a', 'b', 'c'});
  32.  
  33.   printme({'a', 'b', 'c'});
  34.    
  35.   return 0;
  36. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement