stdcxx-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Martin Sebor <>
Subject Re: type_traits progress
Date Tue, 27 May 2008 20:21:16 GMT
One comment on the design of the tests: template instantiation
is very expensive both in terms of compiler cycles and in terms
of disk space taken up by the generated object code. We need to
avoid instantiating more than the bare minimum of code. So for
example, in tests/utilities/,
test_integral_constant() would ideally be an ordinary function
with the expected and tested values being passed in by the macro.
Also, if there's a way to avoid using function templates (such
as test_is_same_type) and use class templates instead it should
save us some cycles (especially with optimization) and disk

As an aside, tests don't need to use the _STD macro. The test
config header testdefs.h does the necessary magic to let us use
the name std directly even when _RWSTD_NO_NAMESPACE is #defined.


Travis Vitek wrote:
> I've posted what I've got for the current type_traits implementation to
> STDCXX-916. I would have just mailed the file to the list directly, but
> it is pretty big.
> The tests do compile and run on VC8. There are still a few failures. I'm
> in the process of porting this to linux/gcc4.3 and I'm expecting the
> results to be a bit better there because all of the necessary compiler
> support is available.
> Please review the code and provide feedback. It would be most helpful if
> any comments are pasted along with the block of code in question.
> Also, please don't focus on formatting to much. I know that I have a few
> lines that run over 76 characters wide and that I've left out some
> spaces after commas and before open parens. I'll deal with that stuff on
> my own.
> Note that some of the tests have type names that end in underscores.
> I'll be changing these to end in _t. It makes things more readable.
> Travis

View raw message