Re: [Boost-bugs] [Boost C++ Libraries] #5375: is_container itself should be MPL boolean instead of type typedef.

Subject: Re: [Boost-bugs] [Boost C++ Libraries] #5375: is_container itself should be MPL boolean instead of type typedef.
From: Boost C++ Libraries (noreply_at_[hidden])
Date: 2011-03-27 15:03:00


#5375: is_container itself should be MPL boolean instead of type typedef.
----------------------------------------------------+-----------------------
  Reporter: Yasutaka ATARASHI <atara-y@…> | Owner: hkaiser
      Type: Bugs | Status: closed
 Milestone: To Be Determined | Component: spirit
   Version: Boost 1.46.0 | Severity: Problem
Resolution: worksforme | Keywords:
----------------------------------------------------+-----------------------
Changes (by hkaiser):

  * status: new => closed
  * resolution: => worksforme

Comment:

 Replying to [comment:3 anonymous]:
> Replying to [comment:2 hkaiser]:
> > Sorry I do not understand your problem.
 `boost::spirit::traits::is_container<>` is derived from `mpl::bool_<>`
 (see $BOOST_ROOT/boost/spirit/home/support/contain.hpp). What's wrong with
 that?
>
> 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 `type' is enough,
 according to the current documentation because "Expression Semantics" only
 mentions `type'.

 The documentation clearly states that `is_container<C>::type` has to
 evaluate to an MPL boolean constant (see expression semantics here:
 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).

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/5375#comment:4>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.

This archive was generated by hypermail 2.1.7 : 2017-02-16 18:50:06 UTC