$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
Subject: Re: [boost] Support for BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION
From: Stephen Kelly (steveire_at_[hidden])
Date: 2013-10-10 07:12:03
On 10/10/2013 12:57 PM, Joaquin M Lopez Munoz wrote:
> Stephen Kelly <steveire <at> gmail.com> writes:
>
>> On 10/10/2013 07:48 AM, Joaquin M Lopez Munoz wrote:
>>> Stephen Kelly <steveire <at> gmail.com> writes:
>>>
>>>> On 10/09/2013 12:39 AM, Joaquin M Lopez Munoz wrote:
>>>>> I understand there's been some discussion about dropping support for
>>>>> compliers with BOOST_NO_TEMPLATE_PARTIAL_SPECIALIZATION defined. Has some
>>>>> final decision been made about this?
>>>> What is the question behind the question?
>>> Once the decision is taken, I can get rid of some workarounds in the Boost
>>> libs I maintain.
>> Indeed. I already have patches ready to push which remove the use of the
>> macro throughout boost.
> In my case, it's not so much about removing #ifdefs as about
> eliminating workarounds like this:
>
> Instead of
>
> template<typename T> foo<T,type1>{...};
> template<typename T> foo<T,type2>{...};
>
> I'm forced to write
>
> template<typename T> foo_type1{...};
> template<typename T> foo_type2{...};
>
> template<typename T,typename Q>
> struct foo:
> mpl::if_<
> is_same<Q,type1>>,
> foo_type1<T>,
> foo_type2<T>
> >
> {};
>
> These workarounds cannot be eliminated by simple grepping/deleting.
Great example. This is exactly the kind of stuff I hoped could be
removed by bumping compiler requirements. I've seen other similar stuff too.
Thanks,
Steve.