Boost C++ Libraries: Ticket #5375: is_container itself should be MPL boolean instead of type typedef. https://svn.boost.org/trac10/ticket/5375 <p> Expression Semantics in <a href="http://www.boost.org/doc/libs/1_46_1/libs/spirit/doc/html/spirit/advanced/customize/is_container.html">http://www.boost.org/doc/libs/1_46_1/libs/spirit/doc/html/spirit/advanced/customize/is_container.html</a> says that is_container&lt;C&gt;::type is MPL Boolean Constant. </p> <p> However, at least, inside boost/spirit/home/qi/detail/pass_container.hpp and boost/spirit/home/karma/detail/pass_container.hpp, is_container&lt;C&gt; itself is used as MPL Boolean Constant, like traits::is_container&lt;RHSAttribute&gt;::value. </p> <p> NOTE: Version field does not have 1.46.1, so I set it to 1.46.0. </p> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/5375 Trac 1.4.3 Joel de Guzman Sun, 27 Mar 2011 00:13:49 GMT owner changed https://svn.boost.org/trac10/ticket/5375#comment:1 https://svn.boost.org/trac10/ticket/5375#comment:1 <ul> <li><strong>owner</strong> changed from <span class="trac-author">Joel de Guzman</span> to <span class="trac-author">Hartmut Kaiser</span> </li> </ul> Ticket Hartmut Kaiser Sun, 27 Mar 2011 01:56:07 GMT <link>https://svn.boost.org/trac10/ticket/5375#comment:2 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/5375#comment:2</guid> <description> <p> Sorry I do not understand your problem. <code>boost::spirit::traits::is_container&lt;&gt;</code> is derived from <code>mpl::bool_&lt;&gt;</code> (see $BOOST_ROOT/boost/spirit/home/support/contain.hpp). What's wrong with that? </p> </description> <category>Ticket</category> </item> <item> <dc:creator>anonymous</dc:creator> <pubDate>Sun, 27 Mar 2011 02:51:00 GMT</pubDate> <title/> <link>https://svn.boost.org/trac10/ticket/5375#comment:3 </link> <guid isPermaLink="false">https://svn.boost.org/trac10/ticket/5375#comment:3</guid> <description> <p> Replying to <a class="ticket" href="https://svn.boost.org/trac10/ticket/5375#comment:2" title="Comment 2">hkaiser</a>: </p> <blockquote class="citation"> <p> Sorry I do not understand your problem. <code>boost::spirit::traits::is_container&lt;&gt;</code> is derived from <code>mpl::bool_&lt;&gt;</code> (see $BOOST_ROOT/boost/spirit/home/support/contain.hpp). What's wrong with that? </p> </blockquote> <p> Sorry for unclarity. Implementation has no problem. The problem point is documentation. is_container is provided for customization point. A reader who wants to provide is_container can misunderstand providing <code>type' is enough, according to the current documentation because "Expression Semantics" only mentions </code>type'. </p> </description> <category>Ticket</category> </item> <item> <dc:creator>Hartmut Kaiser</dc:creator> <pubDate>Sun, 27 Mar 2011 15:03:00 GMT</pubDate> <title>status changed; resolution set https://svn.boost.org/trac10/ticket/5375#comment:4 https://svn.boost.org/trac10/ticket/5375#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">worksforme</span> </li> </ul> <p> Replying to <a class="ticket" href="https://svn.boost.org/trac10/ticket/5375#comment:3" title="Comment 3">anonymous</a>: </p> <blockquote class="citation"> <p> Replying to <a class="ticket" href="https://svn.boost.org/trac10/ticket/5375#comment:2" title="Comment 2">hkaiser</a>: </p> <blockquote class="citation"> <p> Sorry I do not understand your problem. <code>boost::spirit::traits::is_container&lt;&gt;</code> is derived from <code>mpl::bool_&lt;&gt;</code> (see $BOOST_ROOT/boost/spirit/home/support/contain.hpp). What's wrong with that? </p> </blockquote> <p> Sorry for unclarity. Implementation has no problem. The problem point is documentation. is_container is provided for customization point. A reader who wants to provide is_container can misunderstand providing <code>type' is enough, according to the current documentation because "Expression Semantics" only mentions </code>type'. </p> </blockquote> <p> The documentation clearly states that <code>is_container&lt;C&gt;::type</code> has to evaluate to an MPL boolean constant (see expression semantics here: <a href="http://www.boost.org/doc/libs/1_46_1/libs/spirit/doc/html/spirit/advanced/customize/is_container.html#spirit.advanced.customize.is_container.expression_semantics">http://www.boost.org/doc/libs/1_46_1/libs/spirit/doc/html/spirit/advanced/customize/is_container.html#spirit.advanced.customize.is_container.expression_semantics</a>). </p> Ticket