RE: [boost] Re: Re: Using MPL on MSVC7

2003-01-04 Thread Aleksey Gurtovoy
Jaap Suter wrote: Nifty! You're using one of my favorite metaprogramming tricks, the default template parameter which allows you to avoid creating a separate implementation template. I almost forgot about that one, it's been so long since I've been able to use it. Funny you mention

Re: [boost] Re: Re: Using MPL on MSVC7

2003-01-03 Thread David Abrahams
Aleksey Gurtovoy [EMAIL PROTECTED] writes: David Abrahams wrote: Second thing: you can save yourself lots of typenames by taking advantage of the way MPL lets you pass an uninstantiated metafunction, without getting its nested ::type member, wherever a bool_c... is expected: Uhm, that's

Re: [boost] Re: Re: Using MPL on MSVC7

2003-01-02 Thread Peter Dimov
From: Aleksey Gurtovoy [EMAIL PROTECTED] In short, my motivation for using 'typename's here is that I perceive the 'class' keyword as rather high-weight, semantically loaded, and prefer to use it in its only original context - that is, for declaring/defining a user-defined type that is more

Re: [boost] Re: Re: Using MPL on MSVC7

2003-01-01 Thread Paul Mensonides
- Original Message - From: David Abrahams [EMAIL PROTECTED] Paul Mensonides [EMAIL PROTECTED] writes: - Original Message - From: David Abrahams [EMAIL PROTECTED] Yeah. I have no problem with access protection where it prevents unintentional misuse and improves

[boost] Re: Re: Using MPL on MSVC7

2003-01-01 Thread Jaap Suter
Perhaps it is a good idea to add those missing operators to the MPL? It is! They are not there only because you are the pioneer, here. The followers will be very grateful :) See other message. It's not that frightening, but I understand :). I'll try to do something about documenting the

[boost] Re: Re: Using MPL on MSVC7

2002-12-31 Thread Jaap Suter
Nifty! You're using one of my favorite metaprogramming tricks, the default template parameter which allows you to avoid creating a separate implementation template. I almost forgot about that one, it's been so long since I've been able to use it. Funny you mention that. I've been meaning to

Re: [boost] Re: Re: Using MPL on MSVC7

2002-12-31 Thread David Abrahams
Jaap Suter [EMAIL PROTECTED] writes: Nifty! You're using one of my favorite metaprogramming tricks, the default template parameter which allows you to avoid creating a separate implementation template. I almost forgot about that one, it's been so long since I've been able to use it. Funny

Re: [boost] Re: Re: Using MPL on MSVC7

2002-12-31 Thread Paul Mensonides
- Original Message - From: David Abrahams [EMAIL PROTECTED] Jaap Suter [EMAIL PROTECTED] writes: Nifty! You're using one of my favorite metaprogramming tricks, the default template parameter which allows you to avoid creating a separate implementation template. I almost forgot

Re: [boost] Re: Re: Using MPL on MSVC7

2002-12-31 Thread David Abrahams
Paul Mensonides [EMAIL PROTECTED] writes: - Original Message - From: David Abrahams [EMAIL PROTECTED] Jaap Suter [EMAIL PROTECTED] writes: Nifty! You're using one of my favorite metaprogramming tricks, the default template parameter which allows you to avoid creating a

RE: [boost] Re: Re: Using MPL on MSVC7

2002-12-31 Thread Aleksey Gurtovoy
David Abrahams wrote: Lastly, I know that Aleksey will argue with me about this, Yep, I will :). but I have a strong preference for class rather than typename in template parameter lists. Aside from the fact that it's longer, typename is visually confusable because it can mean other

Re: [boost] Re: Re: Using MPL on MSVC7

2002-12-31 Thread Paul Mensonides
- Original Message - From: David Abrahams [EMAIL PROTECTED] That doesn't do anything to reduce the confusability of the 'typename' keyword for me, especially not in Jaap's example: template typename T , typename T::X N class foo; No

Re: [boost] Re: Re: Using MPL on MSVC7

2002-12-31 Thread Paul Mensonides
- Original Message - From: David Abrahams [EMAIL PROTECTED] Yeah. I have no problem with access protection where it prevents unintentional misuse and improves overall code clarity. However, this seems like it doesn't fit that bill. Oh, it does IMHO. Once it is defined it can be