Boost C++ Libraries: Ticket #7250: rational.hpp imports header iostream even if stream operators are not needed https://svn.boost.org/trac10/ticket/7250 <p> Many Boost libraries have header variants with and without iostream support: </p> <pre class="wiki">#include "boost/date_time/posix_time/posix_time.hpp" //include all types plus i/o </pre><p> or </p> <pre class="wiki">#include "boost/date_time/posix_time/posix_time_types.hpp" //no i/o just types </pre><p> Likewise, there exists a macro BOOST_NO_IOSTREAM, which should prevent &lt;iostream&gt; from being included, see ticket <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/4060" title="#4060: Patches: boost::thread support for BOOST_NO_IOSTREAM (closed: fixed)">#4060</a>. </p> <p> Neither approaches are available in boost::rational&lt;&gt; but either could be put to good use. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/7250 Trac 1.4.3 Daryle Walker Wed, 28 Aug 2013 04:36:24 GMT <link>https://svn.boost.org/trac10/ticket/7250#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/7250#comment:1</guid> <description> <p> Looking at Config's documentation, it seems that <code>BOOST_NO_IOSTREAM</code> is descriptive, not proscriptive. It is meant to flag when an implementation doesn't have IOStreams installed (like free-standing environments), not disable IOStreams even when the compiler supports it. </p> <p> Rational's implementation is just one header file, so separating I/O will make things more complex, as opposed to libraries that are already a bunch of headers and so one more won't make too much of a difference. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Daryle Walker</dc:creator> <pubDate>Wed, 28 Aug 2013 07:12:49 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/7250#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/7250#comment:2</guid> <description> <p> (In <a class="changeset" href="https://svn.boost.org/trac10/changeset/85498" title="Make the I/O part of Boost.Rational conditional on the configuration ...">[85498]</a>) Make the I/O part of Boost.Rational conditional on the configuration flag BOOST_NO_IOSTREAM (refs <a class="new ticket" href="https://svn.boost.org/trac10/ticket/7250" title="#7250: Feature Requests: rational.hpp imports header iostream even if stream operators are not ... (new)">#7250</a>). </p> </description> <category>Ticket</category> </item> </channel> </rss>