Boost logo

Boost Users :

Subject: Re: [Boost-users] msvc2010, _Rechecked and function_output_iterator
From: Paul Harris (harris.pc_at_[hidden])
Date: 2012-06-13 13:19:50


On 14 June 2012 01:09, Paul Harris <harris.pc_at_[hidden]> wrote:
> Hi all,
>
> I am trying to compile some code in Release mode in MSVC 2010,
> see below error message,
>
> I am looking for a workaround or solution, and so far all I can find
> is something to do with boost::multi_array
> https://svn.boost.org/trac/boost/ticket/4874
>
> but the solution and patch seems to be targeted at only multi_array.
>
>
> Has anyone else tackled this before?
>
> thanks,
> Paul
>
>
>
> 34>c:\Program Files (x86)\Microsoft Visual Studio
> 10.0\VC\include\xutility(275): error C2582: 'operator =' function is
> unavailable in 'boost::function_output_iterator<UnaryFunction>'
> 34>          with
> 34>          [
> 34>              UnaryFunction=utils::output_counter
> 34>          ]
> 34>          c:\Program Files (x86)\Microsoft Visual Studio
> 10.0\VC\include\xutility(2176) : see reference to function template
> instantiation '_Iter &std::_Rechecked<_OutIt,_OutIt>(_Iter &,_UIter)'
> being compiled
> 34>          with
> 34>          [
> 34>              _Iter=boost::function_output_iterator<utils::output_counter>,
> 34>              _OutIt=boost::function_output_iterator<utils::output_counter>,
> 34>              _UIter=boost::function_output_iterator<utils::output_counter>
> 34>          ]
> 34>          c:\Program Files (x86)\Microsoft Visual Studio
> 10.0\VC\include\algorithm(4681) : see reference to function template
> instantiation '_OutIt std::copy<_InIt1,_OutIt>(_InIt,_InIt,_OutIt)'
> being compiled
> 34>          with
> 34>          [
> 34>              _OutIt=boost::function_output_iterator<utils::output_counter>,
> 34>              _InIt1=int *,
> 34>              _InIt=int *
> 34>          ]

I figured it out, utils::output_counter was not assignable,
so the compiler could not generate the operator= method for
function_output_iterator<output_counter>

Making output_counter copyable solved the problem.

thanks, I always seem to figure things out about 5 minutes after
posting to a list, even after 1 hour of struggling first.

cheers
Paul


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net