$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Paul Mensonides (pmenso57_at_[hidden])
Date: 2002-05-12 16:21:38
(part 2)
This compiles in 12 seconds on my 600MHz machine with Comeau C++ (with
BOOST_PYTHON_MAX_ARITY == 50 *not* 15)--also, the entire preprocessor output is
debuggable. It took 50 seconds with BOOST_PYTHON_MAX_ARITY == 100, which is a
bit much, but then that is a ridiculously high number of parameters.
(Incidently, if BOOST_PYTHON_MAX_ARITY == 15, it takes 2.5 seconds to compile.)
I attached the preprocessor output from Comeau C++ (w/BOOST_PYTHON_MAX_ARITY ==
15 and everything but the expansion of this stuff for brevity).
For further testing, I put an underscore in front of some stuff like this:
template< _ class R, class O /* etc. */>
In other words, an obvious syntax error. I then ran a preprocessor pass, and
then compiled the output. These are the error messages I got:
"arg_tuple_size.hpp[0][0]", line 84: error: identifier "_" is undefined
template<_ class R, class O >
^
"arg_tuple_size.hpp[0][0]", line 84: error: invalid combination of type
specifiers
template<_ class R, class O >
^
"arg_tuple_size.hpp[0][0]", line 84: error: constant "<unnamed>" is not used
in template argument list of class template
"boost::python::detail::arg_tuple_size<boost::python::detail::R (O::*)()>"
template<_ class R, class O >
^
"arg_tuple_size.hpp[0][1]", line 84: error: identifier "_" is undefined
template<_ class R, class O >
^
"arg_tuple_size.hpp[0][1]", line 84: error: invalid combination of type
specifiers
template<_ class R, class O >
^
"arg_tuple_size.hpp[0][1]", line 84: error: constant "<unnamed>" is not used
in template argument list of class template
"boost::python::detail::arg_tuple_size<boost::python::detail::R (O::*)()>"
template<_ class R, class O >
^
// etc.
Note that the 'filename' shows the depth of iteration and the current iterator
values. Hows that for debuggable?
Paul Mensonides