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
32