1#!/usr/bin/perl -w 2use English; 3 4$max = shift @ARGV; 5 6$template_params = "typename _U1"; 7$template_args = "_U1"; 8$params = "_U1& __u1"; 9$args = "__u1"; 10 11for ($num_args = 2; $num_args <= $max; ++$num_args) { 12 $template_params .= ", typename _U$num_args"; 13 $template_args .= ", _U$num_args"; 14 $params .= ", _U$num_args& __u$num_args"; 15 $args .= ", __u$num_args"; 16 print "#define _GLIBCXX_BIND_NUM_ARGS $num_args\n"; 17 print "#define _GLIBCXX_BIND_COMMA ,\n"; 18 print "#define _GLIBCXX_BIND_TEMPLATE_PARAMS $template_params\n"; 19 print "#define _GLIBCXX_BIND_TEMPLATE_ARGS $template_args\n"; 20 print "#define _GLIBCXX_BIND_PARAMS $params\n"; 21 print "#define _GLIBCXX_BIND_ARGS $args\n"; 22 print "#include _GLIBCXX_BIND_REPEAT_HEADER\n"; 23 print "#undef _GLIBCXX_BIND_ARGS\n"; 24 print "#undef _GLIBCXX_BIND_PARAMS\n"; 25 print "#undef _GLIBCXX_BIND_TEMPLATE_ARGS\n"; 26 print "#undef _GLIBCXX_BIND_TEMPLATE_PARAMS\n"; 27 print "#undef _GLIBCXX_BIND_COMMA\n"; 28 print "#undef _GLIBCXX_BIND_NUM_ARGS\n"; 29 print "\n"; 30} 31