Boost logo

Boost Users :

Subject: Re: [Boost-users] puzzle with enable_if
From: John Dlugosz (JDlugosz_at_[hidden])
Date: 2010-04-19 18:13:45


> The difference is whether the template parameter substitution causes an
> invalid template argument or an invalid resulting function type. Let's
> consider the three cases one by one.
>

Hmm, I still think that the template expansion of cases 1 and 2 would "choke" in the same way. But the difference, I think, must be one of indirection: Case 1, the template instantiation of enable_if fails while directly seeing if it forms a usable return type. In Case 2, it fails as a nested invocation, a type needed by the (possible) instantiation of the return type of the function.

As for the difference between 2 and 3, "once the class is known, do individual members including nested types make sense"? seems to be more arbitrary, like the compiler takes some things but not others. I don't see how that difference is explained in the standard.

Thanks for your detailed analysis.

--John




(watch out for that footer!)

TradeStation Group, Inc. is a publicly-traded holding company (NASDAQ GS: TRAD) of three operating subsidiaries, TradeStation Securities, Inc. (Member NYSE, FINRA, SIPC and NFA), TradeStation Technologies, Inc., a trading software and subscription company, and TradeStation Europe Limited, a United Kingdom, FSA-authorized introducing brokerage firm. None of these companies provides trading or investment advice, recommendations or endorsements of any kind. The information transmitted is intended only for the person or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender and delete the material from any computer.


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net