Boost C++ Libraries: Ticket #12328: Clarify which Boost Config headers should not be included directly https://svn.boost.org/trac10/ticket/12328 <p> In <a class="closed ticket" href="https://svn.boost.org/trac10/ticket/12142#comment:1" title="#12142: Bugs: Including optional/optional_fwd.hpp then type_traits.hpp (closed: fixed)">ticket:12142#comment:1</a>, johnmaddock says: </p> <blockquote class="citation"> <p> No way should optional be including an internal Config header directly - that's just not supported. </p> </blockquote> <p> So which headers are considered part of Boost Config's public interface? Just <code>boost/config.hpp</code>? At present, many other <code>boost/config/</code> headers are included by other Boost libraries : </p> <pre class="wiki">&lt;boost/config/abi_prefix.hpp&gt; : archive, chrono, filesystem, iostreams, log, serialization, system, thread, timer, archive, chrono, filesystem, iostreams, log, serialization, system, thread, timer &lt;boost/config/auto_link.hpp&gt; : archive, atomic, chrono, container, context, coroutine, coroutine2, date_time, endian, filesystem, iostreams, locale, log, math, mpi, program_options, python, random, regex, serialization, signals, system, test, thread, timer, type_erasure, wave &lt;boost/config/no_tr1/cmath.hpp&gt; : accumulators, date_time, functional, gil, graph, interprocess, math, numeric, pending, random, spirit, test, tr1, units &lt;boost/config/no_tr1/complex.hpp&gt; : math &lt;boost/config/no_tr1/functional.hpp&gt; : function, smart_ptr &lt;boost/config/no_tr1/memory.hpp&gt; : get_pointer smart_ptr &lt;boost/config/no_tr1/utility.hpp&gt; : fusion, tr1 &lt;boost/config/requires_threads.hpp&gt; : thread &lt;boost/config/suffix.hpp&gt; : optional &lt;boost/config/warning_disable.hpp&gt; : icl, system, timer </pre><p> If Boost Config has internal implementation headers, which users shouldn't directly include, please can they be put into a separate <code>detail</code> sub-directory to make this clear? </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/12328 Trac 1.4.3 John Maddock Sun, 16 Apr 2017 18:14:03 GMT status changed; resolution set https://svn.boost.org/trac10/ticket/12328#comment:1 https://svn.boost.org/trac10/ticket/12328#comment:1 <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> Done. </p> Ticket Tony Lewis <TonyELewis@…> Thu, 20 Apr 2017 15:09:49 GMT <link>https://svn.boost.org/trac10/ticket/12328#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/12328#comment:2</guid> <description> <p> Great. Thanks very much. </p> <p> Is this going to cause a lot of breakage for other Boost libraries that have been including Boost Config headers that they shouldn't have been? If so, are you able to notify them to give them a heads-up? On the developers' mailing list? </p> <p> Again: thanks very much. </p> </description> <category>Ticket</category> </item> <item> <author>Tony Lewis <TonyELewis@…></author> <pubDate>Thu, 20 Apr 2017 15:15:21 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/12328#comment:3 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/12328#comment:3</guid> <description> <p> For records, I presume that the relevant commit is <a class="ext-link" href="https://github.com/boostorg/config/commit/3fbf51f31a891a604363bcaec98984d40b38a4eb"><span class="icon">​</span>3fbf51f</a>. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>anonymous</dc:creator> <pubDate>Thu, 20 Apr 2017 16:50:32 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/12328#comment:4 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/12328#comment:4</guid> <description> <p> I don't believe there should be any issue here - I did a quick grep through develop for the moved headers and couldn't find any current uses. </p> </description> <category>Ticket</category> </item> </channel> </rss>