
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@dlr.de> 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