Boost logo

Boost :

Subject: Re: [boost] Disable_if_type / is_pair
From: Olaf van der Spek (ml_at_[hidden])
Date: 2011-10-11 14:48:11


On Tue, Oct 11, 2011 at 8:40 PM, Stewart, Robert <Robert.Stewart_at_[hidden]> wrote:
>> template <class T, class U>
>> typename T::value_type::second_type* find_ptr(T& c, U v);
>>
>> template <class T, class U>
>> typename iterator_traits<typename T::iterator>::pointer
>> find_ptr(T& c, U v);
>>
>> What is the recommended way to disable the second overload? I
>> didn't find a is_pair type_trait or disable_if_type.
>
> pair doesn't have a nested type "iterator", so SFINAE would disable the second.

T would be for example map or vector.
If it's vector, the first overload is disabled.
But if it's map, both overloads are available and the second one needs
to be disabled 'manually'.

Olaf


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk