- Removed everything deprecated in 1.29.0

- Deprecate user use of function_base
- Use the Boost Preprocessor library to make Function scalable to any
  (reasonable) number of arguments
- Make any_pointer a POD (oops)
- Test Boost.Function for 30 arguments
- Remove tests of deprecated features


[SVN r15498]
This commit is contained in:
Douglas Gregor
2002-09-24 17:16:17 +00:00
parent f36e83fb27
commit f9ae459b2d
27 changed files with 509 additions and 2365 deletions

View File

@ -2,7 +2,7 @@
#
# Boost.Function library
#
# Copyright (C) 2001 Doug Gregor (gregod@cs.rpi.edu)
# Copyright (C) 2001,2002 Doug Gregor (gregod@cs.rpi.edu)
#
# Permission to copy, use, sell and distribute this software is granted
# provided this copyright notice appears in all copies.
@ -25,87 +25,8 @@ if ($#ARGV < 0) {
$totalNumArgs = $ARGV[0];
for ($numArgs = 0; $numArgs <= $totalNumArgs; ++$numArgs) {
open OUT, ">function$numArgs.hpp";
print OUT "// Boost.Function library\n";
print OUT "//\n";
print OUT "// Copyright (C) 2001 Doug Gregor (gregod\@cs.rpi.edu)\n";
print OUT "//\n";
print OUT "// Permission to copy, use, sell and distribute this software is granted\n";
print OUT "// provided this copyright notice appears in all copies.\n";
print OUT "// Permission to modify the code and to distribute modified code is granted\n";
print OUT "// provided this copyright notice appears in all copies, and a notice\n";
print OUT "// that the code was modified is included with the copyright notice.\n";
print OUT "//\n";
print OUT "// This software is provided \"as is\" without express or implied warranty,\n";
print OUT "// and with no claim as to its suitability for any purpose.\n";
print OUT " \n";
print OUT "// For more information, see http://www.boost.org\n";
print OUT "\n";
print OUT "#ifndef BOOST_FUNCTION_FUNCTION" . $numArgs . "_HEADER\n";
print OUT "#define BOOST_FUNCTION_FUNCTION" , $numArgs . "_HEADER\n";
print OUT "\n";
print OUT "#define BOOST_FUNCTION_NUM_ARGS $numArgs\n";
$templateParms = "";
for ($i = 0; $i < $numArgs; ++$i) {
if ($i > 0) {
$templateParms .= ", ";
}
$templateParms .= "typename T$i";
}
print OUT "#define BOOST_FUNCTION_TEMPLATE_PARMS $templateParms\n";
$_ = $templateParms;
s/typename //g;
$templateArgs = $_;
print OUT "#define BOOST_FUNCTION_TEMPLATE_ARGS $templateArgs\n";
$parms = "";
for ($i = 0; $i < $numArgs; ++$i) {
if ($i > 0) {
$parms .= ", ";
}
$parms .= "T$i a$i";
}
print OUT "#define BOOST_FUNCTION_PARMS $parms\n";
$args = "";
for ($i = 0; $i < $numArgs; ++$i) {
if ($i > 0) {
$args .= ", ";
}
$args .= "a$i";
}
print OUT "#define BOOST_FUNCTION_ARGS $args\n";
$not0Parms = "";
for ($i = 1; $i < $numArgs; ++$i) {
if ($i > 1) {
$not0Parms .= ", ";
}
$not0Parms .= "T$i a$i";
}
print OUT "#define BOOST_FUNCTION_NOT_0_PARMS $not0Parms\n";
$not0Args = "";
for ($i = 1; $i < $numArgs; ++$i) {
if ($i > 1) {
$not0Args .= ", ";
}
$not0Args .= "a$i";
}
print OUT "#define BOOST_FUNCTION_NOT_0_ARGS $not0Args\n";
print OUT "\n";
print OUT "#include <boost/function/function_template.hpp>\n";
print OUT "\n";
print OUT "#undef BOOST_FUNCTION_NOT_0_ARGS\n";
print OUT "#undef BOOST_FUNCTION_NOT_0_PARMS\n";
print OUT "#undef BOOST_FUNCTION_ARGS\n";
print OUT "#undef BOOST_FUNCTION_PARMS\n";
print OUT "#undef BOOST_FUNCTION_TEMPLATE_ARGS\n";
print OUT "#undef BOOST_FUNCTION_TEMPLATE_PARMS\n";
print OUT "#include <boost/function/detail/maybe_include.hpp>\n";
print OUT "#undef BOOST_FUNCTION_NUM_ARGS\n";
print OUT "\n";
print OUT "#endif // BOOST_FUNCTION_FUNCTION" . $numArgs . "_HEADER\n";
close OUT;
}