>>>>> "Angus" == Angus Leeming <[EMAIL PROTECTED]> writes:

Angus> On Wednesday 10 September 2003 10:17 am, Jean-Marc Lasgouttes
Angus> wrote:
>> The difference is whether one has to include std_string.h and
>> boost/scoped_ptr.hpp. I'd be surprised if this was negligible
>> (especially the second one).

Angus> There are no #includes in EnumWrapper.h. I don't understand
Angus> your point.

It was the point that separating the enums in their own header was
pointless.

BTW, what are you going to do in Painter.h? The wrapper is not enough,
yet the enums would be enough...

>> I understand that you see things on terms of dependencies. I am
>> more interested in compile times and disk space. I am not sure that
>> the template solution is necessarily better in this respect...

Angus> Compile times. C'mon! This template is truly trivial. Moreover,
Angus> if it were really a problem then we could use Lars' MACRO
Angus> generation idea. Which is horrible by the way ;-)

OK.

>> Also, I thought it was not possible to forward-declare a template
>> instantiation.

Angus> You aren't. Class EnumLColor is not a template. It derives from
Angus> a template instantiation. That's the trick. (And it works. See
Angus> the forward declaration of function 'compare' in the sample
Angus> code.)

So this mean that if std::string derived from basic_string instead of
being a typedef, it would be forward-declarable?? Why isn't this done?

JMarc

Reply via email to