gen_bind_includers.pl 1017 B

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