Boost logo

Boost :

Subject: Re: [boost] [iterator] Using zip_iterator with std::pair
From: Claas H. Köhler (claas.koehler_at_[hidden])
Date: 2012-10-16 07:21:46


On 16/10/12 12:01, Giovanni Piero Deretta wrote:
> On Tue, Oct 16, 2012 at 9:06 AM, "Claas H. Köhler" <claas.koehler_at_[hidden]> wrote:
>> Hi!
>>
>> I would like to use the boost::zip_iterator with std::pair. Unfortunately this does not work out of
>> the box, but there exists a namespace boost::detail::tuple_impl_specific, which apparently needs to
>> be specialised for each tuple type.
>>
>> I managed to re-implement tuple_meta_transform and tuple_meta_accumulate for std::tuple, which seems
>> to be straightforward. However, there are functions of the form
>>
>> template<typename Tuple, typename Fun>
>> complex_result_type tuple_transform(const Tuple&, Fun)
>>
>> which have to be overloaded as well, if I am not mistaken. However, overloading this with something like
>> template<typename... Args, typename Fun>
>> complex_result_type tuple_transform(const std::tuple<Args...>&, Fun)
>>
>> is probably not going to work, since this would be a partial template specialisation of a function.
>
> That's an overload actually and should work fine. Did you try it?
>
> HTH,

Thanks for the hint. I have to admit I did not try it yet. I have just created a similar simple test
case, which indeed compiles/works fine. Shame on me for not trying it out. For me this was always a
classical example of template function specialisation. I guess I should take a look at template
basics again :-)

Sorry for that and thanks for the quick response.

Regards
Claas


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