Advertisement
bogolyubskiyalexey

process variadic template

Oct 13th, 2020
1,823
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.91 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. void myPrintImpl() {
  4.     std::cout << "]" << std::endl;
  5. }
  6.  
  7. template <class ...argsType>
  8. void myPrintImpl(int, argsType...);
  9.  
  10. template <class ...argsType>
  11. void myPrintImpl(char, argsType...);
  12.  
  13. template <class ...argsType>
  14. void myPrintImpl(double, argsType...);
  15.  
  16. template <class ...argsType>
  17. void myPrintImpl(double a, argsType... args) {
  18.     std::cout << "double(" << a << ") ";
  19.     myPrintImpl(args...);
  20. }
  21.  
  22. template <class ...argsType>
  23. void myPrintImpl(int a, argsType... args) {
  24.     std::cout << "int(" << a << ") ";
  25.     myPrintImpl(args...);
  26. }
  27.  
  28. template <class ...argsType>
  29. void myPrintImpl(char a, argsType... args) {
  30.     std::cout << "char(" << a << ") ";
  31.     myPrintImpl(args...);
  32. }
  33.  
  34. template <class ...argsType>
  35. void myPrint(argsType... args) {
  36.     std::cout << "[ " << std::endl;
  37.     myPrintImpl(args...);
  38. }
  39.  
  40. int main() {
  41.     myPrint(3, 4.1 , 5, 'a', 19.1);
  42. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement