Boost C++ Libraries: Ticket #3161: assignment operator could not be generated (string_algo) VC9 https://svn.boost.org/trac10/ticket/3161 <p> I get the following warnings in boost/algorithm/string when using boost::to_upper_copy in VC9 Service Pack 2 </p> <p> 1&gt;Q:\include\boost\1.39.0\boost/iterator/transform_iterator.hpp(142) : warning C4512: 'boost::transform_iterator&lt;<a class="missing wiki">UnaryFunc</a>,Iterator,Reference,Value&gt;' : assignment operator could not be generated 1&gt; with 1&gt; [ 1&gt; <a class="missing wiki">UnaryFunc</a>=boost::algorithm::detail::to_upperF&lt;char&gt;, 1&gt; Iterator=std::_String_const_iterator&lt;char,std::char_traits&lt;char&gt;,std::allocator&lt;char&gt;&gt;, 1&gt; Reference=boost::use_default, 1&gt; Value=boost::use_default 1&gt; ] 1&gt; Q:\include\boost\1.39.0\boost/algorithm/string/detail/case_conv.hpp(110) : see reference to class template instantiation 'boost::transform_iterator&lt;<a class="missing wiki">UnaryFunc</a>,Iterator,Reference,Value&gt;' being compiled 1&gt; with 1&gt; [ 1&gt; <a class="missing wiki">UnaryFunc</a>=boost::algorithm::detail::to_upperF&lt;char&gt;, 1&gt; Iterator=std::_String_const_iterator&lt;char,std::char_traits&lt;char&gt;,std::allocator&lt;char&gt;&gt;, 1&gt; Reference=boost::use_default, 1&gt; Value=boost::use_default 1&gt; ] 1&gt; Q:\include\boost\1.39.0\boost/algorithm/string/case_conv.hpp(144) : see reference to function template instantiation 'SequenceT boost::algorithm::detail::transform_range_copy&lt;SequenceT,SequenceT,boost::algorithm::detail::to_upperF&lt;CharT&gt;&gt;(const RangeT &amp;,FunctorT)' being compiled 1&gt; with 1&gt; [ 1&gt; SequenceT=std::string, 1&gt; CharT=char, 1&gt; RangeT=std::string, 1&gt; FunctorT=boost::algorithm::detail::to_upperF&lt;char&gt; 1&gt; ] 1&gt; .\file.cpp(42) : see reference to function template instantiation 'SequenceT boost::algorithm::to_upper_copy&lt;std::string&gt;(const SequenceT &amp;,const std::locale &amp;)' being compiled 1&gt; with 1&gt; [ 1&gt; SequenceT=std::string 1&gt; ] </p> <p> This happens under 1.39, it seems similar problems were addressed in the same source files in a previous release using BOOST_WORKAROUND, but not applied to the rest of the classes in the files. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/3161 Trac 1.4.3 Steven Watanabe Wed, 10 Jun 2009 04:05:01 GMT <link>https://svn.boost.org/trac10/ticket/3161#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/3161#comment:1</guid> <description> <p> At first glance, this looks serious, since iterators are supposed to be assignable. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Pavol Droba</dc:creator> <pubDate>Wed, 10 Jun 2009 05:59:27 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/3161#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/3161#comment:2</guid> <description> <p> it's really just a warning. the problem is caused by a reference member inside the class. The assignment operator is not used nor required. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Steven Watanabe</dc:creator> <pubDate>Wed, 09 Jun 2010 23:23:57 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/3161#comment:3 https://svn.boost.org/trac10/ticket/3161#comment:3 <ul> <li><strong>status</strong> <span class="trac-field-old">new</span> → <span class="trac-field-new">closed</span> </li> <li><strong>resolution</strong> → <span class="trac-field-new">fixed</span> </li> </ul> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/62697" title="Make to_upperF and to_lowerF assignable. Fixes #3161.">[62697]</a>) Make to_upperF and to_lowerF assignable. Fixes <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/3161" title="#3161: Bugs: assignment operator could not be generated (string_algo) VC9 (closed: fixed)">#3161</a>. </p> Ticket