#include #include using namespace std; template T print_all(T last) { operator<<(operator<<(std::cout, last), endl); return last; } /* First instantiated from: insights.cpp:20 */ #ifdef INSIGHTS_USE_TEMPLATE template<> int print_all(int last) { std::cout.operator<<(last).operator<<(std::endl); return last; } #endif template void print_all(First first, Rest... rest) { operator<<(operator<<(std::cout, first), ", "); print_all(rest... ); } /* First instantiated from: insights.cpp:26 */ #ifdef INSIGHTS_USE_TEMPLATE template<> void print_all(int first, int __rest1) { std::operator<<(std::cout.operator<<(first), ", "); print_all(__rest1); } #endif #ifdef INSIGHTS_USE_TEMPLATE template<> void print_all(int first); #endif int main() { print_all(1, 2); return 0; }