Boost C++ Libraries: Ticket #12698: base64 iterators can't be used with iterator_advance https://svn.boost.org/trac10/ticket/12698 <pre class="wiki">#include &lt;boost/container/string.hpp&gt; #include &lt;boost/archive/iterators/binary_from_base64.hpp&gt; int main() { using String = boost::container::string; using Iterator = boost::archive::iterators::binary_from_base64&lt;String::iterator&gt;; String s; s.assign(Iterator{s.begin()},Iterator{s.end()}); } </pre><p> This code causes a <a class="ext-link" href="http://pastebin.com/raw/BSnShK1H"><span class="icon">​</span>compilation error</a> because all overloads of iterator_advance in boost/intrusive/detail/iterator.hpp are disabled. </p> <p> I tried changing the 54th line in boost/intrusive/detail/iterator.hpp from </p> <pre class="wiki"> &lt; ::boost::move_detail::is_same </pre><p> to </p> <pre class="wiki"> &lt; ::boost::move_detail::is_convertible </pre><p> because the <a href="http://www.boost.org/doc/libs/1_62_0/libs/iterator/doc/transform_iterator.html#transform-iterator-synopsis">transform_iterator synopsis</a> mentions that it should be convertible, and it worked. </p> <p> However, I'm not sure about the correctness of this solution, nor if the problem really lies in the serialization component and not elsewhere. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/12698 Trac 1.4.3 Robert Ramey Wed, 03 May 2017 22:25:40 GMT owner changed https://svn.boost.org/trac10/ticket/12698#comment:1 https://svn.boost.org/trac10/ticket/12698#comment:1 <ul> <li><strong>owner</strong> changed from <span class="trac-author">Robert Ramey</span> to <span class="trac-author">Ion Gaztañaga</span> </li> </ul> <p> forwarding this to the maintainer of boost::intrusive </p> <p> Robert Ramey </p> Ticket Ion Gaztañaga Thu, 08 Jun 2017 12:05:37 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/12698#comment:2 https://svn.boost.org/trac10/ticket/12698#comment:2 <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> Thanks for the report. Commit: </p> <p> <a class="ext-link" href="https://github.com/boostorg/intrusive/commit/db14782f0f7aa72b502b6296f0543ac0457d497e"><span class="icon">​</span>https://github.com/boostorg/intrusive/commit/db14782f0f7aa72b502b6296f0543ac0457d497e</a> </p> <p> fixes this problem. </p> Ticket