Boost C++ Libraries: Ticket #5197: Forward declarations from std:: not allowed in libc++ https://svn.boost.org/trac10/ticket/5197 <p> interprocess uses the forward declarations from std:: </p> <p> template &lt;class T&gt; class allocator; </p> <p> template &lt;class T&gt; struct less; </p> <p> template &lt;class T1, class T2&gt; struct pair; </p> <p> template &lt;class <a class="missing wiki">CharType</a>&gt; struct char_traits; </p> <p> libc++ does not support these. There are various possible fixes. These forward declarations could just be replaced by the headers: </p> <p> #include &lt;utility&gt; #include &lt;memory&gt; #include &lt;functional&gt; #include &lt;iosfwd&gt; </p> <p> or we could introduce a macro ( BOOST_ALLOWS_FWD_STD_DECLARATIONS ), or create a detail header for forward declarations. </p> <p> I am happy to implement any of these, I am interested what the developers of interprocess think. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/5197 Trac 1.4.3 Chris Jefferson Mon, 07 Mar 2011 11:21:29 GMT attachment set https://svn.boost.org/trac10/ticket/5197 https://svn.boost.org/trac10/ticket/5197 <ul> <li><strong>attachment</strong> → <span class="trac-field-new">interprocess.patch</span> </li> </ul> <p> Simple patch to get libc++ working </p> Ticket Chris Jefferson Mon, 07 Mar 2011 11:22:43 GMT <link>https://svn.boost.org/trac10/ticket/5197#comment:1 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/5197#comment:1</guid> <description> <p> The problem of forwarding headers seems to be causing lots of discussion and not a lot of conclusion. </p> <p> This simple attached patch disables the forwarding for libc++, the only standard library at present that seems to have trouble with them. I would appreciate it if it could be committed. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Chris Jefferson</dc:creator> <pubDate>Tue, 29 Mar 2011 16:21:09 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/5197#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/5197#comment:2</guid> <description> <p> ping. </p> <p> Would it be possible to get just a libc++ fix submitted for the next version of boost? I would like to have a more complete fix, but I'm unsure of how to do that in a way that isn't going to require huge amounts of code (as interprocess picks classes out of various headers) and will be agreed on by everyone. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Ion Gaztañaga</dc:creator> <pubDate>Wed, 30 Mar 2011 09:54:38 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/5197#comment:3 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/5197#comment:3</guid> <description> <p> Patch applied to trunk. After a few cycles, it will be merged to release branch </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Ion Gaztañaga</dc:creator> <pubDate>Fri, 01 Apr 2011 17:19:41 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/5197#comment:4 https://svn.boost.org/trac10/ticket/5197#comment:4 <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> Fixed for Boost 1.47 </p> Ticket