Boost C++ Libraries: Ticket #6430: Optimized code for `boost::iterator_range<std::string::iterator>` https://svn.boost.org/trac10/ticket/6430 <p> Currently, <code>lexical_cast</code> has optimized code for <code>std::string</code> but not for <code>boost::iterator_range&lt;std::string::iterator&gt;</code>. It would be nice to have optimized code for <code>boost::iterator_range&lt;std::string::iterator&gt;</code> too. </p> <p> Here is a related thread: <a class="ext-link" href="http://thread.gmane.org/gmane.comp.lib.boost.devel/225900"><span class="icon">​</span>[lexical_cast] Fast conversion from boost::iterator_range&lt;std::string::iterator&gt;?</a> </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/6430 Trac 1.4.3 John Maddock Sun, 29 Jan 2012 17:58:50 GMT owner changed https://svn.boost.org/trac10/ticket/6430#comment:1 https://svn.boost.org/trac10/ticket/6430#comment:1 <ul> <li><strong>owner</strong> changed from <span class="trac-author">nasonov</span> to <span class="trac-author">Antony Polukhin</span> </li> </ul> Ticket Antony Polukhin Wed, 18 Apr 2012 04:09:52 GMT <link>https://svn.boost.org/trac10/ticket/6430#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/6430#comment:2</guid> <description> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/78059" title="Merge lexical_cast library from trunk: * multiple optimizations and ...">[78059]</a>) Merge lexical_cast library from trunk: </p> <ul><li>multiple optimizations and bugfixes for boost::iterator_range (refs <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/6786" title="#6786: Feature Requests: Deduce stream character type for user-defined classes (closed: fixed)">#6786</a>, refs <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/6430" title="#6430: Feature Requests: Optimized code for `boost::iterator_range&lt;std::string::iterator&gt;` (closed: wontfix)">#6430</a>, refs <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/6663" title="#6663: Feature Requests: Avoiding input copying (closed: fixed)">#6663</a>) </li><li>documentation update </li><li>new Unicode characters support updated </li><li>much more tests, removed incorrect tests </li></ul> </description> <category>Ticket</category> </item> <item> <dc:creator>Antony Polukhin</dc:creator> <pubDate>Tue, 28 Aug 2012 20:31:19 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/6430#comment:3 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/6430#comment:3</guid> <description> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/80291" title="Added lexical_cast(const CharType* chars, std::size_t count) function ...">[80291]</a>) Added lexical_cast(const <a class="missing wiki">CharType</a>* chars, std::size_t count) function overload (refs <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/6430" title="#6430: Feature Requests: Optimized code for `boost::iterator_range&lt;std::string::iterator&gt;` (closed: wontfix)">#6430</a> and refs <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/6663" title="#6663: Feature Requests: Avoiding input copying (closed: fixed)">#6663</a>) Fixed GCC warning in numeric_cast_test.cpp </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Antony Polukhin</dc:creator> <pubDate>Wed, 05 Sep 2012 18:23:43 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/6430#comment:4 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/6430#comment:4</guid> <description> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/80409" title="Merge from trunk: 1) #warning replaced with #error (refs #7228) 2) ...">[80409]</a>) Merge from trunk: 1) #warning replaced with #error (refs <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/7228" title="#7228: Bugs: Bugs: #warning in lexical_cast.hpp causes MSVC compile error (closed: fixed)">#7228</a>) 2) Pavel Korzh added to thanks list (refs <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/7157" title="#7157: Bugs: [lexical_cast] convert volatile int to string cause Run-Time Check ... (closed: fixed)">#7157</a>) 3) BOOST_NOEXCEPT modifiers added where possible 4) better support for c++11 Unicode characters 5) fixed compilation with MSVC+STLPort 6) more agressive usage of Traits template parameter 7) Added lexical_cast(const <a class="missing wiki">CharType</a>* chars, std::size_t count) function overload (refs <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/6430" title="#6430: Feature Requests: Optimized code for `boost::iterator_range&lt;std::string::iterator&gt;` (closed: wontfix)">#6430</a> and refs <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/6663" title="#6663: Feature Requests: Avoiding input copying (closed: fixed)">#6663</a>) 8) Fixed GCC warning in numeric_cast_test.cpp 9) Fix compilation of lexical cast with MSVC 2003 (refs <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/7255" title="#7255: Bugs: lexical_cast is broken on MSVC .NET 2003 (closed: fixed)">#7255</a>) </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Antony Polukhin</dc:creator> <pubDate>Sun, 09 Sep 2018 20:07:10 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/6430#comment:5 https://svn.boost.org/trac10/ticket/6430#comment:5 <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">wontfix</span> </li> </ul> <p> Sorry, no good way to solve this issue - adding specializations for different classes is not a scalable idea, so we have to stop at some point... </p> <p> On modern compilers the most time consuming operation within <a class="missing wiki">LexicalCast</a> is the std::locale construction. It should be optimized first, rather than adding the specializations for different classes. </p> Ticket