Martin, I suggest to move the common to all range overlodas for different methods code to the 21.strings.h I think we may have RangeBase class with begin methods and virtual operator (). Here are the changes to the tests which use this approach: http://people.apache.org/~antonp/stdcxx06072006/
The rest of the code in classes which exrcise range methods look similar too. So it is possible to join them and use the func_id to determine which of the string methods should be called. What do you think about this? Thanks, Anton Pevtsov -----Original Message----- From: Martin Sebor [mailto:[EMAIL PROTECTED] Sent: Wednesday, June 07, 2006 05:52 To: [email protected] Subject: Re: svn commit: r412249 - in /incubator/stdcxx/trunk/tests: include/21.strings.h src/21.strings.cpp [EMAIL PROTECTED] wrote: > Author: sebor > Date: Tue Jun 6 18:45:17 2006 > New Revision: 412249 Anton, as heads up, I believe this change will have the effect of running all the tests that exercise the range member templates in a loop iterating over all the IteratorIds hardwired into the driver. We'll need to implement the same kind of dispatch as I did in 21.string.replace.cpp to prevent it. I have run out of time today but I'll do it tomorrow unless you beat me to it. As usual, comments, suggestions, etc. are welcome :) Martin > > URL: http://svn.apache.org/viewvc?rev=412249&view=rev > Log: > 2006-06-06 Martin Sebor <[EMAIL PROTECTED]> > > * 21.strings.h (IteratorId): New member type of StringIds. > (StringFunc): Added a new data member. > * 21.strings.cpp (_rw_iter_names): New. > (_rw_opt_char_types, ...): Sized based on the corresponding > _rw_xxx_names arrays. > (_rw_sigcat): Used _rw_iter_names in function signatures and > command line option names. > (_rw_argno): Renamed from _rw_uses_alloc and generalized. > (_rw_setvars): Simplified the setting of environment variables > by using the %{paramater!:word} extended directive. > (_rw_run_cases): New helper. > (_rw_run_test): Iterated over all IteratorId's and called > _rw_run_cases. > (_rw_add_toggles): New helper. > (_rw_run_test): Called _rw_add_toggles, installed option > handlers for iterator specializations of member templates. > > Modified: > incubator/stdcxx/trunk/tests/include/21.strings.h > incubator/stdcxx/trunk/tests/src/21.strings.cpp
