
On Tue, Feb 22, 2011 at 10:41 AM, Christopher Jefferson <chris@bubblescope.net> wrote:
On 22 Feb 2011, at 13:28, Felipe Magno de Almeida wrote:
[snip]
Isn't the standard library allowed to add template parameters with defaults?
template <typename T, typename Allocator, typename _InternalParameter = int> struct vector;
No.
It seems Robert Steward agrees wit this.
The fine details of the standard aren't really important here anyway. In practice there are compilers where we have been able to write well-defined forward declarations for many years and people have found them useful. On other standard libraries, like libc++, forward declarations are hard to write and not advised.
Therefore we should support forward declarations where we can, and just include the standard headers where we can't.
It might be useful, but it is undefined behavior. I would hope boost would depend as little as possible on undefined behavior.
Chris
Regards, -- Felipe Magno de Almeida