
On Sat, Mar 20, 2010 at 5:52 PM, Jeffrey Hellrung <jhellrung@ucla.edu> wrote:
"Number of macro invocations" (as it depends on an argument) should be
Yes, "number of macro invocations" or "number of macro expansions" (would these be the same??) should be a reasonable metric for the preprocessing time and it should be abstracted enough from the preprocessor implementation specifics.
immediately inferred from a quick glance through the code. E.g., BOOST_PP_SEQ_ELEM( n, seq ) requires O(n) macro invocations, and BOOST_PP_TUPLE_ELEM( n, k, tuple ) (in terms of which BOOST_PP_ARRAY_ELEM is implemented) requires O(1) macro invocations. Of course, Boost.PP
What about other operations? BOOST_PP_ARRAY_PUSH_BACK(), the PP_ARRAY_INSERT/REMOVEs/POPs, the PP_SEQ_FOLDs, PP_ENUM, PP_WHILE, PP_REPEAT, ... Thanks a lot. Lorenzo