mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-12-15 06:54:05 +08:00
499c96f56b
2006-10-16 Douglas Gregor <doug.gregor@gmail.com> * include/Makefile.am (tr1_headers): Add new tuple_defs.h. * include/Makefile.in (tr1_headers): Regenerate. * include/tr1/tuple (tuple): Move declaration to tuple_defs.h. (get): Ditto. (operator==): Ditto. (operator<): Ditto. (operator!=): Ditto. (operator>): Ditto. (operator<=): Ditto. (operator>=): Ditto. (__stripped_tuple_type): Ditto. Include tuple.defs.h * include/tr1/tuple_iterate.h (tuple): Use _GLIBCXX_TUPLE_ALL_TEMPLATE_PARAMS_UNNAMED macro instead of 10 "typename"s. (tuple_element): Use _GLIBCXX_TUPLE_ALL_TEMPLATE_PARAMS and _GLIBCXX_TYPLE_ALL_TEMPLATE_ARGS instead of 10 parameters/arguments. * include/tr1/tuple_defs.h: New header, contains declarations and definitions for the tuple template with all arguments. * include/tr1/repeat.h (_GLIBCXX_TUPLE_ALL_TEMPLATE_PARAMS): New. (_GLIBCXX_TUPLE_ALL_TEMPLATE_PARAMS_UNNAMED): New. (_GLIBCXX_TUPLE_ALL_TEMPLATE_ARGS): New. (_GLIBCXX_TEMPLATE_PARAMS_NULL_CLASS): New. (_GLIBCXX_TEMPLATE_ARGS_STRIPPED): New. * scripts/gen_includers.pl: Update. * scripts/gen_includers2.pl: New. From-SVN: r117790
32 lines
1018 B
Perl
32 lines
1018 B
Perl
#!/usr/bin/perl -w
|
|
use English;
|
|
|
|
$max = shift @ARGV;
|
|
|
|
$template_params = "typename _U1";
|
|
$template_args = "_U1";
|
|
$params = "_U1& __u1";
|
|
$args = "__u1";
|
|
|
|
for ($num_args = 2; $num_args <= $max; ++$num_args) {
|
|
$template_params .= ", typename _U$num_args";
|
|
$template_args .= ", _U$num_args";
|
|
$params .= ", _U$num_args& __u$num_args";
|
|
$args .= ", __u$num_args";
|
|
print "#define _GLIBCXX_BIND_NUM_ARGS $num_args\n";
|
|
print "#define _GLIBCXX_BIND_COMMA ,\n";
|
|
print "#define _GLIBCXX_BIND_TEMPLATE_PARAMS $template_params\n";
|
|
print "#define _GLIBCXX_BIND_TEMPLATE_ARGS $template_args\n";
|
|
print "#define _GLIBCXX_BIND_PARAMS $params\n";
|
|
print "#define _GLIBCXX_BIND_ARGS $args\n";
|
|
print "#include _GLIBCXX_BIND_REPEAT_HEADER\n";
|
|
print "#undef _GLIBCXX_BIND_ARGS\n";
|
|
print "#undef _GLIBCXX_BIND_PARAMS\n";
|
|
print "#undef _GLIBCXX_BIND_TEMPLATE_ARGS\n";
|
|
print "#undef _GLIBCXX_BIND_TEMPLATE_PARAMS\n";
|
|
print "#undef _GLIBCXX_BIND_COMMA\n";
|
|
print "#undef _GLIBCXX_BIND_NUM_ARGS\n";
|
|
print "\n";
|
|
}
|
|
|