TR1 and standard headers

Matt Austern austern@apple.com
Mon Oct 11 17:06:00 GMT 2004


On Oct 11, 2004, at 8:32 AM, Benjamin Kosnik wrote:

>
>> I don't remember a decision.
>
> I don't either.
>
>>> | I think we've got two sensible choices: edit the standard headers 
>>> and
>>> | control the extensions with a macro, or put shadow headers in
>>> | include/tr1.
>>>
>>> Given that TR1 is experimental by its very nature, I would think that
>>> editing standard headers directly would be inappropriate.
>>
>> I was assuming I'd just add tr1/memory and not edit the std header, so
>> users must include <tr1/memory> to get std+TR1.
>
> Yep. That sounds best to me too.
>
> Shall we just go with this approach?

I think so.  In that case, I suggest the following policy: A TR1 header 
should never directly include a standard header <foo>.  Instead, if it 
needs to get standard header functionality, it should include <tr1/foo> 
and should create a shadow header that includes the standard header 
<foo>.  That should help guard against inconsistencies.

			--Matt



More information about the Libstdc++ mailing list