Boost logo

Boost Users :

Subject: Re: [Boost-users] enable-if overloading out the wazoo
From: John Dlugosz (JDlugosz_at_[hidden])
Date: 2010-04-26 19:31:10




> -----Original Message-----
> From: boost-users-bounces_at_[hidden] [mailto:boost-users-
> bounces_at_[hidden]] On Behalf Of vicente.botet
> Sent: Monday, April 26, 2010 1:26 AM
> To: boost-users_at_[hidden]
> Subject: Re: [Boost-users] enable-if overloading out the wazoo
>
> ----- Original Message -----
> From: "John Dlugosz" <JDlugosz_at_[hidden]>
> To: <boost-users_at_[hidden]>
> Sent: Friday, April 23, 2010 10:31 PM
> Subject: [Boost-users] enable-if overloading out the wazoo
>
>
> >
> > I tried something like this: First, the general form in one header
> known by everything:
> >
> > template <typename T1, typename T2>
> > dim_s foo (const T1& left, const T2& right);
> >
> > Then, in a header that gets more concrete, provide its own form that
> is meant to be used when objects of those types are involved:
> >
> > template<typename T1, typename T2>
> > typename enable_if_c<
> > is_base_of<genericbase,T1>::value &&
> > is_base_of<genericbase,T2>::value,
> > dim_s>::type foo (const T1& left, const T2& right);
> >
>
> What about overloading with the genericbase class?
>
> dim_s foo (const genericbase& left, const genericbase& right);
>
> Am I missing something?
>
> Best,
> Vicente


The plain overloaded function will be a worse match than the first template form I showed, which is always an exact match for all types. It won't get used.

--John






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