Subject: Re: [boost] [Compute] Conflict between boost::compute::zip_iterator and boost::iterators::zip_iterator
From: Steven Watanabe (watanabesj_at_[hidden])
Date: 2018-07-18 17:09:56


AMDG

On 07/17/2018 10:04 PM, Madison via Boost wrote:
> I'd like to use boost::compute and boost::range together, like below, but if I uncomment the '#include <boost/range/combine.hpp>' line I get an error saying that boost::compute::zip_iterator and boost::iterators::zip_iterator are ambiguous. Is there a way around this, so that I can use boost::compute and boost::range together in the same cpp file? I am using on Windows vs2015 64bit. Boost 1.67.0.
>
> Code:
>
> //#include <boost/range/combine.hpp>
> #include <boost/compute/algorithm/transform.hpp>
>
> <snip>
> Error, truncated for brevity. I can post the full error log if it is helpful:
>
> 1>------ Build started: Project: demo, Configuration: Debug x64 ------ 1> demo.cpp 1> This header is implementation detail and provided for backwards compatibility. 1>C:\local\boost_1_67_0\boost/compute/algorithm/transform.hpp(67): error C2668: 'boost::compute::make_zip_iterator': ambiguous call to overloaded function <snip>
>

The call to make_zip_iterator in boost/compute/algorithm/transform.hpp
needs to be qualified to prevent ADL from kicking in.

In Christ,
Steven Watanabe