Boost C++ Libraries: Ticket #13270: BOOST_CLASS_EXPORT(some_template<>) fails to load pointers https://svn.boost.org/trac10/ticket/13270 <p> After upgrading from 1.56.0 to 1.65.1 loading pointers with xml_warchive to a template with default template arguments no longer works. </p> <pre class="wiki"> BOOST_EXPORT_CLASS(some_template&lt;&gt;) ptr *some_base_class; ar &amp; make_nvp("ptr", ptr); </pre><p> Saving works okay, loading fails =&gt; the type cannot be found. The problem seems to be related to the &lt;&gt; characters in the default template argument of the BOOST_CLASS_EXPORT. Debugging the serialization code I see that the serialization internal key[] now reads <code>some_template&amp;lt&lt;&gt;</code>. Note the "&amp;lt" and the "&lt;" character. I haven't checked 1.56.0, but my guess is that it was probably <code>some_template&amp;lt&amp;gt</code>. </p> <p> At any rate, having <code>&amp;lt&lt;</code> is definitely wrong, as &amp;lt is, of course, escaped &lt;. </p> <p> Changing BOOST_CLASS_EXPORT to BOOST_CLASS_EXPORT_GUID and specifying the correct key seems to work okay. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/13270 Trac 1.4.3 anonymous Mon, 23 Oct 2017 09:32:06 GMT <link>https://svn.boost.org/trac10/ticket/13270#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/13270#comment:1</guid> <description> <p> This is under Windows 7, Visual Studio 2013, x64 Compilation. </p> </description> <category>Ticket</category> </item> </channel> </rss>